@applica-software-guru/persona-sdk 0.1.91 → 0.1.92

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.
@@ -1,28 +1,28 @@
1
- (function(k,vt){typeof exports=="object"&&typeof module<"u"?vt(exports,require("react/jsx-runtime"),require("react"),require("@assistant-ui/react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@assistant-ui/react"],vt):(k=typeof globalThis<"u"?globalThis:k||self,vt(k.personaSDK={},k.React,k.React,k.AssistantUI))})(this,function(k,vt,G,Ee){"use strict";var s_=Object.defineProperty;var o_=(k,vt,G)=>vt in k?s_(k,vt,{enumerable:!0,configurable:!0,writable:!0,value:G}):k[vt]=G;var W=(k,vt,G)=>o_(k,typeof vt!="symbol"?vt+"":vt,G);let Uo=0;function Bo(){return`msg_${Date.now()}_${Uo++}`}function Mo(d){return d.thought&&(d={...d,type:"reasoning"}),d.id?d.createdAt?d:{...d,createdAt:new Date}:{...d,id:Bo(),createdAt:d.createdAt||new Date}}function $o(d){return d.filter(f=>f.finishReason==="stop"?f.text!==null&&f.text.trim()!=="":!0)}function $n(d){const f=[];let i=null;for(let _ of d)if(_=Mo(_),_.type!=="transaction")if(_.file){i&&(f.push(i),i=null),f.push(_);continue}else _.functionCalls?(i&&f.push(i),f.push(_),i=null):_.functionResponse?f[f.length-1]={...f[f.length-1],functionResponse:_.functionResponse}:i&&_.type===i.type&&_.protocol===i.protocol&&i.role===_.role&&(_.id===i.id||!i.finishReason)?(i.text+=_.text,i.file=i.file||_.file,i.finishReason=_.finishReason||i.finishReason,i.id=i.id||_.id,i.sources=i.sources?[...i.sources||[],..._.sources||[]]:_.sources):(i&&f.push(i),i={..._,text:_.file?"":_.text,finishReason:_.file?void 0:_.finishReason});return i&&f.push(i),$o(f)}function Ko(d){var _,v,x;const f=d.file?[{type:"file",data:d.file.url,mimeType:d.file.contentType}]:[];let i;if((d.role==="assistant"||d.role==="function")&&(d.status?i=d.status:d.finishReason==="stop"?i={type:"complete",reason:"stop"}:d.finishReason==="function_call"?i={type:"complete",reason:"stop"}:d.finishReason||(i=void 0)),d.role==="function"){const T={id:d.id,role:"assistant",createdAt:d.createdAt,content:((_=d.functionCalls)==null?void 0:_.map(b=>{var B;return{type:"tool-call",toolName:b.name,toolCallId:b.id||`tool_${Date.now()}`,args:b.args,result:(B=d.functionResponse)==null?void 0:B.result}}))??[],metadata:{...d.metadata,custom:{protocol:d.protocol,sessionId:d.sessionId,sources:d.sources,...(v=d.metadata)==null?void 0:v.custom}}};return i?{...T,status:i}:T}const p={id:d.id,role:d.role,createdAt:d.createdAt,content:d.type==="reasoning"?[{type:"reasoning",text:d.text},...f]:[{type:"text",text:d.text},...f],metadata:{...d.metadata,custom:{protocol:d.protocol,sessionId:d.sessionId,sources:d.sources,type:d.type,...(x=d.metadata)==null?void 0:x.custom}}};return d.role==="assistant"&&i?{...p,status:i}:p}class ue{constructor(){W(this,"statusChangeCallbacks",[]);W(this,"messageCallbacks",[])}addStatusChangeListener(f){this.statusChangeCallbacks.push(f)}addPacketListener(f){this.messageCallbacks.push(f)}async syncSession(f){this.session=f}async notifyPacket(f){this.messageCallbacks.forEach(i=>i(f))}async notifyPackets(f){f.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(f){this.session=f}async setStatus(f){const i=this.status!==f;this.status=f,i&&this.statusChangeCallbacks.forEach(p=>p(f))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}setAgentContext(f){return this.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:f}})}onTransaction(f){}}class Ir extends ue{constructor(i){super();W(this,"status");W(this,"autostart");W(this,"session");W(this,"config");W(this,"notify",!0);W(this,"context",{});W(this,"tools",[]);this.config=i,this.status="disconnected",this.autostart=!0}getName(){return"rest"}getPriority(){return 100}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){var b,B,C,H,R;const{apiUrl:p,apiKey:_,agentId:v}=this.config,x=this.session??"new";if(i.type==="command"&&((b=i==null?void 0:i.payload)==null?void 0:b.command)=="set_initial_context"){this.context=(B=i==null?void 0:i.payload)==null?void 0:B.arguments;return}else if(i.type==="command"&&((C=i==null?void 0:i.payload)==null?void 0:C.command)=="set_local_tools"){const Z=(H=i==null?void 0:i.payload)==null?void 0:H.arguments.tools;(Z==null?void 0:Z.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const T=i.payload;try{const Y=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:T,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(Y.response.messages.map($=>({type:"message",payload:$})))}catch(Z){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(R=this.config.logger)==null||R.error("Error sending packet:",Z)}}}class Pr extends ue{constructor(i){super();W(this,"status");W(this,"autostart");W(this,"session");W(this,"config");W(this,"webSocket");this.config=i,this.status="disconnected",this.autostart=!0,this.session=null,this.webSocket=null}getName(){return"websocket"}getPriority(){return 500}async syncSession(i){var p;(p=this.config.logger)==null||p.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var b;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(b=this.config.logger)==null||b.debug("Connecting to WebSocket with sessionId:",p);const _=encodeURIComponent(this.config.apiKey),v=this.config.agentId,x=this.config.userId||"anonymous",T=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(T),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",B=>{const C=JSON.parse(B.data);this.notifyPacket(C)}),this.webSocket.addEventListener("close",B=>{var C;this.setStatus("disconnected"),this.webSocket=null,B.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(C=this.config.logger)==null||C.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var B;this.setStatus("disconnected"),this.webSocket=null,(B=this.config.logger)==null||B.error("WebSocket connection error")}),Promise.resolve(p)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(1e3,"Normal closure"),this.setStatus("disconnected"),this.webSocket=null),Promise.resolve()}sendPacket(i){return this.webSocket&&this.status==="connected"?(this.webSocket.send(JSON.stringify(i)),Promise.resolve()):Promise.reject(new Error("WebSocket is not connected"))}}class qo{constructor(f){W(this,"config");W(this,"pc",null);W(this,"ws",null);W(this,"localStream",null);W(this,"remoteStream",new MediaStream);W(this,"audioCtx",null);W(this,"localAnalyser",null);W(this,"remoteAnalyser",null);W(this,"analyzerFrame",null);W(this,"dataChannel",null);W(this,"isConnected",!1);W(this,"visualizerCallbacks",[]);W(this,"messageCallbacks",[]);W(this,"errorCallbacks",[]);W(this,"queuedMessages",[]);this.config=f}async connect(f){var p;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(_){(p=this.config.logger)==null||p.error("Error accessing microphone:",_);return}this.pc=new RTCPeerConnection({iceServers:this.config.iceServers||[{urls:"stun:34.38.108.251:3478"},{urls:"turn:34.38.108.251:3478",username:"webrtc",credential:"webrtc"}]}),this.localStream.getTracks().forEach(_=>{this.pc.addTrack(_,this.localStream)}),this.pc.ontrack=_=>{_.streams[0].getTracks().forEach(x=>{this.remoteStream.addTrack(x)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(x=>{var T;(T=this.config.logger)==null||T.error("Error playing remote audio:",x)})},this.pc.onicecandidate=_=>{var v;_.candidate&&((v=this.ws)==null?void 0:v.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:_.candidate}}))},this.pc.ondatachannel=_=>{const v=_.channel;v.onmessage=x=>{this.messageCallbacks.forEach(T=>{T(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const T=this.queuedMessages.shift();T&&(v.send(JSON.stringify(T)),(x=this.config.logger)==null||x.info("Sent queued message:",T))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var T,b;const _=await this.pc.createOffer();await this.pc.setLocalDescription(_);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:f};(T=this.config.logger)==null||T.debug("Opening connection to WebRTC server: ",v);const x={type:"OFFER",src:((b=crypto.randomUUID)==null?void 0:b.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:_.sdp,type:_.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(x))},this.ws.onmessage=async _=>{var x;const v=JSON.parse(_.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(T){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",T)}},this.ws.onclose=_=>{_.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var f;this.isConnected&&(this.isConnected=!1,((f=this.ws)==null?void 0:f.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(f){this.visualizerCallbacks.push(f)}addMessageCallback(f){this.messageCallbacks.push(f)}addErrorCallback(f){this.errorCallbacks.push(f)}createDataChannel(f="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(f),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const _=this.queuedMessages.shift();_&&(this.dataChannel.send(JSON.stringify(_)),(p=this.config.logger)==null||p.info("Sent queued message:",_))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(f){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(f);return}this.dataChannel.send(JSON.stringify(f)),(i=this.config.logger)==null||i.info("Sent message:",f)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const f=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,f.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const _=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(_),this.remoteAnalyser.getByteFrequencyData(v);const x=_.reduce((b,B)=>b+B,0)/_.length,T=v.reduce((b,B)=>b+B,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(b=>{b({localAmplitude:x,remoteAmplitude:T})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Rr extends ue{constructor(i){super();W(this,"status");W(this,"session");W(this,"autostart");W(this,"config");W(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new qo(i),this.webRTCClient.addMessageCallback(p=>{const _=JSON.parse(p.data);this.notifyPacket(_)}),this.webRTCClient.addErrorCallback(p=>{var _;(_=this.config.logger)==null||_.error("WebRTC error:",p),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:p}})})}getName(){return"webrtc"}getPriority(){return 1e3}async syncSession(i){super.syncSession(i),this.status==="connected"&&(await this.disconnect(),await this.connect(i))}async connect(i){var p;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(p=this.config.logger)==null||p.debug("Connecting to WebRTC with sessionId:",this.session),await this.webRTCClient.connect(this.session),this.setStatus("connected"),await this.webRTCClient.createDataChannel(),this.session)}async disconnect(){var i,p,_;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(_=(p=this.config)==null?void 0:p.logger)==null||_.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var se=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ko(d){return d&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d}var Te={exports:{}};/**
1
+ (function(k,vt){typeof exports=="object"&&typeof module<"u"?vt(exports,require("react/jsx-runtime"),require("react"),require("@assistant-ui/react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@assistant-ui/react"],vt):(k=typeof globalThis<"u"?globalThis:k||self,vt(k.personaSDK={},k.React,k.React,k.AssistantUI))})(this,function(k,vt,J,Ee){"use strict";var s_=Object.defineProperty;var o_=(k,vt,J)=>vt in k?s_(k,vt,{enumerable:!0,configurable:!0,writable:!0,value:J}):k[vt]=J;var W=(k,vt,J)=>o_(k,typeof vt!="symbol"?vt+"":vt,J);let Uo=0;function Bo(){return`msg_${Date.now()}_${Uo++}`}function Mo(d){return d.thought&&(d={...d,type:"reasoning"}),d.id?d.createdAt?d:{...d,createdAt:new Date}:{...d,id:Bo(),createdAt:d.createdAt||new Date}}function $o(d){return d.filter(f=>f.finishReason==="stop"?f.text!==null&&f.text.trim()!=="":!0)}function Rn(d){const f=[];let i=null;for(let _ of d)if(_=Mo(_),_.type!=="transaction")if(_.file){i&&(f.push(i),i=null),f.push(_);continue}else _.functionCalls?(i&&f.push(i),f.push(_),i=null):_.functionResponse?f[f.length-1]={...f[f.length-1],functionResponse:_.functionResponse}:i&&_.type===i.type&&_.protocol===i.protocol&&i.role===_.role&&(_.id===i.id||!i.finishReason)?(i.text+=_.text,i.file=i.file||_.file,i.finishReason=_.finishReason||i.finishReason,i.id=i.id||_.id,i.sources=i.sources?[...i.sources||[],..._.sources||[]]:_.sources):(i&&f.push(i),i={..._,text:_.file?"":_.text,finishReason:_.file?void 0:_.finishReason});return i&&f.push(i),$o(f)}function Ko(d){var _,v,x;const f=d.file?[{type:"file",data:d.file.url,mimeType:d.file.contentType}]:[];let i;if((d.role==="assistant"||d.role==="function")&&(d.status?i=d.status:d.finishReason==="stop"?i={type:"complete",reason:"stop"}:d.finishReason==="function_call"?i={type:"complete",reason:"stop"}:d.finishReason||(i=void 0)),d.role==="function"){const E={id:d.id,role:"assistant",createdAt:d.createdAt,content:((_=d.functionCalls)==null?void 0:_.map(b=>{var B;return{type:"tool-call",toolName:b.name,toolCallId:b.id||`tool_${Date.now()}`,args:b.args,result:(B=d.functionResponse)==null?void 0:B.result}}))??[],metadata:{...d.metadata,custom:{protocol:d.protocol,sessionId:d.sessionId,sources:d.sources,...(v=d.metadata)==null?void 0:v.custom}}};return i?{...E,status:i}:E}const p={id:d.id,role:d.role,createdAt:d.createdAt,content:d.type==="reasoning"?[{type:"reasoning",text:d.text},...f]:[{type:"text",text:d.text},...f],metadata:{...d.metadata,custom:{protocol:d.protocol,sessionId:d.sessionId,sources:d.sources,type:d.type,...(x=d.metadata)==null?void 0:x.custom}}};return d.role==="assistant"&&i?{...p,status:i}:p}class ue{constructor(){W(this,"statusChangeCallbacks",[]);W(this,"messageCallbacks",[])}addStatusChangeListener(f){this.statusChangeCallbacks.push(f)}addPacketListener(f){this.messageCallbacks.push(f)}async syncSession(f){this.session=f}async notifyPacket(f){this.messageCallbacks.forEach(i=>i(f))}async notifyPackets(f){f.forEach(i=>{this.messageCallbacks.forEach(p=>p(i))})}async setSession(f){this.session=f}async setStatus(f){const i=this.status!==f;this.status=f,i&&this.statusChangeCallbacks.forEach(p=>p(f))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}setAgentContext(f){return this.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:f}})}onTransaction(f){}}class Ir extends ue{constructor(i){super();W(this,"status");W(this,"autostart");W(this,"session");W(this,"config");W(this,"notify",!0);W(this,"context",{});W(this,"tools",[]);this.config=i,this.status="disconnected",this.autostart=!0}getName(){return"rest"}getPriority(){return 100}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){var b,B,C,H,R;const{apiUrl:p,apiKey:_,agentId:v}=this.config,x=this.session??"new";if(i.type==="command"&&((b=i==null?void 0:i.payload)==null?void 0:b.command)=="set_initial_context"){this.context=(B=i==null?void 0:i.payload)==null?void 0:B.arguments;return}else if(i.type==="command"&&((C=i==null?void 0:i.payload)==null?void 0:C.command)=="set_local_tools"){const Y=(H=i==null?void 0:i.payload)==null?void 0:H.arguments.tools;(Y==null?void 0:Y.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const E=i.payload;try{const X=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:E,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(X.response.messages.map($=>({type:"message",payload:$})))}catch(Y){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(R=this.config.logger)==null||R.error("Error sending packet:",Y)}}}class Pr extends ue{constructor(i){super();W(this,"status");W(this,"autostart");W(this,"session");W(this,"config");W(this,"webSocket");this.config=i,this.status="disconnected",this.autostart=!0,this.session=null,this.webSocket=null}getName(){return"websocket"}getPriority(){return 500}async syncSession(i){var p;(p=this.config.logger)==null||p.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var b;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(b=this.config.logger)==null||b.debug("Connecting to WebSocket with sessionId:",p);const _=encodeURIComponent(this.config.apiKey),v=this.config.agentId,x=this.config.userId||"anonymous",E=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(E),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",B=>{const C=JSON.parse(B.data);this.notifyPacket(C)}),this.webSocket.addEventListener("close",B=>{var C;this.setStatus("disconnected"),this.webSocket=null,B.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(C=this.config.logger)==null||C.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var B;this.setStatus("disconnected"),this.webSocket=null,(B=this.config.logger)==null||B.error("WebSocket connection error")}),Promise.resolve(p)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(1e3,"Normal closure"),this.setStatus("disconnected"),this.webSocket=null),Promise.resolve()}sendPacket(i){return this.webSocket&&this.status==="connected"?(this.webSocket.send(JSON.stringify(i)),Promise.resolve()):Promise.reject(new Error("WebSocket is not connected"))}}class qo{constructor(f){W(this,"config");W(this,"pc",null);W(this,"ws",null);W(this,"localStream",null);W(this,"remoteStream",new MediaStream);W(this,"audioCtx",null);W(this,"localAnalyser",null);W(this,"remoteAnalyser",null);W(this,"analyzerFrame",null);W(this,"dataChannel",null);W(this,"isConnected",!1);W(this,"visualizerCallbacks",[]);W(this,"messageCallbacks",[]);W(this,"errorCallbacks",[]);W(this,"queuedMessages",[]);this.config=f}async connect(f){var p;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(_){(p=this.config.logger)==null||p.error("Error accessing microphone:",_);return}this.pc=new RTCPeerConnection({iceServers:this.config.iceServers||[{urls:"stun:34.38.108.251:3478"},{urls:"turn:34.38.108.251:3478",username:"webrtc",credential:"webrtc"}]}),this.localStream.getTracks().forEach(_=>{this.pc.addTrack(_,this.localStream)}),this.pc.ontrack=_=>{_.streams[0].getTracks().forEach(x=>{this.remoteStream.addTrack(x)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(x=>{var E;(E=this.config.logger)==null||E.error("Error playing remote audio:",x)})},this.pc.onicecandidate=_=>{var v;_.candidate&&((v=this.ws)==null?void 0:v.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:_.candidate}}))},this.pc.ondatachannel=_=>{const v=_.channel;v.onmessage=x=>{this.messageCallbacks.forEach(E=>{E(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const E=this.queuedMessages.shift();E&&(v.send(JSON.stringify(E)),(x=this.config.logger)==null||x.info("Sent queued message:",E))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var E,b;const _=await this.pc.createOffer();await this.pc.setLocalDescription(_);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:f};(E=this.config.logger)==null||E.debug("Opening connection to WebRTC server: ",v);const x={type:"OFFER",src:((b=crypto.randomUUID)==null?void 0:b.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:_.sdp,type:_.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(x))},this.ws.onmessage=async _=>{var x;const v=JSON.parse(_.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(E){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",E)}},this.ws.onclose=_=>{_.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var f;this.isConnected&&(this.isConnected=!1,((f=this.ws)==null?void 0:f.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(f){this.visualizerCallbacks.push(f)}addMessageCallback(f){this.messageCallbacks.push(f)}addErrorCallback(f){this.errorCallbacks.push(f)}createDataChannel(f="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(f),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const _=this.queuedMessages.shift();_&&(this.dataChannel.send(JSON.stringify(_)),(p=this.config.logger)==null||p.info("Sent queued message:",_))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(f){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(f);return}this.dataChannel.send(JSON.stringify(f)),(i=this.config.logger)==null||i.info("Sent message:",f)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const f=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,f.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const _=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(_),this.remoteAnalyser.getByteFrequencyData(v);const x=_.reduce((b,B)=>b+B,0)/_.length,E=v.reduce((b,B)=>b+B,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(b=>{b({localAmplitude:x,remoteAmplitude:E})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Rr extends ue{constructor(i){super();W(this,"status");W(this,"session");W(this,"autostart");W(this,"config");W(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new qo(i),this.webRTCClient.addMessageCallback(p=>{const _=JSON.parse(p.data);this.notifyPacket(_)}),this.webRTCClient.addErrorCallback(p=>{var _;(_=this.config.logger)==null||_.error("WebRTC error:",p),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:p}})})}getName(){return"webrtc"}getPriority(){return 1e3}async syncSession(i){super.syncSession(i),this.status==="connected"&&(await this.disconnect(),await this.connect(i))}async connect(i){var p;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(p=this.config.logger)==null||p.debug("Connecting to WebRTC with sessionId:",this.session),await this.webRTCClient.connect(this.session),this.setStatus("connected"),await this.webRTCClient.createDataChannel(),this.session)}async disconnect(){var i,p,_;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(_=(p=this.config)==null?void 0:p.logger)==null||_.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var se=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ko(d){return d&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d}var Te={exports:{}};/**
2
2
  * @license
3
3
  * Lodash <https://lodash.com/>
4
4
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
5
  * Released under MIT license <https://lodash.com/license>
6
6
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
7
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
- */Te.exports,function(d,f){(function(){var i,p="4.17.21",_=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",T="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",B=500,C="__lodash_placeholder__",H=1,R=2,Z=4,Y=1,$=2,wt=1,Rt=2,tn=4,ot=8,En=16,Gt=32,vn=64,At=128,Nt=256,Kn=512,Oe=30,Et="...",We=800,qn=16,ae=1,ct=2,Er=3,sn=1/0,nn=9007199254740991,Tr=17976931348623157e292,kn=NaN,Ut=4294967295,De=Ut-1,Lr=Ut>>>1,V=[["ary",At],["bind",wt],["bindKey",Rt],["curry",ot],["curryRight",En],["flip",Kn],["partial",Gt],["partialRight",vn],["rearg",Nt]],lt="[object Arguments]",Jt="[object Array]",Tn="[object AsyncFunction]",wn="[object Boolean]",yt="[object Date]",xa="[object DOMException]",Fe="[object Error]",Ne="[object Function]",uu="[object GeneratorFunction]",Zt="[object Map]",fe="[object Number]",Sa="[object Null]",on="[object Object]",su="[object Promise]",Aa="[object Proxy]",ce="[object RegExp]",Yt="[object Set]",le="[object String]",Ue="[object Symbol]",ba="[object Undefined]",he="[object WeakMap]",Ca="[object WeakSet]",de="[object ArrayBuffer]",Hn="[object DataView]",Or="[object Float32Array]",Wr="[object Float64Array]",Dr="[object Int8Array]",Fr="[object Int16Array]",Nr="[object Int32Array]",Ur="[object Uint8Array]",Br="[object Uint8ClampedArray]",Mr="[object Uint16Array]",$r="[object Uint32Array]",Ia=/\b__p \+= '';/g,Pa=/\b(__p \+=) '' \+/g,Ra=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ou=/&(?:amp|lt|gt|quot|#39);/g,au=/[&<>"']/g,Ea=RegExp(ou.source),Ta=RegExp(au.source),La=/<%-([\s\S]+?)%>/g,Oa=/<%([\s\S]+?)%>/g,fu=/<%=([\s\S]+?)%>/g,Wa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Da=/^\w*$/,Fa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Kr=/[\\^$.*+?()[\]{}|]/g,Na=RegExp(Kr.source),qr=/^\s+/,Ua=/\s/,Ba=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ma=/\{\n\/\* \[wrapped with (.+)\] \*/,$a=/,? & /,Ka=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,qa=/[()=,{}\[\]\/\s]/,ka=/\\(\\)?/g,Ha=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,cu=/\w*$/,za=/^[-+]0x[0-9a-f]+$/i,Ga=/^0b[01]+$/i,Ja=/^\[object .+?Constructor\]$/,Za=/^0o[0-7]+$/i,Ya=/^(?:0|[1-9]\d*)$/,Xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Be=/($^)/,Qa=/['\n\r\u2028\u2029\\]/g,Me="\\ud800-\\udfff",Va="\\u0300-\\u036f",ja="\\ufe20-\\ufe2f",tf="\\u20d0-\\u20ff",lu=Va+ja+tf,hu="\\u2700-\\u27bf",du="a-z\\xdf-\\xf6\\xf8-\\xff",nf="\\xac\\xb1\\xd7\\xf7",ef="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",rf="\\u2000-\\u206f",uf=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pu="A-Z\\xc0-\\xd6\\xd8-\\xde",gu="\\ufe0e\\ufe0f",_u=nf+ef+rf+uf,kr="['’]",sf="["+Me+"]",vu="["+_u+"]",$e="["+lu+"]",wu="\\d+",of="["+hu+"]",yu="["+du+"]",mu="[^"+Me+_u+wu+hu+du+pu+"]",Hr="\\ud83c[\\udffb-\\udfff]",af="(?:"+$e+"|"+Hr+")",xu="[^"+Me+"]",zr="(?:\\ud83c[\\udde6-\\uddff]){2}",Gr="[\\ud800-\\udbff][\\udc00-\\udfff]",zn="["+pu+"]",Su="\\u200d",Au="(?:"+yu+"|"+mu+")",ff="(?:"+zn+"|"+mu+")",bu="(?:"+kr+"(?:d|ll|m|re|s|t|ve))?",Cu="(?:"+kr+"(?:D|LL|M|RE|S|T|VE))?",Iu=af+"?",Pu="["+gu+"]?",cf="(?:"+Su+"(?:"+[xu,zr,Gr].join("|")+")"+Pu+Iu+")*",lf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",hf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ru=Pu+Iu+cf,df="(?:"+[of,zr,Gr].join("|")+")"+Ru,pf="(?:"+[xu+$e+"?",$e,zr,Gr,sf].join("|")+")",gf=RegExp(kr,"g"),_f=RegExp($e,"g"),Jr=RegExp(Hr+"(?="+Hr+")|"+pf+Ru,"g"),vf=RegExp([zn+"?"+yu+"+"+bu+"(?="+[vu,zn,"$"].join("|")+")",ff+"+"+Cu+"(?="+[vu,zn+Au,"$"].join("|")+")",zn+"?"+Au+"+"+bu,zn+"+"+Cu,hf,lf,wu,df].join("|"),"g"),wf=RegExp("["+Su+Me+lu+gu+"]"),yf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,mf=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],xf=-1,nt={};nt[Or]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Nr]=nt[Ur]=nt[Br]=nt[Mr]=nt[$r]=!0,nt[lt]=nt[Jt]=nt[de]=nt[wn]=nt[Hn]=nt[yt]=nt[Fe]=nt[Ne]=nt[Zt]=nt[fe]=nt[on]=nt[ce]=nt[Yt]=nt[le]=nt[he]=!1;var tt={};tt[lt]=tt[Jt]=tt[de]=tt[Hn]=tt[wn]=tt[yt]=tt[Or]=tt[Wr]=tt[Dr]=tt[Fr]=tt[Nr]=tt[Zt]=tt[fe]=tt[on]=tt[ce]=tt[Yt]=tt[le]=tt[Ue]=tt[Ur]=tt[Br]=tt[Mr]=tt[$r]=!0,tt[Fe]=tt[Ne]=tt[he]=!1;var Sf={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Af={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},bf={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Cf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},If=parseFloat,Pf=parseInt,Eu=typeof se=="object"&&se&&se.Object===Object&&se,Rf=typeof self=="object"&&self&&self.Object===Object&&self,dt=Eu||Rf||Function("return this")(),Zr=f&&!f.nodeType&&f,Ln=Zr&&!0&&d&&!d.nodeType&&d,Tu=Ln&&Ln.exports===Zr,Yr=Tu&&Eu.process,Bt=function(){try{var l=Ln&&Ln.require&&Ln.require("util").types;return l||Yr&&Yr.binding&&Yr.binding("util")}catch{}}(),Lu=Bt&&Bt.isArrayBuffer,Ou=Bt&&Bt.isDate,Wu=Bt&&Bt.isMap,Du=Bt&&Bt.isRegExp,Fu=Bt&&Bt.isSet,Nu=Bt&&Bt.isTypedArray;function Tt(l,w,g){switch(g.length){case 0:return l.call(w);case 1:return l.call(w,g[0]);case 2:return l.call(w,g[0],g[1]);case 3:return l.call(w,g[0],g[1],g[2])}return l.apply(w,g)}function Ef(l,w,g,I){for(var D=-1,J=l==null?0:l.length;++D<J;){var at=l[D];w(I,at,g(at),l)}return I}function Mt(l,w){for(var g=-1,I=l==null?0:l.length;++g<I&&w(l[g],g,l)!==!1;);return l}function Tf(l,w){for(var g=l==null?0:l.length;g--&&w(l[g],g,l)!==!1;);return l}function Uu(l,w){for(var g=-1,I=l==null?0:l.length;++g<I;)if(!w(l[g],g,l))return!1;return!0}function yn(l,w){for(var g=-1,I=l==null?0:l.length,D=0,J=[];++g<I;){var at=l[g];w(at,g,l)&&(J[D++]=at)}return J}function Ke(l,w){var g=l==null?0:l.length;return!!g&&Gn(l,w,0)>-1}function Xr(l,w,g){for(var I=-1,D=l==null?0:l.length;++I<D;)if(g(w,l[I]))return!0;return!1}function et(l,w){for(var g=-1,I=l==null?0:l.length,D=Array(I);++g<I;)D[g]=w(l[g],g,l);return D}function mn(l,w){for(var g=-1,I=w.length,D=l.length;++g<I;)l[D+g]=w[g];return l}function Qr(l,w,g,I){var D=-1,J=l==null?0:l.length;for(I&&J&&(g=l[++D]);++D<J;)g=w(g,l[D],D,l);return g}function Lf(l,w,g,I){var D=l==null?0:l.length;for(I&&D&&(g=l[--D]);D--;)g=w(g,l[D],D,l);return g}function Vr(l,w){for(var g=-1,I=l==null?0:l.length;++g<I;)if(w(l[g],g,l))return!0;return!1}var Of=jr("length");function Wf(l){return l.split("")}function Df(l){return l.match(Ka)||[]}function Bu(l,w,g){var I;return g(l,function(D,J,at){if(w(D,J,at))return I=J,!1}),I}function qe(l,w,g,I){for(var D=l.length,J=g+(I?1:-1);I?J--:++J<D;)if(w(l[J],J,l))return J;return-1}function Gn(l,w,g){return w===w?Gf(l,w,g):qe(l,Mu,g)}function Ff(l,w,g,I){for(var D=g-1,J=l.length;++D<J;)if(I(l[D],w))return D;return-1}function Mu(l){return l!==l}function $u(l,w){var g=l==null?0:l.length;return g?ni(l,w)/g:kn}function jr(l){return function(w){return w==null?i:w[l]}}function ti(l){return function(w){return l==null?i:l[w]}}function Ku(l,w,g,I,D){return D(l,function(J,at,j){g=I?(I=!1,J):w(g,J,at,j)}),g}function Nf(l,w){var g=l.length;for(l.sort(w);g--;)l[g]=l[g].value;return l}function ni(l,w){for(var g,I=-1,D=l.length;++I<D;){var J=w(l[I]);J!==i&&(g=g===i?J:g+J)}return g}function ei(l,w){for(var g=-1,I=Array(l);++g<l;)I[g]=w(g);return I}function Uf(l,w){return et(w,function(g){return[g,l[g]]})}function qu(l){return l&&l.slice(0,Gu(l)+1).replace(qr,"")}function Lt(l){return function(w){return l(w)}}function ri(l,w){return et(w,function(g){return l[g]})}function pe(l,w){return l.has(w)}function ku(l,w){for(var g=-1,I=l.length;++g<I&&Gn(w,l[g],0)>-1;);return g}function Hu(l,w){for(var g=l.length;g--&&Gn(w,l[g],0)>-1;);return g}function Bf(l,w){for(var g=l.length,I=0;g--;)l[g]===w&&++I;return I}var Mf=ti(Sf),$f=ti(Af);function Kf(l){return"\\"+Cf[l]}function qf(l,w){return l==null?i:l[w]}function Jn(l){return wf.test(l)}function kf(l){return yf.test(l)}function Hf(l){for(var w,g=[];!(w=l.next()).done;)g.push(w.value);return g}function ii(l){var w=-1,g=Array(l.size);return l.forEach(function(I,D){g[++w]=[D,I]}),g}function zu(l,w){return function(g){return l(w(g))}}function xn(l,w){for(var g=-1,I=l.length,D=0,J=[];++g<I;){var at=l[g];(at===w||at===C)&&(l[g]=C,J[D++]=g)}return J}function ke(l){var w=-1,g=Array(l.size);return l.forEach(function(I){g[++w]=I}),g}function zf(l){var w=-1,g=Array(l.size);return l.forEach(function(I){g[++w]=[I,I]}),g}function Gf(l,w,g){for(var I=g-1,D=l.length;++I<D;)if(l[I]===w)return I;return-1}function Jf(l,w,g){for(var I=g+1;I--;)if(l[I]===w)return I;return I}function Zn(l){return Jn(l)?Yf(l):Of(l)}function Xt(l){return Jn(l)?Xf(l):Wf(l)}function Gu(l){for(var w=l.length;w--&&Ua.test(l.charAt(w)););return w}var Zf=ti(bf);function Yf(l){for(var w=Jr.lastIndex=0;Jr.test(l);)++w;return w}function Xf(l){return l.match(Jr)||[]}function Qf(l){return l.match(vf)||[]}var Vf=function l(w){w=w==null?dt:Yn.defaults(dt.Object(),w,Yn.pick(dt,mf));var g=w.Array,I=w.Date,D=w.Error,J=w.Function,at=w.Math,j=w.Object,ui=w.RegExp,jf=w.String,$t=w.TypeError,He=g.prototype,tc=J.prototype,Xn=j.prototype,ze=w["__core-js_shared__"],Ge=tc.toString,Q=Xn.hasOwnProperty,nc=0,Ju=function(){var t=/[^.]+$/.exec(ze&&ze.keys&&ze.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Je=Xn.toString,ec=Ge.call(j),rc=dt._,ic=ui("^"+Ge.call(Q).replace(Kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ze=Tu?w.Buffer:i,Sn=w.Symbol,Ye=w.Uint8Array,Zu=Ze?Ze.allocUnsafe:i,Xe=zu(j.getPrototypeOf,j),Yu=j.create,Xu=Xn.propertyIsEnumerable,Qe=He.splice,Qu=Sn?Sn.isConcatSpreadable:i,ge=Sn?Sn.iterator:i,On=Sn?Sn.toStringTag:i,Ve=function(){try{var t=Un(j,"defineProperty");return t({},"",{}),t}catch{}}(),uc=w.clearTimeout!==dt.clearTimeout&&w.clearTimeout,sc=I&&I.now!==dt.Date.now&&I.now,oc=w.setTimeout!==dt.setTimeout&&w.setTimeout,je=at.ceil,tr=at.floor,si=j.getOwnPropertySymbols,ac=Ze?Ze.isBuffer:i,Vu=w.isFinite,fc=He.join,cc=zu(j.keys,j),ft=at.max,gt=at.min,lc=I.now,hc=w.parseInt,ju=at.random,dc=He.reverse,oi=Un(w,"DataView"),_e=Un(w,"Map"),ai=Un(w,"Promise"),Qn=Un(w,"Set"),ve=Un(w,"WeakMap"),we=Un(j,"create"),nr=ve&&new ve,Vn={},pc=Bn(oi),gc=Bn(_e),_c=Bn(ai),vc=Bn(Qn),wc=Bn(ve),er=Sn?Sn.prototype:i,ye=er?er.valueOf:i,ts=er?er.toString:i;function s(t){if(it(t)&&!F(t)&&!(t instanceof q)){if(t instanceof Kt)return t;if(Q.call(t,"__wrapped__"))return no(t)}return new Kt(t)}var jn=function(){function t(){}return function(n){if(!rt(n))return{};if(Yu)return Yu(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function rr(){}function Kt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}s.templateSettings={escape:La,evaluate:Oa,interpolate:fu,variable:"",imports:{_:s}},s.prototype=rr.prototype,s.prototype.constructor=s,Kt.prototype=jn(rr.prototype),Kt.prototype.constructor=Kt;function q(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ut,this.__views__=[]}function yc(){var t=new q(this.__wrapped__);return t.__actions__=bt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=bt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=bt(this.__views__),t}function mc(){if(this.__filtered__){var t=new q(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function xc(){var t=this.__wrapped__.value(),n=this.__dir__,e=F(t),r=n<0,u=e?t.length:0,o=Wl(0,u,this.__views__),a=o.start,c=o.end,h=c-a,y=r?c:a-1,m=this.__iteratees__,S=m.length,A=0,P=gt(h,this.__takeCount__);if(!e||!r&&u==h&&P==h)return bs(t,this.__actions__);var L=[];t:for(;h--&&A<P;){y+=n;for(var U=-1,O=t[y];++U<S;){var K=m[U],z=K.iteratee,Dt=K.type,St=z(O);if(Dt==ct)O=St;else if(!St){if(Dt==ae)continue t;break t}}L[A++]=O}return L}q.prototype=jn(rr.prototype),q.prototype.constructor=q;function Wn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Sc(){this.__data__=we?we(null):{},this.size=0}function Ac(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function bc(t){var n=this.__data__;if(we){var e=n[t];return e===b?i:e}return Q.call(n,t)?n[t]:i}function Cc(t){var n=this.__data__;return we?n[t]!==i:Q.call(n,t)}function Ic(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=we&&n===i?b:n,this}Wn.prototype.clear=Sc,Wn.prototype.delete=Ac,Wn.prototype.get=bc,Wn.prototype.has=Cc,Wn.prototype.set=Ic;function an(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Pc(){this.__data__=[],this.size=0}function Rc(t){var n=this.__data__,e=ir(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Qe.call(n,e,1),--this.size,!0}function Ec(t){var n=this.__data__,e=ir(n,t);return e<0?i:n[e][1]}function Tc(t){return ir(this.__data__,t)>-1}function Lc(t,n){var e=this.__data__,r=ir(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}an.prototype.clear=Pc,an.prototype.delete=Rc,an.prototype.get=Ec,an.prototype.has=Tc,an.prototype.set=Lc;function fn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Oc(){this.size=0,this.__data__={hash:new Wn,map:new(_e||an),string:new Wn}}function Wc(t){var n=_r(this,t).delete(t);return this.size-=n?1:0,n}function Dc(t){return _r(this,t).get(t)}function Fc(t){return _r(this,t).has(t)}function Nc(t,n){var e=_r(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}fn.prototype.clear=Oc,fn.prototype.delete=Wc,fn.prototype.get=Dc,fn.prototype.has=Fc,fn.prototype.set=Nc;function Dn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new fn;++n<e;)this.add(t[n])}function Uc(t){return this.__data__.set(t,b),this}function Bc(t){return this.__data__.has(t)}Dn.prototype.add=Dn.prototype.push=Uc,Dn.prototype.has=Bc;function Qt(t){var n=this.__data__=new an(t);this.size=n.size}function Mc(){this.__data__=new an,this.size=0}function $c(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function Kc(t){return this.__data__.get(t)}function qc(t){return this.__data__.has(t)}function kc(t,n){var e=this.__data__;if(e instanceof an){var r=e.__data__;if(!_e||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new fn(r)}return e.set(t,n),this.size=e.size,this}Qt.prototype.clear=Mc,Qt.prototype.delete=$c,Qt.prototype.get=Kc,Qt.prototype.has=qc,Qt.prototype.set=kc;function ns(t,n){var e=F(t),r=!e&&Mn(t),u=!e&&!r&&Pn(t),o=!e&&!r&&!u&&re(t),a=e||r||u||o,c=a?ei(t.length,jf):[],h=c.length;for(var y in t)(n||Q.call(t,y))&&!(a&&(y=="length"||u&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||dn(y,h)))&&c.push(y);return c}function es(t){var n=t.length;return n?t[yi(0,n-1)]:i}function Hc(t,n){return vr(bt(t),Fn(n,0,t.length))}function zc(t){return vr(bt(t))}function fi(t,n,e){(e!==i&&!Vt(t[n],e)||e===i&&!(n in t))&&cn(t,n,e)}function me(t,n,e){var r=t[n];(!(Q.call(t,n)&&Vt(r,e))||e===i&&!(n in t))&&cn(t,n,e)}function ir(t,n){for(var e=t.length;e--;)if(Vt(t[e][0],n))return e;return-1}function Gc(t,n,e,r){return An(t,function(u,o,a){n(r,u,e(u),a)}),r}function rs(t,n){return t&&rn(n,ht(n),t)}function Jc(t,n){return t&&rn(n,It(n),t)}function cn(t,n,e){n=="__proto__"&&Ve?Ve(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function ci(t,n){for(var e=-1,r=n.length,u=g(r),o=t==null;++e<r;)u[e]=o?i:Hi(t,n[e]);return u}function Fn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function qt(t,n,e,r,u,o){var a,c=n&H,h=n&R,y=n&Z;if(e&&(a=u?e(t,r,u,o):e(t)),a!==i)return a;if(!rt(t))return t;var m=F(t);if(m){if(a=Fl(t),!c)return bt(t,a)}else{var S=_t(t),A=S==Ne||S==uu;if(Pn(t))return Ps(t,c);if(S==on||S==lt||A&&!u){if(a=h||A?{}:Gs(t),!c)return h?bl(t,Jc(a,t)):Al(t,rs(a,t))}else{if(!tt[S])return u?t:{};a=Nl(t,S,c)}}o||(o=new Qt);var P=o.get(t);if(P)return P;o.set(t,a),So(t)?t.forEach(function(O){a.add(qt(O,n,e,O,t,o))}):mo(t)&&t.forEach(function(O,K){a.set(K,qt(O,n,e,K,t,o))});var L=y?h?Ti:Ei:h?It:ht,U=m?i:L(t);return Mt(U||t,function(O,K){U&&(K=O,O=t[K]),me(a,K,qt(O,n,e,K,t,o))}),a}function Zc(t){var n=ht(t);return function(e){return is(e,t,n)}}function is(t,n,e){var r=e.length;if(t==null)return!r;for(t=j(t);r--;){var u=e[r],o=n[u],a=t[u];if(a===i&&!(u in t)||!o(a))return!1}return!0}function us(t,n,e){if(typeof t!="function")throw new $t(x);return Pe(function(){t.apply(i,e)},n)}function xe(t,n,e,r){var u=-1,o=Ke,a=!0,c=t.length,h=[],y=n.length;if(!c)return h;e&&(n=et(n,Lt(e))),r?(o=Xr,a=!1):n.length>=_&&(o=pe,a=!1,n=new Dn(n));t:for(;++u<c;){var m=t[u],S=e==null?m:e(m);if(m=r||m!==0?m:0,a&&S===S){for(var A=y;A--;)if(n[A]===S)continue t;h.push(m)}else o(n,S,r)||h.push(m)}return h}var An=Os(en),ss=Os(hi,!0);function Yc(t,n){var e=!0;return An(t,function(r,u,o){return e=!!n(r,u,o),e}),e}function ur(t,n,e){for(var r=-1,u=t.length;++r<u;){var o=t[r],a=n(o);if(a!=null&&(c===i?a===a&&!Wt(a):e(a,c)))var c=a,h=o}return h}function Xc(t,n,e,r){var u=t.length;for(e=N(e),e<0&&(e=-e>u?0:u+e),r=r===i||r>u?u:N(r),r<0&&(r+=u),r=e>r?0:bo(r);e<r;)t[e++]=n;return t}function os(t,n){var e=[];return An(t,function(r,u,o){n(r,u,o)&&e.push(r)}),e}function pt(t,n,e,r,u){var o=-1,a=t.length;for(e||(e=Bl),u||(u=[]);++o<a;){var c=t[o];n>0&&e(c)?n>1?pt(c,n-1,e,r,u):mn(u,c):r||(u[u.length]=c)}return u}var li=Ws(),as=Ws(!0);function en(t,n){return t&&li(t,n,ht)}function hi(t,n){return t&&as(t,n,ht)}function sr(t,n){return yn(n,function(e){return pn(t[e])})}function Nn(t,n){n=Cn(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[un(n[e++])];return e&&e==r?t:i}function fs(t,n,e){var r=n(t);return F(t)?r:mn(r,e(t))}function mt(t){return t==null?t===i?ba:Sa:On&&On in j(t)?Ol(t):zl(t)}function di(t,n){return t>n}function Qc(t,n){return t!=null&&Q.call(t,n)}function Vc(t,n){return t!=null&&n in j(t)}function jc(t,n,e){return t>=gt(n,e)&&t<ft(n,e)}function pi(t,n,e){for(var r=e?Xr:Ke,u=t[0].length,o=t.length,a=o,c=g(o),h=1/0,y=[];a--;){var m=t[a];a&&n&&(m=et(m,Lt(n))),h=gt(m.length,h),c[a]=!e&&(n||u>=120&&m.length>=120)?new Dn(a&&m):i}m=t[0];var S=-1,A=c[0];t:for(;++S<u&&y.length<h;){var P=m[S],L=n?n(P):P;if(P=e||P!==0?P:0,!(A?pe(A,L):r(y,L,e))){for(a=o;--a;){var U=c[a];if(!(U?pe(U,L):r(t[a],L,e)))continue t}A&&A.push(L),y.push(P)}}return y}function tl(t,n,e,r){return en(t,function(u,o,a){n(r,e(u),o,a)}),r}function Se(t,n,e){n=Cn(n,t),t=Xs(t,n);var r=t==null?t:t[un(Ht(n))];return r==null?i:Tt(r,t,e)}function cs(t){return it(t)&&mt(t)==lt}function nl(t){return it(t)&&mt(t)==de}function el(t){return it(t)&&mt(t)==yt}function Ae(t,n,e,r,u){return t===n?!0:t==null||n==null||!it(t)&&!it(n)?t!==t&&n!==n:rl(t,n,e,r,Ae,u)}function rl(t,n,e,r,u,o){var a=F(t),c=F(n),h=a?Jt:_t(t),y=c?Jt:_t(n);h=h==lt?on:h,y=y==lt?on:y;var m=h==on,S=y==on,A=h==y;if(A&&Pn(t)){if(!Pn(n))return!1;a=!0,m=!1}if(A&&!m)return o||(o=new Qt),a||re(t)?ks(t,n,e,r,u,o):Tl(t,n,h,e,r,u,o);if(!(e&Y)){var P=m&&Q.call(t,"__wrapped__"),L=S&&Q.call(n,"__wrapped__");if(P||L){var U=P?t.value():t,O=L?n.value():n;return o||(o=new Qt),u(U,O,e,r,o)}}return A?(o||(o=new Qt),Ll(t,n,e,r,u,o)):!1}function il(t){return it(t)&&_t(t)==Zt}function gi(t,n,e,r){var u=e.length,o=u,a=!r;if(t==null)return!o;for(t=j(t);u--;){var c=e[u];if(a&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++u<o;){c=e[u];var h=c[0],y=t[h],m=c[1];if(a&&c[2]){if(y===i&&!(h in t))return!1}else{var S=new Qt;if(r)var A=r(y,m,h,t,n,S);if(!(A===i?Ae(m,y,Y|$,r,S):A))return!1}}return!0}function ls(t){if(!rt(t)||$l(t))return!1;var n=pn(t)?ic:Ja;return n.test(Bn(t))}function ul(t){return it(t)&&mt(t)==ce}function sl(t){return it(t)&&_t(t)==Yt}function ol(t){return it(t)&&Ar(t.length)&&!!nt[mt(t)]}function hs(t){return typeof t=="function"?t:t==null?Pt:typeof t=="object"?F(t)?gs(t[0],t[1]):ps(t):Fo(t)}function _i(t){if(!Ie(t))return cc(t);var n=[];for(var e in j(t))Q.call(t,e)&&e!="constructor"&&n.push(e);return n}function al(t){if(!rt(t))return Hl(t);var n=Ie(t),e=[];for(var r in t)r=="constructor"&&(n||!Q.call(t,r))||e.push(r);return e}function vi(t,n){return t<n}function ds(t,n){var e=-1,r=Ct(t)?g(t.length):[];return An(t,function(u,o,a){r[++e]=n(u,o,a)}),r}function ps(t){var n=Oi(t);return n.length==1&&n[0][2]?Zs(n[0][0],n[0][1]):function(e){return e===t||gi(e,t,n)}}function gs(t,n){return Di(t)&&Js(n)?Zs(un(t),n):function(e){var r=Hi(e,t);return r===i&&r===n?zi(e,t):Ae(n,r,Y|$)}}function or(t,n,e,r,u){t!==n&&li(n,function(o,a){if(u||(u=new Qt),rt(o))fl(t,n,a,e,or,r,u);else{var c=r?r(Ni(t,a),o,a+"",t,n,u):i;c===i&&(c=o),fi(t,a,c)}},It)}function fl(t,n,e,r,u,o,a){var c=Ni(t,e),h=Ni(n,e),y=a.get(h);if(y){fi(t,e,y);return}var m=o?o(c,h,e+"",t,n,a):i,S=m===i;if(S){var A=F(h),P=!A&&Pn(h),L=!A&&!P&&re(h);m=h,A||P||L?F(c)?m=c:ut(c)?m=bt(c):P?(S=!1,m=Ps(h,!0)):L?(S=!1,m=Rs(h,!0)):m=[]:Re(h)||Mn(h)?(m=c,Mn(c)?m=Co(c):(!rt(c)||pn(c))&&(m=Gs(h))):S=!1}S&&(a.set(h,m),u(m,h,r,o,a),a.delete(h)),fi(t,e,m)}function _s(t,n){var e=t.length;if(e)return n+=n<0?e:0,dn(n,e)?t[n]:i}function vs(t,n,e){n.length?n=et(n,function(o){return F(o)?function(a){return Nn(a,o.length===1?o[0]:o)}:o}):n=[Pt];var r=-1;n=et(n,Lt(E()));var u=ds(t,function(o,a,c){var h=et(n,function(y){return y(o)});return{criteria:h,index:++r,value:o}});return Nf(u,function(o,a){return Sl(o,a,e)})}function cl(t,n){return ws(t,n,function(e,r){return zi(t,r)})}function ws(t,n,e){for(var r=-1,u=n.length,o={};++r<u;){var a=n[r],c=Nn(t,a);e(c,a)&&be(o,Cn(a,t),c)}return o}function ll(t){return function(n){return Nn(n,t)}}function wi(t,n,e,r){var u=r?Ff:Gn,o=-1,a=n.length,c=t;for(t===n&&(n=bt(n)),e&&(c=et(t,Lt(e)));++o<a;)for(var h=0,y=n[o],m=e?e(y):y;(h=u(c,m,h,r))>-1;)c!==t&&Qe.call(c,h,1),Qe.call(t,h,1);return t}function ys(t,n){for(var e=t?n.length:0,r=e-1;e--;){var u=n[e];if(e==r||u!==o){var o=u;dn(u)?Qe.call(t,u,1):Si(t,u)}}return t}function yi(t,n){return t+tr(ju()*(n-t+1))}function hl(t,n,e,r){for(var u=-1,o=ft(je((n-t)/(e||1)),0),a=g(o);o--;)a[r?o:++u]=t,t+=e;return a}function mi(t,n){var e="";if(!t||n<1||n>nn)return e;do n%2&&(e+=t),n=tr(n/2),n&&(t+=t);while(n);return e}function M(t,n){return Ui(Ys(t,n,Pt),t+"")}function dl(t){return es(ie(t))}function pl(t,n){var e=ie(t);return vr(e,Fn(n,0,e.length))}function be(t,n,e,r){if(!rt(t))return t;n=Cn(n,t);for(var u=-1,o=n.length,a=o-1,c=t;c!=null&&++u<o;){var h=un(n[u]),y=e;if(h==="__proto__"||h==="constructor"||h==="prototype")return t;if(u!=a){var m=c[h];y=r?r(m,h,c):i,y===i&&(y=rt(m)?m:dn(n[u+1])?[]:{})}me(c,h,y),c=c[h]}return t}var ms=nr?function(t,n){return nr.set(t,n),t}:Pt,gl=Ve?function(t,n){return Ve(t,"toString",{configurable:!0,enumerable:!1,value:Ji(n),writable:!0})}:Pt;function _l(t){return vr(ie(t))}function kt(t,n,e){var r=-1,u=t.length;n<0&&(n=-n>u?0:u+n),e=e>u?u:e,e<0&&(e+=u),u=n>e?0:e-n>>>0,n>>>=0;for(var o=g(u);++r<u;)o[r]=t[r+n];return o}function vl(t,n){var e;return An(t,function(r,u,o){return e=n(r,u,o),!e}),!!e}function ar(t,n,e){var r=0,u=t==null?r:t.length;if(typeof n=="number"&&n===n&&u<=Lr){for(;r<u;){var o=r+u>>>1,a=t[o];a!==null&&!Wt(a)&&(e?a<=n:a<n)?r=o+1:u=o}return u}return xi(t,n,Pt,e)}function xi(t,n,e,r){var u=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var a=n!==n,c=n===null,h=Wt(n),y=n===i;u<o;){var m=tr((u+o)/2),S=e(t[m]),A=S!==i,P=S===null,L=S===S,U=Wt(S);if(a)var O=r||L;else y?O=L&&(r||A):c?O=L&&A&&(r||!P):h?O=L&&A&&!P&&(r||!U):P||U?O=!1:O=r?S<=n:S<n;O?u=m+1:o=m}return gt(o,De)}function xs(t,n){for(var e=-1,r=t.length,u=0,o=[];++e<r;){var a=t[e],c=n?n(a):a;if(!e||!Vt(c,h)){var h=c;o[u++]=a===0?0:a}}return o}function Ss(t){return typeof t=="number"?t:Wt(t)?kn:+t}function Ot(t){if(typeof t=="string")return t;if(F(t))return et(t,Ot)+"";if(Wt(t))return ts?ts.call(t):"";var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function bn(t,n,e){var r=-1,u=Ke,o=t.length,a=!0,c=[],h=c;if(e)a=!1,u=Xr;else if(o>=_){var y=n?null:Rl(t);if(y)return ke(y);a=!1,u=pe,h=new Dn}else h=n?[]:c;t:for(;++r<o;){var m=t[r],S=n?n(m):m;if(m=e||m!==0?m:0,a&&S===S){for(var A=h.length;A--;)if(h[A]===S)continue t;n&&h.push(S),c.push(m)}else u(h,S,e)||(h!==c&&h.push(S),c.push(m))}return c}function Si(t,n){return n=Cn(n,t),t=Xs(t,n),t==null||delete t[un(Ht(n))]}function As(t,n,e,r){return be(t,n,e(Nn(t,n)),r)}function fr(t,n,e,r){for(var u=t.length,o=r?u:-1;(r?o--:++o<u)&&n(t[o],o,t););return e?kt(t,r?0:o,r?o+1:u):kt(t,r?o+1:0,r?u:o)}function bs(t,n){var e=t;return e instanceof q&&(e=e.value()),Qr(n,function(r,u){return u.func.apply(u.thisArg,mn([r],u.args))},e)}function Ai(t,n,e){var r=t.length;if(r<2)return r?bn(t[0]):[];for(var u=-1,o=g(r);++u<r;)for(var a=t[u],c=-1;++c<r;)c!=u&&(o[u]=xe(o[u]||a,t[c],n,e));return bn(pt(o,1),n,e)}function Cs(t,n,e){for(var r=-1,u=t.length,o=n.length,a={};++r<u;){var c=r<o?n[r]:i;e(a,t[r],c)}return a}function bi(t){return ut(t)?t:[]}function Ci(t){return typeof t=="function"?t:Pt}function Cn(t,n){return F(t)?t:Di(t,n)?[t]:to(X(t))}var wl=M;function In(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:kt(t,n,e)}var Is=uc||function(t){return dt.clearTimeout(t)};function Ps(t,n){if(n)return t.slice();var e=t.length,r=Zu?Zu(e):new t.constructor(e);return t.copy(r),r}function Ii(t){var n=new t.constructor(t.byteLength);return new Ye(n).set(new Ye(t)),n}function yl(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function ml(t){var n=new t.constructor(t.source,cu.exec(t));return n.lastIndex=t.lastIndex,n}function xl(t){return ye?j(ye.call(t)):{}}function Rs(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Es(t,n){if(t!==n){var e=t!==i,r=t===null,u=t===t,o=Wt(t),a=n!==i,c=n===null,h=n===n,y=Wt(n);if(!c&&!y&&!o&&t>n||o&&a&&h&&!c&&!y||r&&a&&h||!e&&h||!u)return 1;if(!r&&!o&&!y&&t<n||y&&e&&u&&!r&&!o||c&&e&&u||!a&&u||!h)return-1}return 0}function Sl(t,n,e){for(var r=-1,u=t.criteria,o=n.criteria,a=u.length,c=e.length;++r<a;){var h=Es(u[r],o[r]);if(h){if(r>=c)return h;var y=e[r];return h*(y=="desc"?-1:1)}}return t.index-n.index}function Ts(t,n,e,r){for(var u=-1,o=t.length,a=e.length,c=-1,h=n.length,y=ft(o-a,0),m=g(h+y),S=!r;++c<h;)m[c]=n[c];for(;++u<a;)(S||u<o)&&(m[e[u]]=t[u]);for(;y--;)m[c++]=t[u++];return m}function Ls(t,n,e,r){for(var u=-1,o=t.length,a=-1,c=e.length,h=-1,y=n.length,m=ft(o-c,0),S=g(m+y),A=!r;++u<m;)S[u]=t[u];for(var P=u;++h<y;)S[P+h]=n[h];for(;++a<c;)(A||u<o)&&(S[P+e[a]]=t[u++]);return S}function bt(t,n){var e=-1,r=t.length;for(n||(n=g(r));++e<r;)n[e]=t[e];return n}function rn(t,n,e,r){var u=!e;e||(e={});for(var o=-1,a=n.length;++o<a;){var c=n[o],h=r?r(e[c],t[c],c,e,t):i;h===i&&(h=t[c]),u?cn(e,c,h):me(e,c,h)}return e}function Al(t,n){return rn(t,Wi(t),n)}function bl(t,n){return rn(t,Hs(t),n)}function cr(t,n){return function(e,r){var u=F(e)?Ef:Gc,o=n?n():{};return u(e,t,E(r,2),o)}}function te(t){return M(function(n,e){var r=-1,u=e.length,o=u>1?e[u-1]:i,a=u>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(u--,o):i,a&&xt(e[0],e[1],a)&&(o=u<3?i:o,u=1),n=j(n);++r<u;){var c=e[r];c&&t(n,c,r,o)}return n})}function Os(t,n){return function(e,r){if(e==null)return e;if(!Ct(e))return t(e,r);for(var u=e.length,o=n?u:-1,a=j(e);(n?o--:++o<u)&&r(a[o],o,a)!==!1;);return e}}function Ws(t){return function(n,e,r){for(var u=-1,o=j(n),a=r(n),c=a.length;c--;){var h=a[t?c:++u];if(e(o[h],h,o)===!1)break}return n}}function Cl(t,n,e){var r=n&wt,u=Ce(t);function o(){var a=this&&this!==dt&&this instanceof o?u:t;return a.apply(r?e:this,arguments)}return o}function Ds(t){return function(n){n=X(n);var e=Jn(n)?Xt(n):i,r=e?e[0]:n.charAt(0),u=e?In(e,1).join(""):n.slice(1);return r[t]()+u}}function ne(t){return function(n){return Qr(Wo(Oo(n).replace(gf,"")),t,"")}}function Ce(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=jn(t.prototype),r=t.apply(e,n);return rt(r)?r:e}}function Il(t,n,e){var r=Ce(t);function u(){for(var o=arguments.length,a=g(o),c=o,h=ee(u);c--;)a[c]=arguments[c];var y=o<3&&a[0]!==h&&a[o-1]!==h?[]:xn(a,h);if(o-=y.length,o<e)return Ms(t,n,lr,u.placeholder,i,a,y,i,i,e-o);var m=this&&this!==dt&&this instanceof u?r:t;return Tt(m,this,a)}return u}function Fs(t){return function(n,e,r){var u=j(n);if(!Ct(n)){var o=E(e,3);n=ht(n),e=function(c){return o(u[c],c,u)}}var a=t(n,e,r);return a>-1?u[o?n[a]:a]:i}}function Ns(t){return hn(function(n){var e=n.length,r=e,u=Kt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new $t(x);if(u&&!a&&gr(o)=="wrapper")var a=new Kt([],!0)}for(r=a?r:e;++r<e;){o=n[r];var c=gr(o),h=c=="wrapper"?Li(o):i;h&&Fi(h[0])&&h[1]==(At|ot|Gt|Nt)&&!h[4].length&&h[9]==1?a=a[gr(h[0])].apply(a,h[3]):a=o.length==1&&Fi(o)?a[c]():a.thru(o)}return function(){var y=arguments,m=y[0];if(a&&y.length==1&&F(m))return a.plant(m).value();for(var S=0,A=e?n[S].apply(this,y):m;++S<e;)A=n[S].call(this,A);return A}})}function lr(t,n,e,r,u,o,a,c,h,y){var m=n&At,S=n&wt,A=n&Rt,P=n&(ot|En),L=n&Kn,U=A?i:Ce(t);function O(){for(var K=arguments.length,z=g(K),Dt=K;Dt--;)z[Dt]=arguments[Dt];if(P)var St=ee(O),Ft=Bf(z,St);if(r&&(z=Ts(z,r,u,P)),o&&(z=Ls(z,o,a,P)),K-=Ft,P&&K<y){var st=xn(z,St);return Ms(t,n,lr,O.placeholder,e,z,st,c,h,y-K)}var jt=S?e:this,_n=A?jt[t]:t;return K=z.length,c?z=Gl(z,c):L&&K>1&&z.reverse(),m&&h<K&&(z.length=h),this&&this!==dt&&this instanceof O&&(_n=U||Ce(_n)),_n.apply(jt,z)}return O}function Us(t,n){return function(e,r){return tl(e,t,n(r),{})}}function hr(t,n){return function(e,r){var u;if(e===i&&r===i)return n;if(e!==i&&(u=e),r!==i){if(u===i)return r;typeof e=="string"||typeof r=="string"?(e=Ot(e),r=Ot(r)):(e=Ss(e),r=Ss(r)),u=t(e,r)}return u}}function Pi(t){return hn(function(n){return n=et(n,Lt(E())),M(function(e){var r=this;return t(n,function(u){return Tt(u,r,e)})})})}function dr(t,n){n=n===i?" ":Ot(n);var e=n.length;if(e<2)return e?mi(n,t):n;var r=mi(n,je(t/Zn(n)));return Jn(n)?In(Xt(r),0,t).join(""):r.slice(0,t)}function Pl(t,n,e,r){var u=n&wt,o=Ce(t);function a(){for(var c=-1,h=arguments.length,y=-1,m=r.length,S=g(m+h),A=this&&this!==dt&&this instanceof a?o:t;++y<m;)S[y]=r[y];for(;h--;)S[y++]=arguments[++c];return Tt(A,u?e:this,S)}return a}function Bs(t){return function(n,e,r){return r&&typeof r!="number"&&xt(n,e,r)&&(e=r=i),n=gn(n),e===i?(e=n,n=0):e=gn(e),r=r===i?n<e?1:-1:gn(r),hl(n,e,r,t)}}function pr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=zt(n),e=zt(e)),t(n,e)}}function Ms(t,n,e,r,u,o,a,c,h,y){var m=n&ot,S=m?a:i,A=m?i:a,P=m?o:i,L=m?i:o;n|=m?Gt:vn,n&=~(m?vn:Gt),n&tn||(n&=-4);var U=[t,n,u,P,S,L,A,c,h,y],O=e.apply(i,U);return Fi(t)&&Qs(O,U),O.placeholder=r,Vs(O,t,n)}function Ri(t){var n=at[t];return function(e,r){if(e=zt(e),r=r==null?0:gt(N(r),292),r&&Vu(e)){var u=(X(e)+"e").split("e"),o=n(u[0]+"e"+(+u[1]+r));return u=(X(o)+"e").split("e"),+(u[0]+"e"+(+u[1]-r))}return n(e)}}var Rl=Qn&&1/ke(new Qn([,-0]))[1]==sn?function(t){return new Qn(t)}:Xi;function $s(t){return function(n){var e=_t(n);return e==Zt?ii(n):e==Yt?zf(n):Uf(n,t(n))}}function ln(t,n,e,r,u,o,a,c){var h=n&Rt;if(!h&&typeof t!="function")throw new $t(x);var y=r?r.length:0;if(y||(n&=-97,r=u=i),a=a===i?a:ft(N(a),0),c=c===i?c:N(c),y-=u?u.length:0,n&vn){var m=r,S=u;r=u=i}var A=h?i:Li(t),P=[t,n,e,r,u,m,S,o,a,c];if(A&&kl(P,A),t=P[0],n=P[1],e=P[2],r=P[3],u=P[4],c=P[9]=P[9]===i?h?0:t.length:ft(P[9]-y,0),!c&&n&(ot|En)&&(n&=-25),!n||n==wt)var L=Cl(t,n,e);else n==ot||n==En?L=Il(t,n,c):(n==Gt||n==(wt|Gt))&&!u.length?L=Pl(t,n,e,r):L=lr.apply(i,P);var U=A?ms:Qs;return Vs(U(L,P),t,n)}function Ks(t,n,e,r){return t===i||Vt(t,Xn[e])&&!Q.call(r,e)?n:t}function qs(t,n,e,r,u,o){return rt(t)&&rt(n)&&(o.set(n,t),or(t,n,i,qs,o),o.delete(n)),t}function El(t){return Re(t)?i:t}function ks(t,n,e,r,u,o){var a=e&Y,c=t.length,h=n.length;if(c!=h&&!(a&&h>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var S=-1,A=!0,P=e&$?new Dn:i;for(o.set(t,n),o.set(n,t);++S<c;){var L=t[S],U=n[S];if(r)var O=a?r(U,L,S,n,t,o):r(L,U,S,t,n,o);if(O!==i){if(O)continue;A=!1;break}if(P){if(!Vr(n,function(K,z){if(!pe(P,z)&&(L===K||u(L,K,e,r,o)))return P.push(z)})){A=!1;break}}else if(!(L===U||u(L,U,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function Tl(t,n,e,r,u,o,a){switch(e){case Hn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case de:return!(t.byteLength!=n.byteLength||!o(new Ye(t),new Ye(n)));case wn:case yt:case fe:return Vt(+t,+n);case Fe:return t.name==n.name&&t.message==n.message;case ce:case le:return t==n+"";case Zt:var c=ii;case Yt:var h=r&Y;if(c||(c=ke),t.size!=n.size&&!h)return!1;var y=a.get(t);if(y)return y==n;r|=$,a.set(t,n);var m=ks(c(t),c(n),r,u,o,a);return a.delete(t),m;case Ue:if(ye)return ye.call(t)==ye.call(n)}return!1}function Ll(t,n,e,r,u,o){var a=e&Y,c=Ei(t),h=c.length,y=Ei(n),m=y.length;if(h!=m&&!a)return!1;for(var S=h;S--;){var A=c[S];if(!(a?A in n:Q.call(n,A)))return!1}var P=o.get(t),L=o.get(n);if(P&&L)return P==n&&L==t;var U=!0;o.set(t,n),o.set(n,t);for(var O=a;++S<h;){A=c[S];var K=t[A],z=n[A];if(r)var Dt=a?r(z,K,A,n,t,o):r(K,z,A,t,n,o);if(!(Dt===i?K===z||u(K,z,e,r,o):Dt)){U=!1;break}O||(O=A=="constructor")}if(U&&!O){var St=t.constructor,Ft=n.constructor;St!=Ft&&"constructor"in t&&"constructor"in n&&!(typeof St=="function"&&St instanceof St&&typeof Ft=="function"&&Ft instanceof Ft)&&(U=!1)}return o.delete(t),o.delete(n),U}function hn(t){return Ui(Ys(t,i,io),t+"")}function Ei(t){return fs(t,ht,Wi)}function Ti(t){return fs(t,It,Hs)}var Li=nr?function(t){return nr.get(t)}:Xi;function gr(t){for(var n=t.name+"",e=Vn[n],r=Q.call(Vn,n)?e.length:0;r--;){var u=e[r],o=u.func;if(o==null||o==t)return u.name}return n}function ee(t){var n=Q.call(s,"placeholder")?s:t;return n.placeholder}function E(){var t=s.iteratee||Zi;return t=t===Zi?hs:t,arguments.length?t(arguments[0],arguments[1]):t}function _r(t,n){var e=t.__data__;return Ml(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Oi(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],u=t[r];n[e]=[r,u,Js(u)]}return n}function Un(t,n){var e=qf(t,n);return ls(e)?e:i}function Ol(t){var n=Q.call(t,On),e=t[On];try{t[On]=i;var r=!0}catch{}var u=Je.call(t);return r&&(n?t[On]=e:delete t[On]),u}var Wi=si?function(t){return t==null?[]:(t=j(t),yn(si(t),function(n){return Xu.call(t,n)}))}:Qi,Hs=si?function(t){for(var n=[];t;)mn(n,Wi(t)),t=Xe(t);return n}:Qi,_t=mt;(oi&&_t(new oi(new ArrayBuffer(1)))!=Hn||_e&&_t(new _e)!=Zt||ai&&_t(ai.resolve())!=su||Qn&&_t(new Qn)!=Yt||ve&&_t(new ve)!=he)&&(_t=function(t){var n=mt(t),e=n==on?t.constructor:i,r=e?Bn(e):"";if(r)switch(r){case pc:return Hn;case gc:return Zt;case _c:return su;case vc:return Yt;case wc:return he}return n});function Wl(t,n,e){for(var r=-1,u=e.length;++r<u;){var o=e[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":n-=a;break;case"take":n=gt(n,t+a);break;case"takeRight":t=ft(t,n-a);break}}return{start:t,end:n}}function Dl(t){var n=t.match(Ma);return n?n[1].split($a):[]}function zs(t,n,e){n=Cn(n,t);for(var r=-1,u=n.length,o=!1;++r<u;){var a=un(n[r]);if(!(o=t!=null&&e(t,a)))break;t=t[a]}return o||++r!=u?o:(u=t==null?0:t.length,!!u&&Ar(u)&&dn(a,u)&&(F(t)||Mn(t)))}function Fl(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&Q.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Gs(t){return typeof t.constructor=="function"&&!Ie(t)?jn(Xe(t)):{}}function Nl(t,n,e){var r=t.constructor;switch(n){case de:return Ii(t);case wn:case yt:return new r(+t);case Hn:return yl(t,e);case Or:case Wr:case Dr:case Fr:case Nr:case Ur:case Br:case Mr:case $r:return Rs(t,e);case Zt:return new r;case fe:case le:return new r(t);case ce:return ml(t);case Yt:return new r;case Ue:return xl(t)}}function Ul(t,n){var e=n.length;if(!e)return t;var r=e-1;return n[r]=(e>1?"& ":"")+n[r],n=n.join(e>2?", ":" "),t.replace(Ba,`{
8
+ */Te.exports,function(d,f){(function(){var i,p="4.17.21",_=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",E="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",B=500,C="__lodash_placeholder__",H=1,R=2,Y=4,X=1,$=2,wt=1,Rt=2,tn=4,at=8,Tn=16,Gt=32,vn=64,At=128,Et=256,Kn=512,Oe=30,Tt="...",We=800,qn=16,ae=1,lt=2,Er=3,sn=1/0,nn=9007199254740991,Tr=17976931348623157e292,kn=NaN,Ut=4294967295,De=Ut-1,Lr=Ut>>>1,G=[["ary",At],["bind",wt],["bindKey",Rt],["curry",at],["curryRight",Tn],["flip",Kn],["partial",Gt],["partialRight",vn],["rearg",Et]],ut="[object Arguments]",Jt="[object Array]",Ln="[object AsyncFunction]",wn="[object Boolean]",yt="[object Date]",xa="[object DOMException]",Fe="[object Error]",Ne="[object Function]",uu="[object GeneratorFunction]",Zt="[object Map]",fe="[object Number]",Sa="[object Null]",on="[object Object]",su="[object Promise]",Aa="[object Proxy]",ce="[object RegExp]",Yt="[object Set]",le="[object String]",Ue="[object Symbol]",ba="[object Undefined]",he="[object WeakMap]",Ca="[object WeakSet]",de="[object ArrayBuffer]",Hn="[object DataView]",Or="[object Float32Array]",Wr="[object Float64Array]",Dr="[object Int8Array]",Fr="[object Int16Array]",Nr="[object Int32Array]",Ur="[object Uint8Array]",Br="[object Uint8ClampedArray]",Mr="[object Uint16Array]",$r="[object Uint32Array]",Ia=/\b__p \+= '';/g,Pa=/\b(__p \+=) '' \+/g,Ra=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ou=/&(?:amp|lt|gt|quot|#39);/g,au=/[&<>"']/g,Ea=RegExp(ou.source),Ta=RegExp(au.source),La=/<%-([\s\S]+?)%>/g,Oa=/<%([\s\S]+?)%>/g,fu=/<%=([\s\S]+?)%>/g,Wa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Da=/^\w*$/,Fa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Kr=/[\\^$.*+?()[\]{}|]/g,Na=RegExp(Kr.source),qr=/^\s+/,Ua=/\s/,Ba=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ma=/\{\n\/\* \[wrapped with (.+)\] \*/,$a=/,? & /,Ka=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,qa=/[()=,{}\[\]\/\s]/,ka=/\\(\\)?/g,Ha=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,cu=/\w*$/,za=/^[-+]0x[0-9a-f]+$/i,Ga=/^0b[01]+$/i,Ja=/^\[object .+?Constructor\]$/,Za=/^0o[0-7]+$/i,Ya=/^(?:0|[1-9]\d*)$/,Xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Be=/($^)/,Qa=/['\n\r\u2028\u2029\\]/g,Me="\\ud800-\\udfff",Va="\\u0300-\\u036f",ja="\\ufe20-\\ufe2f",tf="\\u20d0-\\u20ff",lu=Va+ja+tf,hu="\\u2700-\\u27bf",du="a-z\\xdf-\\xf6\\xf8-\\xff",nf="\\xac\\xb1\\xd7\\xf7",ef="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",rf="\\u2000-\\u206f",uf=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pu="A-Z\\xc0-\\xd6\\xd8-\\xde",gu="\\ufe0e\\ufe0f",_u=nf+ef+rf+uf,kr="['’]",sf="["+Me+"]",vu="["+_u+"]",$e="["+lu+"]",wu="\\d+",of="["+hu+"]",yu="["+du+"]",mu="[^"+Me+_u+wu+hu+du+pu+"]",Hr="\\ud83c[\\udffb-\\udfff]",af="(?:"+$e+"|"+Hr+")",xu="[^"+Me+"]",zr="(?:\\ud83c[\\udde6-\\uddff]){2}",Gr="[\\ud800-\\udbff][\\udc00-\\udfff]",zn="["+pu+"]",Su="\\u200d",Au="(?:"+yu+"|"+mu+")",ff="(?:"+zn+"|"+mu+")",bu="(?:"+kr+"(?:d|ll|m|re|s|t|ve))?",Cu="(?:"+kr+"(?:D|LL|M|RE|S|T|VE))?",Iu=af+"?",Pu="["+gu+"]?",cf="(?:"+Su+"(?:"+[xu,zr,Gr].join("|")+")"+Pu+Iu+")*",lf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",hf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ru=Pu+Iu+cf,df="(?:"+[of,zr,Gr].join("|")+")"+Ru,pf="(?:"+[xu+$e+"?",$e,zr,Gr,sf].join("|")+")",gf=RegExp(kr,"g"),_f=RegExp($e,"g"),Jr=RegExp(Hr+"(?="+Hr+")|"+pf+Ru,"g"),vf=RegExp([zn+"?"+yu+"+"+bu+"(?="+[vu,zn,"$"].join("|")+")",ff+"+"+Cu+"(?="+[vu,zn+Au,"$"].join("|")+")",zn+"?"+Au+"+"+bu,zn+"+"+Cu,hf,lf,wu,df].join("|"),"g"),wf=RegExp("["+Su+Me+lu+gu+"]"),yf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,mf=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],xf=-1,nt={};nt[Or]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Nr]=nt[Ur]=nt[Br]=nt[Mr]=nt[$r]=!0,nt[ut]=nt[Jt]=nt[de]=nt[wn]=nt[Hn]=nt[yt]=nt[Fe]=nt[Ne]=nt[Zt]=nt[fe]=nt[on]=nt[ce]=nt[Yt]=nt[le]=nt[he]=!1;var tt={};tt[ut]=tt[Jt]=tt[de]=tt[Hn]=tt[wn]=tt[yt]=tt[Or]=tt[Wr]=tt[Dr]=tt[Fr]=tt[Nr]=tt[Zt]=tt[fe]=tt[on]=tt[ce]=tt[Yt]=tt[le]=tt[Ue]=tt[Ur]=tt[Br]=tt[Mr]=tt[$r]=!0,tt[Fe]=tt[Ne]=tt[he]=!1;var Sf={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Af={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},bf={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Cf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},If=parseFloat,Pf=parseInt,Eu=typeof se=="object"&&se&&se.Object===Object&&se,Rf=typeof self=="object"&&self&&self.Object===Object&&self,dt=Eu||Rf||Function("return this")(),Zr=f&&!f.nodeType&&f,On=Zr&&!0&&d&&!d.nodeType&&d,Tu=On&&On.exports===Zr,Yr=Tu&&Eu.process,Bt=function(){try{var l=On&&On.require&&On.require("util").types;return l||Yr&&Yr.binding&&Yr.binding("util")}catch{}}(),Lu=Bt&&Bt.isArrayBuffer,Ou=Bt&&Bt.isDate,Wu=Bt&&Bt.isMap,Du=Bt&&Bt.isRegExp,Fu=Bt&&Bt.isSet,Nu=Bt&&Bt.isTypedArray;function Lt(l,w,g){switch(g.length){case 0:return l.call(w);case 1:return l.call(w,g[0]);case 2:return l.call(w,g[0],g[1]);case 3:return l.call(w,g[0],g[1],g[2])}return l.apply(w,g)}function Ef(l,w,g,I){for(var D=-1,Z=l==null?0:l.length;++D<Z;){var ft=l[D];w(I,ft,g(ft),l)}return I}function Mt(l,w){for(var g=-1,I=l==null?0:l.length;++g<I&&w(l[g],g,l)!==!1;);return l}function Tf(l,w){for(var g=l==null?0:l.length;g--&&w(l[g],g,l)!==!1;);return l}function Uu(l,w){for(var g=-1,I=l==null?0:l.length;++g<I;)if(!w(l[g],g,l))return!1;return!0}function yn(l,w){for(var g=-1,I=l==null?0:l.length,D=0,Z=[];++g<I;){var ft=l[g];w(ft,g,l)&&(Z[D++]=ft)}return Z}function Ke(l,w){var g=l==null?0:l.length;return!!g&&Gn(l,w,0)>-1}function Xr(l,w,g){for(var I=-1,D=l==null?0:l.length;++I<D;)if(g(w,l[I]))return!0;return!1}function et(l,w){for(var g=-1,I=l==null?0:l.length,D=Array(I);++g<I;)D[g]=w(l[g],g,l);return D}function mn(l,w){for(var g=-1,I=w.length,D=l.length;++g<I;)l[D+g]=w[g];return l}function Qr(l,w,g,I){var D=-1,Z=l==null?0:l.length;for(I&&Z&&(g=l[++D]);++D<Z;)g=w(g,l[D],D,l);return g}function Lf(l,w,g,I){var D=l==null?0:l.length;for(I&&D&&(g=l[--D]);D--;)g=w(g,l[D],D,l);return g}function Vr(l,w){for(var g=-1,I=l==null?0:l.length;++g<I;)if(w(l[g],g,l))return!0;return!1}var Of=jr("length");function Wf(l){return l.split("")}function Df(l){return l.match(Ka)||[]}function Bu(l,w,g){var I;return g(l,function(D,Z,ft){if(w(D,Z,ft))return I=Z,!1}),I}function qe(l,w,g,I){for(var D=l.length,Z=g+(I?1:-1);I?Z--:++Z<D;)if(w(l[Z],Z,l))return Z;return-1}function Gn(l,w,g){return w===w?Gf(l,w,g):qe(l,Mu,g)}function Ff(l,w,g,I){for(var D=g-1,Z=l.length;++D<Z;)if(I(l[D],w))return D;return-1}function Mu(l){return l!==l}function $u(l,w){var g=l==null?0:l.length;return g?ni(l,w)/g:kn}function jr(l){return function(w){return w==null?i:w[l]}}function ti(l){return function(w){return l==null?i:l[w]}}function Ku(l,w,g,I,D){return D(l,function(Z,ft,j){g=I?(I=!1,Z):w(g,Z,ft,j)}),g}function Nf(l,w){var g=l.length;for(l.sort(w);g--;)l[g]=l[g].value;return l}function ni(l,w){for(var g,I=-1,D=l.length;++I<D;){var Z=w(l[I]);Z!==i&&(g=g===i?Z:g+Z)}return g}function ei(l,w){for(var g=-1,I=Array(l);++g<l;)I[g]=w(g);return I}function Uf(l,w){return et(w,function(g){return[g,l[g]]})}function qu(l){return l&&l.slice(0,Gu(l)+1).replace(qr,"")}function Ot(l){return function(w){return l(w)}}function ri(l,w){return et(w,function(g){return l[g]})}function pe(l,w){return l.has(w)}function ku(l,w){for(var g=-1,I=l.length;++g<I&&Gn(w,l[g],0)>-1;);return g}function Hu(l,w){for(var g=l.length;g--&&Gn(w,l[g],0)>-1;);return g}function Bf(l,w){for(var g=l.length,I=0;g--;)l[g]===w&&++I;return I}var Mf=ti(Sf),$f=ti(Af);function Kf(l){return"\\"+Cf[l]}function qf(l,w){return l==null?i:l[w]}function Jn(l){return wf.test(l)}function kf(l){return yf.test(l)}function Hf(l){for(var w,g=[];!(w=l.next()).done;)g.push(w.value);return g}function ii(l){var w=-1,g=Array(l.size);return l.forEach(function(I,D){g[++w]=[D,I]}),g}function zu(l,w){return function(g){return l(w(g))}}function xn(l,w){for(var g=-1,I=l.length,D=0,Z=[];++g<I;){var ft=l[g];(ft===w||ft===C)&&(l[g]=C,Z[D++]=g)}return Z}function ke(l){var w=-1,g=Array(l.size);return l.forEach(function(I){g[++w]=I}),g}function zf(l){var w=-1,g=Array(l.size);return l.forEach(function(I){g[++w]=[I,I]}),g}function Gf(l,w,g){for(var I=g-1,D=l.length;++I<D;)if(l[I]===w)return I;return-1}function Jf(l,w,g){for(var I=g+1;I--;)if(l[I]===w)return I;return I}function Zn(l){return Jn(l)?Yf(l):Of(l)}function Xt(l){return Jn(l)?Xf(l):Wf(l)}function Gu(l){for(var w=l.length;w--&&Ua.test(l.charAt(w)););return w}var Zf=ti(bf);function Yf(l){for(var w=Jr.lastIndex=0;Jr.test(l);)++w;return w}function Xf(l){return l.match(Jr)||[]}function Qf(l){return l.match(vf)||[]}var Vf=function l(w){w=w==null?dt:Yn.defaults(dt.Object(),w,Yn.pick(dt,mf));var g=w.Array,I=w.Date,D=w.Error,Z=w.Function,ft=w.Math,j=w.Object,ui=w.RegExp,jf=w.String,$t=w.TypeError,He=g.prototype,tc=Z.prototype,Xn=j.prototype,ze=w["__core-js_shared__"],Ge=tc.toString,V=Xn.hasOwnProperty,nc=0,Ju=function(){var t=/[^.]+$/.exec(ze&&ze.keys&&ze.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Je=Xn.toString,ec=Ge.call(j),rc=dt._,ic=ui("^"+Ge.call(V).replace(Kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ze=Tu?w.Buffer:i,Sn=w.Symbol,Ye=w.Uint8Array,Zu=Ze?Ze.allocUnsafe:i,Xe=zu(j.getPrototypeOf,j),Yu=j.create,Xu=Xn.propertyIsEnumerable,Qe=He.splice,Qu=Sn?Sn.isConcatSpreadable:i,ge=Sn?Sn.iterator:i,Wn=Sn?Sn.toStringTag:i,Ve=function(){try{var t=Bn(j,"defineProperty");return t({},"",{}),t}catch{}}(),uc=w.clearTimeout!==dt.clearTimeout&&w.clearTimeout,sc=I&&I.now!==dt.Date.now&&I.now,oc=w.setTimeout!==dt.setTimeout&&w.setTimeout,je=ft.ceil,tr=ft.floor,si=j.getOwnPropertySymbols,ac=Ze?Ze.isBuffer:i,Vu=w.isFinite,fc=He.join,cc=zu(j.keys,j),ct=ft.max,gt=ft.min,lc=I.now,hc=w.parseInt,ju=ft.random,dc=He.reverse,oi=Bn(w,"DataView"),_e=Bn(w,"Map"),ai=Bn(w,"Promise"),Qn=Bn(w,"Set"),ve=Bn(w,"WeakMap"),we=Bn(j,"create"),nr=ve&&new ve,Vn={},pc=Mn(oi),gc=Mn(_e),_c=Mn(ai),vc=Mn(Qn),wc=Mn(ve),er=Sn?Sn.prototype:i,ye=er?er.valueOf:i,ts=er?er.toString:i;function s(t){if(it(t)&&!F(t)&&!(t instanceof q)){if(t instanceof Kt)return t;if(V.call(t,"__wrapped__"))return no(t)}return new Kt(t)}var jn=function(){function t(){}return function(n){if(!rt(n))return{};if(Yu)return Yu(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function rr(){}function Kt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}s.templateSettings={escape:La,evaluate:Oa,interpolate:fu,variable:"",imports:{_:s}},s.prototype=rr.prototype,s.prototype.constructor=s,Kt.prototype=jn(rr.prototype),Kt.prototype.constructor=Kt;function q(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ut,this.__views__=[]}function yc(){var t=new q(this.__wrapped__);return t.__actions__=bt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=bt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=bt(this.__views__),t}function mc(){if(this.__filtered__){var t=new q(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function xc(){var t=this.__wrapped__.value(),n=this.__dir__,e=F(t),r=n<0,u=e?t.length:0,o=Wl(0,u,this.__views__),a=o.start,c=o.end,h=c-a,y=r?c:a-1,m=this.__iteratees__,S=m.length,A=0,P=gt(h,this.__takeCount__);if(!e||!r&&u==h&&P==h)return bs(t,this.__actions__);var L=[];t:for(;h--&&A<P;){y+=n;for(var U=-1,O=t[y];++U<S;){var K=m[U],z=K.iteratee,Ft=K.type,St=z(O);if(Ft==lt)O=St;else if(!St){if(Ft==ae)continue t;break t}}L[A++]=O}return L}q.prototype=jn(rr.prototype),q.prototype.constructor=q;function Dn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Sc(){this.__data__=we?we(null):{},this.size=0}function Ac(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function bc(t){var n=this.__data__;if(we){var e=n[t];return e===b?i:e}return V.call(n,t)?n[t]:i}function Cc(t){var n=this.__data__;return we?n[t]!==i:V.call(n,t)}function Ic(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=we&&n===i?b:n,this}Dn.prototype.clear=Sc,Dn.prototype.delete=Ac,Dn.prototype.get=bc,Dn.prototype.has=Cc,Dn.prototype.set=Ic;function an(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Pc(){this.__data__=[],this.size=0}function Rc(t){var n=this.__data__,e=ir(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Qe.call(n,e,1),--this.size,!0}function Ec(t){var n=this.__data__,e=ir(n,t);return e<0?i:n[e][1]}function Tc(t){return ir(this.__data__,t)>-1}function Lc(t,n){var e=this.__data__,r=ir(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}an.prototype.clear=Pc,an.prototype.delete=Rc,an.prototype.get=Ec,an.prototype.has=Tc,an.prototype.set=Lc;function fn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Oc(){this.size=0,this.__data__={hash:new Dn,map:new(_e||an),string:new Dn}}function Wc(t){var n=_r(this,t).delete(t);return this.size-=n?1:0,n}function Dc(t){return _r(this,t).get(t)}function Fc(t){return _r(this,t).has(t)}function Nc(t,n){var e=_r(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}fn.prototype.clear=Oc,fn.prototype.delete=Wc,fn.prototype.get=Dc,fn.prototype.has=Fc,fn.prototype.set=Nc;function Fn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new fn;++n<e;)this.add(t[n])}function Uc(t){return this.__data__.set(t,b),this}function Bc(t){return this.__data__.has(t)}Fn.prototype.add=Fn.prototype.push=Uc,Fn.prototype.has=Bc;function Qt(t){var n=this.__data__=new an(t);this.size=n.size}function Mc(){this.__data__=new an,this.size=0}function $c(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function Kc(t){return this.__data__.get(t)}function qc(t){return this.__data__.has(t)}function kc(t,n){var e=this.__data__;if(e instanceof an){var r=e.__data__;if(!_e||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new fn(r)}return e.set(t,n),this.size=e.size,this}Qt.prototype.clear=Mc,Qt.prototype.delete=$c,Qt.prototype.get=Kc,Qt.prototype.has=qc,Qt.prototype.set=kc;function ns(t,n){var e=F(t),r=!e&&$n(t),u=!e&&!r&&Pn(t),o=!e&&!r&&!u&&re(t),a=e||r||u||o,c=a?ei(t.length,jf):[],h=c.length;for(var y in t)(n||V.call(t,y))&&!(a&&(y=="length"||u&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||dn(y,h)))&&c.push(y);return c}function es(t){var n=t.length;return n?t[yi(0,n-1)]:i}function Hc(t,n){return vr(bt(t),Nn(n,0,t.length))}function zc(t){return vr(bt(t))}function fi(t,n,e){(e!==i&&!Vt(t[n],e)||e===i&&!(n in t))&&cn(t,n,e)}function me(t,n,e){var r=t[n];(!(V.call(t,n)&&Vt(r,e))||e===i&&!(n in t))&&cn(t,n,e)}function ir(t,n){for(var e=t.length;e--;)if(Vt(t[e][0],n))return e;return-1}function Gc(t,n,e,r){return An(t,function(u,o,a){n(r,u,e(u),a)}),r}function rs(t,n){return t&&rn(n,ht(n),t)}function Jc(t,n){return t&&rn(n,It(n),t)}function cn(t,n,e){n=="__proto__"&&Ve?Ve(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function ci(t,n){for(var e=-1,r=n.length,u=g(r),o=t==null;++e<r;)u[e]=o?i:Hi(t,n[e]);return u}function Nn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function qt(t,n,e,r,u,o){var a,c=n&H,h=n&R,y=n&Y;if(e&&(a=u?e(t,r,u,o):e(t)),a!==i)return a;if(!rt(t))return t;var m=F(t);if(m){if(a=Fl(t),!c)return bt(t,a)}else{var S=_t(t),A=S==Ne||S==uu;if(Pn(t))return Ps(t,c);if(S==on||S==ut||A&&!u){if(a=h||A?{}:Gs(t),!c)return h?bl(t,Jc(a,t)):Al(t,rs(a,t))}else{if(!tt[S])return u?t:{};a=Nl(t,S,c)}}o||(o=new Qt);var P=o.get(t);if(P)return P;o.set(t,a),So(t)?t.forEach(function(O){a.add(qt(O,n,e,O,t,o))}):mo(t)&&t.forEach(function(O,K){a.set(K,qt(O,n,e,K,t,o))});var L=y?h?Ti:Ei:h?It:ht,U=m?i:L(t);return Mt(U||t,function(O,K){U&&(K=O,O=t[K]),me(a,K,qt(O,n,e,K,t,o))}),a}function Zc(t){var n=ht(t);return function(e){return is(e,t,n)}}function is(t,n,e){var r=e.length;if(t==null)return!r;for(t=j(t);r--;){var u=e[r],o=n[u],a=t[u];if(a===i&&!(u in t)||!o(a))return!1}return!0}function us(t,n,e){if(typeof t!="function")throw new $t(x);return Pe(function(){t.apply(i,e)},n)}function xe(t,n,e,r){var u=-1,o=Ke,a=!0,c=t.length,h=[],y=n.length;if(!c)return h;e&&(n=et(n,Ot(e))),r?(o=Xr,a=!1):n.length>=_&&(o=pe,a=!1,n=new Fn(n));t:for(;++u<c;){var m=t[u],S=e==null?m:e(m);if(m=r||m!==0?m:0,a&&S===S){for(var A=y;A--;)if(n[A]===S)continue t;h.push(m)}else o(n,S,r)||h.push(m)}return h}var An=Os(en),ss=Os(hi,!0);function Yc(t,n){var e=!0;return An(t,function(r,u,o){return e=!!n(r,u,o),e}),e}function ur(t,n,e){for(var r=-1,u=t.length;++r<u;){var o=t[r],a=n(o);if(a!=null&&(c===i?a===a&&!Dt(a):e(a,c)))var c=a,h=o}return h}function Xc(t,n,e,r){var u=t.length;for(e=N(e),e<0&&(e=-e>u?0:u+e),r=r===i||r>u?u:N(r),r<0&&(r+=u),r=e>r?0:bo(r);e<r;)t[e++]=n;return t}function os(t,n){var e=[];return An(t,function(r,u,o){n(r,u,o)&&e.push(r)}),e}function pt(t,n,e,r,u){var o=-1,a=t.length;for(e||(e=Bl),u||(u=[]);++o<a;){var c=t[o];n>0&&e(c)?n>1?pt(c,n-1,e,r,u):mn(u,c):r||(u[u.length]=c)}return u}var li=Ws(),as=Ws(!0);function en(t,n){return t&&li(t,n,ht)}function hi(t,n){return t&&as(t,n,ht)}function sr(t,n){return yn(n,function(e){return pn(t[e])})}function Un(t,n){n=Cn(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[un(n[e++])];return e&&e==r?t:i}function fs(t,n,e){var r=n(t);return F(t)?r:mn(r,e(t))}function mt(t){return t==null?t===i?ba:Sa:Wn&&Wn in j(t)?Ol(t):zl(t)}function di(t,n){return t>n}function Qc(t,n){return t!=null&&V.call(t,n)}function Vc(t,n){return t!=null&&n in j(t)}function jc(t,n,e){return t>=gt(n,e)&&t<ct(n,e)}function pi(t,n,e){for(var r=e?Xr:Ke,u=t[0].length,o=t.length,a=o,c=g(o),h=1/0,y=[];a--;){var m=t[a];a&&n&&(m=et(m,Ot(n))),h=gt(m.length,h),c[a]=!e&&(n||u>=120&&m.length>=120)?new Fn(a&&m):i}m=t[0];var S=-1,A=c[0];t:for(;++S<u&&y.length<h;){var P=m[S],L=n?n(P):P;if(P=e||P!==0?P:0,!(A?pe(A,L):r(y,L,e))){for(a=o;--a;){var U=c[a];if(!(U?pe(U,L):r(t[a],L,e)))continue t}A&&A.push(L),y.push(P)}}return y}function tl(t,n,e,r){return en(t,function(u,o,a){n(r,e(u),o,a)}),r}function Se(t,n,e){n=Cn(n,t),t=Xs(t,n);var r=t==null?t:t[un(Ht(n))];return r==null?i:Lt(r,t,e)}function cs(t){return it(t)&&mt(t)==ut}function nl(t){return it(t)&&mt(t)==de}function el(t){return it(t)&&mt(t)==yt}function Ae(t,n,e,r,u){return t===n?!0:t==null||n==null||!it(t)&&!it(n)?t!==t&&n!==n:rl(t,n,e,r,Ae,u)}function rl(t,n,e,r,u,o){var a=F(t),c=F(n),h=a?Jt:_t(t),y=c?Jt:_t(n);h=h==ut?on:h,y=y==ut?on:y;var m=h==on,S=y==on,A=h==y;if(A&&Pn(t)){if(!Pn(n))return!1;a=!0,m=!1}if(A&&!m)return o||(o=new Qt),a||re(t)?ks(t,n,e,r,u,o):Tl(t,n,h,e,r,u,o);if(!(e&X)){var P=m&&V.call(t,"__wrapped__"),L=S&&V.call(n,"__wrapped__");if(P||L){var U=P?t.value():t,O=L?n.value():n;return o||(o=new Qt),u(U,O,e,r,o)}}return A?(o||(o=new Qt),Ll(t,n,e,r,u,o)):!1}function il(t){return it(t)&&_t(t)==Zt}function gi(t,n,e,r){var u=e.length,o=u,a=!r;if(t==null)return!o;for(t=j(t);u--;){var c=e[u];if(a&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++u<o;){c=e[u];var h=c[0],y=t[h],m=c[1];if(a&&c[2]){if(y===i&&!(h in t))return!1}else{var S=new Qt;if(r)var A=r(y,m,h,t,n,S);if(!(A===i?Ae(m,y,X|$,r,S):A))return!1}}return!0}function ls(t){if(!rt(t)||$l(t))return!1;var n=pn(t)?ic:Ja;return n.test(Mn(t))}function ul(t){return it(t)&&mt(t)==ce}function sl(t){return it(t)&&_t(t)==Yt}function ol(t){return it(t)&&Ar(t.length)&&!!nt[mt(t)]}function hs(t){return typeof t=="function"?t:t==null?Pt:typeof t=="object"?F(t)?gs(t[0],t[1]):ps(t):Fo(t)}function _i(t){if(!Ie(t))return cc(t);var n=[];for(var e in j(t))V.call(t,e)&&e!="constructor"&&n.push(e);return n}function al(t){if(!rt(t))return Hl(t);var n=Ie(t),e=[];for(var r in t)r=="constructor"&&(n||!V.call(t,r))||e.push(r);return e}function vi(t,n){return t<n}function ds(t,n){var e=-1,r=Ct(t)?g(t.length):[];return An(t,function(u,o,a){r[++e]=n(u,o,a)}),r}function ps(t){var n=Oi(t);return n.length==1&&n[0][2]?Zs(n[0][0],n[0][1]):function(e){return e===t||gi(e,t,n)}}function gs(t,n){return Di(t)&&Js(n)?Zs(un(t),n):function(e){var r=Hi(e,t);return r===i&&r===n?zi(e,t):Ae(n,r,X|$)}}function or(t,n,e,r,u){t!==n&&li(n,function(o,a){if(u||(u=new Qt),rt(o))fl(t,n,a,e,or,r,u);else{var c=r?r(Ni(t,a),o,a+"",t,n,u):i;c===i&&(c=o),fi(t,a,c)}},It)}function fl(t,n,e,r,u,o,a){var c=Ni(t,e),h=Ni(n,e),y=a.get(h);if(y){fi(t,e,y);return}var m=o?o(c,h,e+"",t,n,a):i,S=m===i;if(S){var A=F(h),P=!A&&Pn(h),L=!A&&!P&&re(h);m=h,A||P||L?F(c)?m=c:st(c)?m=bt(c):P?(S=!1,m=Ps(h,!0)):L?(S=!1,m=Rs(h,!0)):m=[]:Re(h)||$n(h)?(m=c,$n(c)?m=Co(c):(!rt(c)||pn(c))&&(m=Gs(h))):S=!1}S&&(a.set(h,m),u(m,h,r,o,a),a.delete(h)),fi(t,e,m)}function _s(t,n){var e=t.length;if(e)return n+=n<0?e:0,dn(n,e)?t[n]:i}function vs(t,n,e){n.length?n=et(n,function(o){return F(o)?function(a){return Un(a,o.length===1?o[0]:o)}:o}):n=[Pt];var r=-1;n=et(n,Ot(T()));var u=ds(t,function(o,a,c){var h=et(n,function(y){return y(o)});return{criteria:h,index:++r,value:o}});return Nf(u,function(o,a){return Sl(o,a,e)})}function cl(t,n){return ws(t,n,function(e,r){return zi(t,r)})}function ws(t,n,e){for(var r=-1,u=n.length,o={};++r<u;){var a=n[r],c=Un(t,a);e(c,a)&&be(o,Cn(a,t),c)}return o}function ll(t){return function(n){return Un(n,t)}}function wi(t,n,e,r){var u=r?Ff:Gn,o=-1,a=n.length,c=t;for(t===n&&(n=bt(n)),e&&(c=et(t,Ot(e)));++o<a;)for(var h=0,y=n[o],m=e?e(y):y;(h=u(c,m,h,r))>-1;)c!==t&&Qe.call(c,h,1),Qe.call(t,h,1);return t}function ys(t,n){for(var e=t?n.length:0,r=e-1;e--;){var u=n[e];if(e==r||u!==o){var o=u;dn(u)?Qe.call(t,u,1):Si(t,u)}}return t}function yi(t,n){return t+tr(ju()*(n-t+1))}function hl(t,n,e,r){for(var u=-1,o=ct(je((n-t)/(e||1)),0),a=g(o);o--;)a[r?o:++u]=t,t+=e;return a}function mi(t,n){var e="";if(!t||n<1||n>nn)return e;do n%2&&(e+=t),n=tr(n/2),n&&(t+=t);while(n);return e}function M(t,n){return Ui(Ys(t,n,Pt),t+"")}function dl(t){return es(ie(t))}function pl(t,n){var e=ie(t);return vr(e,Nn(n,0,e.length))}function be(t,n,e,r){if(!rt(t))return t;n=Cn(n,t);for(var u=-1,o=n.length,a=o-1,c=t;c!=null&&++u<o;){var h=un(n[u]),y=e;if(h==="__proto__"||h==="constructor"||h==="prototype")return t;if(u!=a){var m=c[h];y=r?r(m,h,c):i,y===i&&(y=rt(m)?m:dn(n[u+1])?[]:{})}me(c,h,y),c=c[h]}return t}var ms=nr?function(t,n){return nr.set(t,n),t}:Pt,gl=Ve?function(t,n){return Ve(t,"toString",{configurable:!0,enumerable:!1,value:Ji(n),writable:!0})}:Pt;function _l(t){return vr(ie(t))}function kt(t,n,e){var r=-1,u=t.length;n<0&&(n=-n>u?0:u+n),e=e>u?u:e,e<0&&(e+=u),u=n>e?0:e-n>>>0,n>>>=0;for(var o=g(u);++r<u;)o[r]=t[r+n];return o}function vl(t,n){var e;return An(t,function(r,u,o){return e=n(r,u,o),!e}),!!e}function ar(t,n,e){var r=0,u=t==null?r:t.length;if(typeof n=="number"&&n===n&&u<=Lr){for(;r<u;){var o=r+u>>>1,a=t[o];a!==null&&!Dt(a)&&(e?a<=n:a<n)?r=o+1:u=o}return u}return xi(t,n,Pt,e)}function xi(t,n,e,r){var u=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var a=n!==n,c=n===null,h=Dt(n),y=n===i;u<o;){var m=tr((u+o)/2),S=e(t[m]),A=S!==i,P=S===null,L=S===S,U=Dt(S);if(a)var O=r||L;else y?O=L&&(r||A):c?O=L&&A&&(r||!P):h?O=L&&A&&!P&&(r||!U):P||U?O=!1:O=r?S<=n:S<n;O?u=m+1:o=m}return gt(o,De)}function xs(t,n){for(var e=-1,r=t.length,u=0,o=[];++e<r;){var a=t[e],c=n?n(a):a;if(!e||!Vt(c,h)){var h=c;o[u++]=a===0?0:a}}return o}function Ss(t){return typeof t=="number"?t:Dt(t)?kn:+t}function Wt(t){if(typeof t=="string")return t;if(F(t))return et(t,Wt)+"";if(Dt(t))return ts?ts.call(t):"";var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function bn(t,n,e){var r=-1,u=Ke,o=t.length,a=!0,c=[],h=c;if(e)a=!1,u=Xr;else if(o>=_){var y=n?null:Rl(t);if(y)return ke(y);a=!1,u=pe,h=new Fn}else h=n?[]:c;t:for(;++r<o;){var m=t[r],S=n?n(m):m;if(m=e||m!==0?m:0,a&&S===S){for(var A=h.length;A--;)if(h[A]===S)continue t;n&&h.push(S),c.push(m)}else u(h,S,e)||(h!==c&&h.push(S),c.push(m))}return c}function Si(t,n){return n=Cn(n,t),t=Xs(t,n),t==null||delete t[un(Ht(n))]}function As(t,n,e,r){return be(t,n,e(Un(t,n)),r)}function fr(t,n,e,r){for(var u=t.length,o=r?u:-1;(r?o--:++o<u)&&n(t[o],o,t););return e?kt(t,r?0:o,r?o+1:u):kt(t,r?o+1:0,r?u:o)}function bs(t,n){var e=t;return e instanceof q&&(e=e.value()),Qr(n,function(r,u){return u.func.apply(u.thisArg,mn([r],u.args))},e)}function Ai(t,n,e){var r=t.length;if(r<2)return r?bn(t[0]):[];for(var u=-1,o=g(r);++u<r;)for(var a=t[u],c=-1;++c<r;)c!=u&&(o[u]=xe(o[u]||a,t[c],n,e));return bn(pt(o,1),n,e)}function Cs(t,n,e){for(var r=-1,u=t.length,o=n.length,a={};++r<u;){var c=r<o?n[r]:i;e(a,t[r],c)}return a}function bi(t){return st(t)?t:[]}function Ci(t){return typeof t=="function"?t:Pt}function Cn(t,n){return F(t)?t:Di(t,n)?[t]:to(Q(t))}var wl=M;function In(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:kt(t,n,e)}var Is=uc||function(t){return dt.clearTimeout(t)};function Ps(t,n){if(n)return t.slice();var e=t.length,r=Zu?Zu(e):new t.constructor(e);return t.copy(r),r}function Ii(t){var n=new t.constructor(t.byteLength);return new Ye(n).set(new Ye(t)),n}function yl(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function ml(t){var n=new t.constructor(t.source,cu.exec(t));return n.lastIndex=t.lastIndex,n}function xl(t){return ye?j(ye.call(t)):{}}function Rs(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Es(t,n){if(t!==n){var e=t!==i,r=t===null,u=t===t,o=Dt(t),a=n!==i,c=n===null,h=n===n,y=Dt(n);if(!c&&!y&&!o&&t>n||o&&a&&h&&!c&&!y||r&&a&&h||!e&&h||!u)return 1;if(!r&&!o&&!y&&t<n||y&&e&&u&&!r&&!o||c&&e&&u||!a&&u||!h)return-1}return 0}function Sl(t,n,e){for(var r=-1,u=t.criteria,o=n.criteria,a=u.length,c=e.length;++r<a;){var h=Es(u[r],o[r]);if(h){if(r>=c)return h;var y=e[r];return h*(y=="desc"?-1:1)}}return t.index-n.index}function Ts(t,n,e,r){for(var u=-1,o=t.length,a=e.length,c=-1,h=n.length,y=ct(o-a,0),m=g(h+y),S=!r;++c<h;)m[c]=n[c];for(;++u<a;)(S||u<o)&&(m[e[u]]=t[u]);for(;y--;)m[c++]=t[u++];return m}function Ls(t,n,e,r){for(var u=-1,o=t.length,a=-1,c=e.length,h=-1,y=n.length,m=ct(o-c,0),S=g(m+y),A=!r;++u<m;)S[u]=t[u];for(var P=u;++h<y;)S[P+h]=n[h];for(;++a<c;)(A||u<o)&&(S[P+e[a]]=t[u++]);return S}function bt(t,n){var e=-1,r=t.length;for(n||(n=g(r));++e<r;)n[e]=t[e];return n}function rn(t,n,e,r){var u=!e;e||(e={});for(var o=-1,a=n.length;++o<a;){var c=n[o],h=r?r(e[c],t[c],c,e,t):i;h===i&&(h=t[c]),u?cn(e,c,h):me(e,c,h)}return e}function Al(t,n){return rn(t,Wi(t),n)}function bl(t,n){return rn(t,Hs(t),n)}function cr(t,n){return function(e,r){var u=F(e)?Ef:Gc,o=n?n():{};return u(e,t,T(r,2),o)}}function te(t){return M(function(n,e){var r=-1,u=e.length,o=u>1?e[u-1]:i,a=u>2?e[2]:i;for(o=t.length>3&&typeof o=="function"?(u--,o):i,a&&xt(e[0],e[1],a)&&(o=u<3?i:o,u=1),n=j(n);++r<u;){var c=e[r];c&&t(n,c,r,o)}return n})}function Os(t,n){return function(e,r){if(e==null)return e;if(!Ct(e))return t(e,r);for(var u=e.length,o=n?u:-1,a=j(e);(n?o--:++o<u)&&r(a[o],o,a)!==!1;);return e}}function Ws(t){return function(n,e,r){for(var u=-1,o=j(n),a=r(n),c=a.length;c--;){var h=a[t?c:++u];if(e(o[h],h,o)===!1)break}return n}}function Cl(t,n,e){var r=n&wt,u=Ce(t);function o(){var a=this&&this!==dt&&this instanceof o?u:t;return a.apply(r?e:this,arguments)}return o}function Ds(t){return function(n){n=Q(n);var e=Jn(n)?Xt(n):i,r=e?e[0]:n.charAt(0),u=e?In(e,1).join(""):n.slice(1);return r[t]()+u}}function ne(t){return function(n){return Qr(Wo(Oo(n).replace(gf,"")),t,"")}}function Ce(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=jn(t.prototype),r=t.apply(e,n);return rt(r)?r:e}}function Il(t,n,e){var r=Ce(t);function u(){for(var o=arguments.length,a=g(o),c=o,h=ee(u);c--;)a[c]=arguments[c];var y=o<3&&a[0]!==h&&a[o-1]!==h?[]:xn(a,h);if(o-=y.length,o<e)return Ms(t,n,lr,u.placeholder,i,a,y,i,i,e-o);var m=this&&this!==dt&&this instanceof u?r:t;return Lt(m,this,a)}return u}function Fs(t){return function(n,e,r){var u=j(n);if(!Ct(n)){var o=T(e,3);n=ht(n),e=function(c){return o(u[c],c,u)}}var a=t(n,e,r);return a>-1?u[o?n[a]:a]:i}}function Ns(t){return hn(function(n){var e=n.length,r=e,u=Kt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new $t(x);if(u&&!a&&gr(o)=="wrapper")var a=new Kt([],!0)}for(r=a?r:e;++r<e;){o=n[r];var c=gr(o),h=c=="wrapper"?Li(o):i;h&&Fi(h[0])&&h[1]==(At|at|Gt|Et)&&!h[4].length&&h[9]==1?a=a[gr(h[0])].apply(a,h[3]):a=o.length==1&&Fi(o)?a[c]():a.thru(o)}return function(){var y=arguments,m=y[0];if(a&&y.length==1&&F(m))return a.plant(m).value();for(var S=0,A=e?n[S].apply(this,y):m;++S<e;)A=n[S].call(this,A);return A}})}function lr(t,n,e,r,u,o,a,c,h,y){var m=n&At,S=n&wt,A=n&Rt,P=n&(at|Tn),L=n&Kn,U=A?i:Ce(t);function O(){for(var K=arguments.length,z=g(K),Ft=K;Ft--;)z[Ft]=arguments[Ft];if(P)var St=ee(O),Nt=Bf(z,St);if(r&&(z=Ts(z,r,u,P)),o&&(z=Ls(z,o,a,P)),K-=Nt,P&&K<y){var ot=xn(z,St);return Ms(t,n,lr,O.placeholder,e,z,ot,c,h,y-K)}var jt=S?e:this,_n=A?jt[t]:t;return K=z.length,c?z=Gl(z,c):L&&K>1&&z.reverse(),m&&h<K&&(z.length=h),this&&this!==dt&&this instanceof O&&(_n=U||Ce(_n)),_n.apply(jt,z)}return O}function Us(t,n){return function(e,r){return tl(e,t,n(r),{})}}function hr(t,n){return function(e,r){var u;if(e===i&&r===i)return n;if(e!==i&&(u=e),r!==i){if(u===i)return r;typeof e=="string"||typeof r=="string"?(e=Wt(e),r=Wt(r)):(e=Ss(e),r=Ss(r)),u=t(e,r)}return u}}function Pi(t){return hn(function(n){return n=et(n,Ot(T())),M(function(e){var r=this;return t(n,function(u){return Lt(u,r,e)})})})}function dr(t,n){n=n===i?" ":Wt(n);var e=n.length;if(e<2)return e?mi(n,t):n;var r=mi(n,je(t/Zn(n)));return Jn(n)?In(Xt(r),0,t).join(""):r.slice(0,t)}function Pl(t,n,e,r){var u=n&wt,o=Ce(t);function a(){for(var c=-1,h=arguments.length,y=-1,m=r.length,S=g(m+h),A=this&&this!==dt&&this instanceof a?o:t;++y<m;)S[y]=r[y];for(;h--;)S[y++]=arguments[++c];return Lt(A,u?e:this,S)}return a}function Bs(t){return function(n,e,r){return r&&typeof r!="number"&&xt(n,e,r)&&(e=r=i),n=gn(n),e===i?(e=n,n=0):e=gn(e),r=r===i?n<e?1:-1:gn(r),hl(n,e,r,t)}}function pr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=zt(n),e=zt(e)),t(n,e)}}function Ms(t,n,e,r,u,o,a,c,h,y){var m=n&at,S=m?a:i,A=m?i:a,P=m?o:i,L=m?i:o;n|=m?Gt:vn,n&=~(m?vn:Gt),n&tn||(n&=-4);var U=[t,n,u,P,S,L,A,c,h,y],O=e.apply(i,U);return Fi(t)&&Qs(O,U),O.placeholder=r,Vs(O,t,n)}function Ri(t){var n=ft[t];return function(e,r){if(e=zt(e),r=r==null?0:gt(N(r),292),r&&Vu(e)){var u=(Q(e)+"e").split("e"),o=n(u[0]+"e"+(+u[1]+r));return u=(Q(o)+"e").split("e"),+(u[0]+"e"+(+u[1]-r))}return n(e)}}var Rl=Qn&&1/ke(new Qn([,-0]))[1]==sn?function(t){return new Qn(t)}:Xi;function $s(t){return function(n){var e=_t(n);return e==Zt?ii(n):e==Yt?zf(n):Uf(n,t(n))}}function ln(t,n,e,r,u,o,a,c){var h=n&Rt;if(!h&&typeof t!="function")throw new $t(x);var y=r?r.length:0;if(y||(n&=-97,r=u=i),a=a===i?a:ct(N(a),0),c=c===i?c:N(c),y-=u?u.length:0,n&vn){var m=r,S=u;r=u=i}var A=h?i:Li(t),P=[t,n,e,r,u,m,S,o,a,c];if(A&&kl(P,A),t=P[0],n=P[1],e=P[2],r=P[3],u=P[4],c=P[9]=P[9]===i?h?0:t.length:ct(P[9]-y,0),!c&&n&(at|Tn)&&(n&=-25),!n||n==wt)var L=Cl(t,n,e);else n==at||n==Tn?L=Il(t,n,c):(n==Gt||n==(wt|Gt))&&!u.length?L=Pl(t,n,e,r):L=lr.apply(i,P);var U=A?ms:Qs;return Vs(U(L,P),t,n)}function Ks(t,n,e,r){return t===i||Vt(t,Xn[e])&&!V.call(r,e)?n:t}function qs(t,n,e,r,u,o){return rt(t)&&rt(n)&&(o.set(n,t),or(t,n,i,qs,o),o.delete(n)),t}function El(t){return Re(t)?i:t}function ks(t,n,e,r,u,o){var a=e&X,c=t.length,h=n.length;if(c!=h&&!(a&&h>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var S=-1,A=!0,P=e&$?new Fn:i;for(o.set(t,n),o.set(n,t);++S<c;){var L=t[S],U=n[S];if(r)var O=a?r(U,L,S,n,t,o):r(L,U,S,t,n,o);if(O!==i){if(O)continue;A=!1;break}if(P){if(!Vr(n,function(K,z){if(!pe(P,z)&&(L===K||u(L,K,e,r,o)))return P.push(z)})){A=!1;break}}else if(!(L===U||u(L,U,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function Tl(t,n,e,r,u,o,a){switch(e){case Hn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case de:return!(t.byteLength!=n.byteLength||!o(new Ye(t),new Ye(n)));case wn:case yt:case fe:return Vt(+t,+n);case Fe:return t.name==n.name&&t.message==n.message;case ce:case le:return t==n+"";case Zt:var c=ii;case Yt:var h=r&X;if(c||(c=ke),t.size!=n.size&&!h)return!1;var y=a.get(t);if(y)return y==n;r|=$,a.set(t,n);var m=ks(c(t),c(n),r,u,o,a);return a.delete(t),m;case Ue:if(ye)return ye.call(t)==ye.call(n)}return!1}function Ll(t,n,e,r,u,o){var a=e&X,c=Ei(t),h=c.length,y=Ei(n),m=y.length;if(h!=m&&!a)return!1;for(var S=h;S--;){var A=c[S];if(!(a?A in n:V.call(n,A)))return!1}var P=o.get(t),L=o.get(n);if(P&&L)return P==n&&L==t;var U=!0;o.set(t,n),o.set(n,t);for(var O=a;++S<h;){A=c[S];var K=t[A],z=n[A];if(r)var Ft=a?r(z,K,A,n,t,o):r(K,z,A,t,n,o);if(!(Ft===i?K===z||u(K,z,e,r,o):Ft)){U=!1;break}O||(O=A=="constructor")}if(U&&!O){var St=t.constructor,Nt=n.constructor;St!=Nt&&"constructor"in t&&"constructor"in n&&!(typeof St=="function"&&St instanceof St&&typeof Nt=="function"&&Nt instanceof Nt)&&(U=!1)}return o.delete(t),o.delete(n),U}function hn(t){return Ui(Ys(t,i,io),t+"")}function Ei(t){return fs(t,ht,Wi)}function Ti(t){return fs(t,It,Hs)}var Li=nr?function(t){return nr.get(t)}:Xi;function gr(t){for(var n=t.name+"",e=Vn[n],r=V.call(Vn,n)?e.length:0;r--;){var u=e[r],o=u.func;if(o==null||o==t)return u.name}return n}function ee(t){var n=V.call(s,"placeholder")?s:t;return n.placeholder}function T(){var t=s.iteratee||Zi;return t=t===Zi?hs:t,arguments.length?t(arguments[0],arguments[1]):t}function _r(t,n){var e=t.__data__;return Ml(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Oi(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],u=t[r];n[e]=[r,u,Js(u)]}return n}function Bn(t,n){var e=qf(t,n);return ls(e)?e:i}function Ol(t){var n=V.call(t,Wn),e=t[Wn];try{t[Wn]=i;var r=!0}catch{}var u=Je.call(t);return r&&(n?t[Wn]=e:delete t[Wn]),u}var Wi=si?function(t){return t==null?[]:(t=j(t),yn(si(t),function(n){return Xu.call(t,n)}))}:Qi,Hs=si?function(t){for(var n=[];t;)mn(n,Wi(t)),t=Xe(t);return n}:Qi,_t=mt;(oi&&_t(new oi(new ArrayBuffer(1)))!=Hn||_e&&_t(new _e)!=Zt||ai&&_t(ai.resolve())!=su||Qn&&_t(new Qn)!=Yt||ve&&_t(new ve)!=he)&&(_t=function(t){var n=mt(t),e=n==on?t.constructor:i,r=e?Mn(e):"";if(r)switch(r){case pc:return Hn;case gc:return Zt;case _c:return su;case vc:return Yt;case wc:return he}return n});function Wl(t,n,e){for(var r=-1,u=e.length;++r<u;){var o=e[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":n-=a;break;case"take":n=gt(n,t+a);break;case"takeRight":t=ct(t,n-a);break}}return{start:t,end:n}}function Dl(t){var n=t.match(Ma);return n?n[1].split($a):[]}function zs(t,n,e){n=Cn(n,t);for(var r=-1,u=n.length,o=!1;++r<u;){var a=un(n[r]);if(!(o=t!=null&&e(t,a)))break;t=t[a]}return o||++r!=u?o:(u=t==null?0:t.length,!!u&&Ar(u)&&dn(a,u)&&(F(t)||$n(t)))}function Fl(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&V.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Gs(t){return typeof t.constructor=="function"&&!Ie(t)?jn(Xe(t)):{}}function Nl(t,n,e){var r=t.constructor;switch(n){case de:return Ii(t);case wn:case yt:return new r(+t);case Hn:return yl(t,e);case Or:case Wr:case Dr:case Fr:case Nr:case Ur:case Br:case Mr:case $r:return Rs(t,e);case Zt:return new r;case fe:case le:return new r(t);case ce:return ml(t);case Yt:return new r;case Ue:return xl(t)}}function Ul(t,n){var e=n.length;if(!e)return t;var r=e-1;return n[r]=(e>1?"& ":"")+n[r],n=n.join(e>2?", ":" "),t.replace(Ba,`{
9
9
  /* [wrapped with `+n+`] */
10
- `)}function Bl(t){return F(t)||Mn(t)||!!(Qu&&t&&t[Qu])}function dn(t,n){var e=typeof t;return n=n??nn,!!n&&(e=="number"||e!="symbol"&&Ya.test(t))&&t>-1&&t%1==0&&t<n}function xt(t,n,e){if(!rt(e))return!1;var r=typeof n;return(r=="number"?Ct(e)&&dn(n,e.length):r=="string"&&n in e)?Vt(e[n],t):!1}function Di(t,n){if(F(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Wt(t)?!0:Da.test(t)||!Wa.test(t)||n!=null&&t in j(n)}function Ml(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Fi(t){var n=gr(t),e=s[n];if(typeof e!="function"||!(n in q.prototype))return!1;if(t===e)return!0;var r=Li(e);return!!r&&t===r[0]}function $l(t){return!!Ju&&Ju in t}var Kl=ze?pn:Vi;function Ie(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Xn;return t===e}function Js(t){return t===t&&!rt(t)}function Zs(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function ql(t){var n=xr(t,function(r){return e.size===B&&e.clear(),r}),e=n.cache;return n}function kl(t,n){var e=t[1],r=n[1],u=e|r,o=u<(wt|Rt|At),a=r==At&&e==ot||r==At&&e==Nt&&t[7].length<=n[8]||r==(At|Nt)&&n[7].length<=n[8]&&e==ot;if(!(o||a))return t;r&wt&&(t[2]=n[2],u|=e&wt?0:tn);var c=n[3];if(c){var h=t[3];t[3]=h?Ts(h,c,n[4]):c,t[4]=h?xn(t[3],C):n[4]}return c=n[5],c&&(h=t[5],t[5]=h?Ls(h,c,n[6]):c,t[6]=h?xn(t[5],C):n[6]),c=n[7],c&&(t[7]=c),r&At&&(t[8]=t[8]==null?n[8]:gt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=u,t}function Hl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function zl(t){return Je.call(t)}function Ys(t,n,e){return n=ft(n===i?t.length-1:n,0),function(){for(var r=arguments,u=-1,o=ft(r.length-n,0),a=g(o);++u<o;)a[u]=r[n+u];u=-1;for(var c=g(n+1);++u<n;)c[u]=r[u];return c[n]=e(a),Tt(t,this,c)}}function Xs(t,n){return n.length<2?t:Nn(t,kt(n,0,-1))}function Gl(t,n){for(var e=t.length,r=gt(n.length,e),u=bt(t);r--;){var o=n[r];t[r]=dn(o,e)?u[o]:i}return t}function Ni(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var Qs=js(ms),Pe=oc||function(t,n){return dt.setTimeout(t,n)},Ui=js(gl);function Vs(t,n,e){var r=n+"";return Ui(t,Ul(r,Jl(Dl(r),e)))}function js(t){var n=0,e=0;return function(){var r=lc(),u=qn-(r-e);if(e=r,u>0){if(++n>=We)return arguments[0]}else n=0;return t.apply(i,arguments)}}function vr(t,n){var e=-1,r=t.length,u=r-1;for(n=n===i?r:n;++e<n;){var o=yi(e,u),a=t[o];t[o]=t[e],t[e]=a}return t.length=n,t}var to=ql(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Fa,function(e,r,u,o){n.push(u?o.replace(ka,"$1"):r||e)}),n});function un(t){if(typeof t=="string"||Wt(t))return t;var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function Bn(t){if(t!=null){try{return Ge.call(t)}catch{}try{return t+""}catch{}}return""}function Jl(t,n){return Mt(V,function(e){var r="_."+e[0];n&e[1]&&!Ke(t,r)&&t.push(r)}),t.sort()}function no(t){if(t instanceof q)return t.clone();var n=new Kt(t.__wrapped__,t.__chain__);return n.__actions__=bt(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Zl(t,n,e){(e?xt(t,n,e):n===i)?n=1:n=ft(N(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var u=0,o=0,a=g(je(r/n));u<r;)a[o++]=kt(t,u,u+=n);return a}function Yl(t){for(var n=-1,e=t==null?0:t.length,r=0,u=[];++n<e;){var o=t[n];o&&(u[r++]=o)}return u}function Xl(){var t=arguments.length;if(!t)return[];for(var n=g(t-1),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return mn(F(e)?bt(e):[e],pt(n,1))}var Ql=M(function(t,n){return ut(t)?xe(t,pt(n,1,ut,!0)):[]}),Vl=M(function(t,n){var e=Ht(n);return ut(e)&&(e=i),ut(t)?xe(t,pt(n,1,ut,!0),E(e,2)):[]}),jl=M(function(t,n){var e=Ht(n);return ut(e)&&(e=i),ut(t)?xe(t,pt(n,1,ut,!0),i,e):[]});function th(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),kt(t,n<0?0:n,r)):[]}function nh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,kt(t,0,n<0?0:n)):[]}function eh(t,n){return t&&t.length?fr(t,E(n,3),!0,!0):[]}function rh(t,n){return t&&t.length?fr(t,E(n,3),!0):[]}function ih(t,n,e,r){var u=t==null?0:t.length;return u?(e&&typeof e!="number"&&xt(t,n,e)&&(e=0,r=u),Xc(t,n,e,r)):[]}function eo(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:N(e);return u<0&&(u=ft(r+u,0)),qe(t,E(n,3),u)}function ro(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r-1;return e!==i&&(u=N(e),u=e<0?ft(r+u,0):gt(u,r-1)),qe(t,E(n,3),u,!0)}function io(t){var n=t==null?0:t.length;return n?pt(t,1):[]}function uh(t){var n=t==null?0:t.length;return n?pt(t,sn):[]}function sh(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:N(n),pt(t,n)):[]}function oh(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var u=t[n];r[u[0]]=u[1]}return r}function uo(t){return t&&t.length?t[0]:i}function ah(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:N(e);return u<0&&(u=ft(r+u,0)),Gn(t,n,u)}function fh(t){var n=t==null?0:t.length;return n?kt(t,0,-1):[]}var ch=M(function(t){var n=et(t,bi);return n.length&&n[0]===t[0]?pi(n):[]}),lh=M(function(t){var n=Ht(t),e=et(t,bi);return n===Ht(e)?n=i:e.pop(),e.length&&e[0]===t[0]?pi(e,E(n,2)):[]}),hh=M(function(t){var n=Ht(t),e=et(t,bi);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?pi(e,i,n):[]});function dh(t,n){return t==null?"":fc.call(t,n)}function Ht(t){var n=t==null?0:t.length;return n?t[n-1]:i}function ph(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r;return e!==i&&(u=N(e),u=u<0?ft(r+u,0):gt(u,r-1)),n===n?Jf(t,n,u):qe(t,Mu,u,!0)}function gh(t,n){return t&&t.length?_s(t,N(n)):i}var _h=M(so);function so(t,n){return t&&t.length&&n&&n.length?wi(t,n):t}function vh(t,n,e){return t&&t.length&&n&&n.length?wi(t,n,E(e,2)):t}function wh(t,n,e){return t&&t.length&&n&&n.length?wi(t,n,i,e):t}var yh=hn(function(t,n){var e=t==null?0:t.length,r=ci(t,n);return ys(t,et(n,function(u){return dn(u,e)?+u:u}).sort(Es)),r});function mh(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,u=[],o=t.length;for(n=E(n,3);++r<o;){var a=t[r];n(a,r,t)&&(e.push(a),u.push(r))}return ys(t,u),e}function Bi(t){return t==null?t:dc.call(t)}function xh(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&xt(t,n,e)?(n=0,e=r):(n=n==null?0:N(n),e=e===i?r:N(e)),kt(t,n,e)):[]}function Sh(t,n){return ar(t,n)}function Ah(t,n,e){return xi(t,n,E(e,2))}function bh(t,n){var e=t==null?0:t.length;if(e){var r=ar(t,n);if(r<e&&Vt(t[r],n))return r}return-1}function Ch(t,n){return ar(t,n,!0)}function Ih(t,n,e){return xi(t,n,E(e,2),!0)}function Ph(t,n){var e=t==null?0:t.length;if(e){var r=ar(t,n,!0)-1;if(Vt(t[r],n))return r}return-1}function Rh(t){return t&&t.length?xs(t):[]}function Eh(t,n){return t&&t.length?xs(t,E(n,2)):[]}function Th(t){var n=t==null?0:t.length;return n?kt(t,1,n):[]}function Lh(t,n,e){return t&&t.length?(n=e||n===i?1:N(n),kt(t,0,n<0?0:n)):[]}function Oh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,kt(t,n<0?0:n,r)):[]}function Wh(t,n){return t&&t.length?fr(t,E(n,3),!1,!0):[]}function Dh(t,n){return t&&t.length?fr(t,E(n,3)):[]}var Fh=M(function(t){return bn(pt(t,1,ut,!0))}),Nh=M(function(t){var n=Ht(t);return ut(n)&&(n=i),bn(pt(t,1,ut,!0),E(n,2))}),Uh=M(function(t){var n=Ht(t);return n=typeof n=="function"?n:i,bn(pt(t,1,ut,!0),i,n)});function Bh(t){return t&&t.length?bn(t):[]}function Mh(t,n){return t&&t.length?bn(t,E(n,2)):[]}function $h(t,n){return n=typeof n=="function"?n:i,t&&t.length?bn(t,i,n):[]}function Mi(t){if(!(t&&t.length))return[];var n=0;return t=yn(t,function(e){if(ut(e))return n=ft(e.length,n),!0}),ei(n,function(e){return et(t,jr(e))})}function oo(t,n){if(!(t&&t.length))return[];var e=Mi(t);return n==null?e:et(e,function(r){return Tt(n,i,r)})}var Kh=M(function(t,n){return ut(t)?xe(t,n):[]}),qh=M(function(t){return Ai(yn(t,ut))}),kh=M(function(t){var n=Ht(t);return ut(n)&&(n=i),Ai(yn(t,ut),E(n,2))}),Hh=M(function(t){var n=Ht(t);return n=typeof n=="function"?n:i,Ai(yn(t,ut),i,n)}),zh=M(Mi);function Gh(t,n){return Cs(t||[],n||[],me)}function Jh(t,n){return Cs(t||[],n||[],be)}var Zh=M(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,oo(t,e)});function ao(t){var n=s(t);return n.__chain__=!0,n}function Yh(t,n){return n(t),t}function wr(t,n){return n(t)}var Xh=hn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,u=function(o){return ci(o,t)};return n>1||this.__actions__.length||!(r instanceof q)||!dn(e)?this.thru(u):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:wr,args:[u],thisArg:i}),new Kt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function Qh(){return ao(this)}function Vh(){return new Kt(this.value(),this.__chain__)}function jh(){this.__values__===i&&(this.__values__=Ao(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function td(){return this}function nd(t){for(var n,e=this;e instanceof rr;){var r=no(e);r.__index__=0,r.__values__=i,n?u.__wrapped__=r:n=r;var u=r;e=e.__wrapped__}return u.__wrapped__=t,n}function ed(){var t=this.__wrapped__;if(t instanceof q){var n=t;return this.__actions__.length&&(n=new q(this)),n=n.reverse(),n.__actions__.push({func:wr,args:[Bi],thisArg:i}),new Kt(n,this.__chain__)}return this.thru(Bi)}function rd(){return bs(this.__wrapped__,this.__actions__)}var id=cr(function(t,n,e){Q.call(t,e)?++t[e]:cn(t,e,1)});function ud(t,n,e){var r=F(t)?Uu:Yc;return e&&xt(t,n,e)&&(n=i),r(t,E(n,3))}function sd(t,n){var e=F(t)?yn:os;return e(t,E(n,3))}var od=Fs(eo),ad=Fs(ro);function fd(t,n){return pt(yr(t,n),1)}function cd(t,n){return pt(yr(t,n),sn)}function ld(t,n,e){return e=e===i?1:N(e),pt(yr(t,n),e)}function fo(t,n){var e=F(t)?Mt:An;return e(t,E(n,3))}function co(t,n){var e=F(t)?Tf:ss;return e(t,E(n,3))}var hd=cr(function(t,n,e){Q.call(t,e)?t[e].push(n):cn(t,e,[n])});function dd(t,n,e,r){t=Ct(t)?t:ie(t),e=e&&!r?N(e):0;var u=t.length;return e<0&&(e=ft(u+e,0)),br(t)?e<=u&&t.indexOf(n,e)>-1:!!u&&Gn(t,n,e)>-1}var pd=M(function(t,n,e){var r=-1,u=typeof n=="function",o=Ct(t)?g(t.length):[];return An(t,function(a){o[++r]=u?Tt(n,a,e):Se(a,n,e)}),o}),gd=cr(function(t,n,e){cn(t,e,n)});function yr(t,n){var e=F(t)?et:ds;return e(t,E(n,3))}function _d(t,n,e,r){return t==null?[]:(F(n)||(n=n==null?[]:[n]),e=r?i:e,F(e)||(e=e==null?[]:[e]),vs(t,n,e))}var vd=cr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function wd(t,n,e){var r=F(t)?Qr:Ku,u=arguments.length<3;return r(t,E(n,4),e,u,An)}function yd(t,n,e){var r=F(t)?Lf:Ku,u=arguments.length<3;return r(t,E(n,4),e,u,ss)}function md(t,n){var e=F(t)?yn:os;return e(t,Sr(E(n,3)))}function xd(t){var n=F(t)?es:dl;return n(t)}function Sd(t,n,e){(e?xt(t,n,e):n===i)?n=1:n=N(n);var r=F(t)?Hc:pl;return r(t,n)}function Ad(t){var n=F(t)?zc:_l;return n(t)}function bd(t){if(t==null)return 0;if(Ct(t))return br(t)?Zn(t):t.length;var n=_t(t);return n==Zt||n==Yt?t.size:_i(t).length}function Cd(t,n,e){var r=F(t)?Vr:vl;return e&&xt(t,n,e)&&(n=i),r(t,E(n,3))}var Id=M(function(t,n){if(t==null)return[];var e=n.length;return e>1&&xt(t,n[0],n[1])?n=[]:e>2&&xt(n[0],n[1],n[2])&&(n=[n[0]]),vs(t,pt(n,1),[])}),mr=sc||function(){return dt.Date.now()};function Pd(t,n){if(typeof n!="function")throw new $t(x);return t=N(t),function(){if(--t<1)return n.apply(this,arguments)}}function lo(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,ln(t,At,i,i,i,i,n)}function ho(t,n){var e;if(typeof n!="function")throw new $t(x);return t=N(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var $i=M(function(t,n,e){var r=wt;if(e.length){var u=xn(e,ee($i));r|=Gt}return ln(t,r,n,e,u)}),po=M(function(t,n,e){var r=wt|Rt;if(e.length){var u=xn(e,ee(po));r|=Gt}return ln(n,r,t,e,u)});function go(t,n,e){n=e?i:n;var r=ln(t,ot,i,i,i,i,i,n);return r.placeholder=go.placeholder,r}function _o(t,n,e){n=e?i:n;var r=ln(t,En,i,i,i,i,i,n);return r.placeholder=_o.placeholder,r}function vo(t,n,e){var r,u,o,a,c,h,y=0,m=!1,S=!1,A=!0;if(typeof t!="function")throw new $t(x);n=zt(n)||0,rt(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ft(zt(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function P(st){var jt=r,_n=u;return r=u=i,y=st,a=t.apply(_n,jt),a}function L(st){return y=st,c=Pe(K,n),m?P(st):a}function U(st){var jt=st-h,_n=st-y,No=n-jt;return S?gt(No,o-_n):No}function O(st){var jt=st-h,_n=st-y;return h===i||jt>=n||jt<0||S&&_n>=o}function K(){var st=mr();if(O(st))return z(st);c=Pe(K,U(st))}function z(st){return c=i,A&&r?P(st):(r=u=i,a)}function Dt(){c!==i&&Is(c),y=0,r=h=u=c=i}function St(){return c===i?a:z(mr())}function Ft(){var st=mr(),jt=O(st);if(r=arguments,u=this,h=st,jt){if(c===i)return L(h);if(S)return Is(c),c=Pe(K,n),P(h)}return c===i&&(c=Pe(K,n)),a}return Ft.cancel=Dt,Ft.flush=St,Ft}var Rd=M(function(t,n){return us(t,1,n)}),Ed=M(function(t,n,e){return us(t,zt(n)||0,e)});function Td(t){return ln(t,Kn)}function xr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new $t(x);var e=function(){var r=arguments,u=n?n.apply(this,r):r[0],o=e.cache;if(o.has(u))return o.get(u);var a=t.apply(this,r);return e.cache=o.set(u,a)||o,a};return e.cache=new(xr.Cache||fn),e}xr.Cache=fn;function Sr(t){if(typeof t!="function")throw new $t(x);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Ld(t){return ho(2,t)}var Od=wl(function(t,n){n=n.length==1&&F(n[0])?et(n[0],Lt(E())):et(pt(n,1),Lt(E()));var e=n.length;return M(function(r){for(var u=-1,o=gt(r.length,e);++u<o;)r[u]=n[u].call(this,r[u]);return Tt(t,this,r)})}),Ki=M(function(t,n){var e=xn(n,ee(Ki));return ln(t,Gt,i,n,e)}),wo=M(function(t,n){var e=xn(n,ee(wo));return ln(t,vn,i,n,e)}),Wd=hn(function(t,n){return ln(t,Nt,i,i,i,n)});function Dd(t,n){if(typeof t!="function")throw new $t(x);return n=n===i?n:N(n),M(t,n)}function Fd(t,n){if(typeof t!="function")throw new $t(x);return n=n==null?0:ft(N(n),0),M(function(e){var r=e[n],u=In(e,0,n);return r&&mn(u,r),Tt(t,this,u)})}function Nd(t,n,e){var r=!0,u=!0;if(typeof t!="function")throw new $t(x);return rt(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),vo(t,n,{leading:r,maxWait:n,trailing:u})}function Ud(t){return lo(t,1)}function Bd(t,n){return Ki(Ci(n),t)}function Md(){if(!arguments.length)return[];var t=arguments[0];return F(t)?t:[t]}function $d(t){return qt(t,Z)}function Kd(t,n){return n=typeof n=="function"?n:i,qt(t,Z,n)}function qd(t){return qt(t,H|Z)}function kd(t,n){return n=typeof n=="function"?n:i,qt(t,H|Z,n)}function Hd(t,n){return n==null||is(t,n,ht(n))}function Vt(t,n){return t===n||t!==t&&n!==n}var zd=pr(di),Gd=pr(function(t,n){return t>=n}),Mn=cs(function(){return arguments}())?cs:function(t){return it(t)&&Q.call(t,"callee")&&!Xu.call(t,"callee")},F=g.isArray,Jd=Lu?Lt(Lu):nl;function Ct(t){return t!=null&&Ar(t.length)&&!pn(t)}function ut(t){return it(t)&&Ct(t)}function Zd(t){return t===!0||t===!1||it(t)&&mt(t)==wn}var Pn=ac||Vi,Yd=Ou?Lt(Ou):el;function Xd(t){return it(t)&&t.nodeType===1&&!Re(t)}function Qd(t){if(t==null)return!0;if(Ct(t)&&(F(t)||typeof t=="string"||typeof t.splice=="function"||Pn(t)||re(t)||Mn(t)))return!t.length;var n=_t(t);if(n==Zt||n==Yt)return!t.size;if(Ie(t))return!_i(t).length;for(var e in t)if(Q.call(t,e))return!1;return!0}function Vd(t,n){return Ae(t,n)}function jd(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?Ae(t,n,i,e):!!r}function qi(t){if(!it(t))return!1;var n=mt(t);return n==Fe||n==xa||typeof t.message=="string"&&typeof t.name=="string"&&!Re(t)}function tp(t){return typeof t=="number"&&Vu(t)}function pn(t){if(!rt(t))return!1;var n=mt(t);return n==Ne||n==uu||n==Tn||n==Aa}function yo(t){return typeof t=="number"&&t==N(t)}function Ar(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=nn}function rt(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function it(t){return t!=null&&typeof t=="object"}var mo=Wu?Lt(Wu):il;function np(t,n){return t===n||gi(t,n,Oi(n))}function ep(t,n,e){return e=typeof e=="function"?e:i,gi(t,n,Oi(n),e)}function rp(t){return xo(t)&&t!=+t}function ip(t){if(Kl(t))throw new D(v);return ls(t)}function up(t){return t===null}function sp(t){return t==null}function xo(t){return typeof t=="number"||it(t)&&mt(t)==fe}function Re(t){if(!it(t)||mt(t)!=on)return!1;var n=Xe(t);if(n===null)return!0;var e=Q.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Ge.call(e)==ec}var ki=Du?Lt(Du):ul;function op(t){return yo(t)&&t>=-nn&&t<=nn}var So=Fu?Lt(Fu):sl;function br(t){return typeof t=="string"||!F(t)&&it(t)&&mt(t)==le}function Wt(t){return typeof t=="symbol"||it(t)&&mt(t)==Ue}var re=Nu?Lt(Nu):ol;function ap(t){return t===i}function fp(t){return it(t)&&_t(t)==he}function cp(t){return it(t)&&mt(t)==Ca}var lp=pr(vi),hp=pr(function(t,n){return t<=n});function Ao(t){if(!t)return[];if(Ct(t))return br(t)?Xt(t):bt(t);if(ge&&t[ge])return Hf(t[ge]());var n=_t(t),e=n==Zt?ii:n==Yt?ke:ie;return e(t)}function gn(t){if(!t)return t===0?t:0;if(t=zt(t),t===sn||t===-sn){var n=t<0?-1:1;return n*Tr}return t===t?t:0}function N(t){var n=gn(t),e=n%1;return n===n?e?n-e:n:0}function bo(t){return t?Fn(N(t),0,Ut):0}function zt(t){if(typeof t=="number")return t;if(Wt(t))return kn;if(rt(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=rt(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=qu(t);var e=Ga.test(t);return e||Za.test(t)?Pf(t.slice(2),e?2:8):za.test(t)?kn:+t}function Co(t){return rn(t,It(t))}function dp(t){return t?Fn(N(t),-nn,nn):t===0?t:0}function X(t){return t==null?"":Ot(t)}var pp=te(function(t,n){if(Ie(n)||Ct(n)){rn(n,ht(n),t);return}for(var e in n)Q.call(n,e)&&me(t,e,n[e])}),Io=te(function(t,n){rn(n,It(n),t)}),Cr=te(function(t,n,e,r){rn(n,It(n),t,r)}),gp=te(function(t,n,e,r){rn(n,ht(n),t,r)}),_p=hn(ci);function vp(t,n){var e=jn(t);return n==null?e:rs(e,n)}var wp=M(function(t,n){t=j(t);var e=-1,r=n.length,u=r>2?n[2]:i;for(u&&xt(n[0],n[1],u)&&(r=1);++e<r;)for(var o=n[e],a=It(o),c=-1,h=a.length;++c<h;){var y=a[c],m=t[y];(m===i||Vt(m,Xn[y])&&!Q.call(t,y))&&(t[y]=o[y])}return t}),yp=M(function(t){return t.push(i,qs),Tt(Po,i,t)});function mp(t,n){return Bu(t,E(n,3),en)}function xp(t,n){return Bu(t,E(n,3),hi)}function Sp(t,n){return t==null?t:li(t,E(n,3),It)}function Ap(t,n){return t==null?t:as(t,E(n,3),It)}function bp(t,n){return t&&en(t,E(n,3))}function Cp(t,n){return t&&hi(t,E(n,3))}function Ip(t){return t==null?[]:sr(t,ht(t))}function Pp(t){return t==null?[]:sr(t,It(t))}function Hi(t,n,e){var r=t==null?i:Nn(t,n);return r===i?e:r}function Rp(t,n){return t!=null&&zs(t,n,Qc)}function zi(t,n){return t!=null&&zs(t,n,Vc)}var Ep=Us(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Je.call(n)),t[n]=e},Ji(Pt)),Tp=Us(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Je.call(n)),Q.call(t,n)?t[n].push(e):t[n]=[e]},E),Lp=M(Se);function ht(t){return Ct(t)?ns(t):_i(t)}function It(t){return Ct(t)?ns(t,!0):al(t)}function Op(t,n){var e={};return n=E(n,3),en(t,function(r,u,o){cn(e,n(r,u,o),r)}),e}function Wp(t,n){var e={};return n=E(n,3),en(t,function(r,u,o){cn(e,u,n(r,u,o))}),e}var Dp=te(function(t,n,e){or(t,n,e)}),Po=te(function(t,n,e,r){or(t,n,e,r)}),Fp=hn(function(t,n){var e={};if(t==null)return e;var r=!1;n=et(n,function(o){return o=Cn(o,t),r||(r=o.length>1),o}),rn(t,Ti(t),e),r&&(e=qt(e,H|R|Z,El));for(var u=n.length;u--;)Si(e,n[u]);return e});function Np(t,n){return Ro(t,Sr(E(n)))}var Up=hn(function(t,n){return t==null?{}:cl(t,n)});function Ro(t,n){if(t==null)return{};var e=et(Ti(t),function(r){return[r]});return n=E(n),ws(t,e,function(r,u){return n(r,u[0])})}function Bp(t,n,e){n=Cn(n,t);var r=-1,u=n.length;for(u||(u=1,t=i);++r<u;){var o=t==null?i:t[un(n[r])];o===i&&(r=u,o=e),t=pn(o)?o.call(t):o}return t}function Mp(t,n,e){return t==null?t:be(t,n,e)}function $p(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:be(t,n,e,r)}var Eo=$s(ht),To=$s(It);function Kp(t,n,e){var r=F(t),u=r||Pn(t)||re(t);if(n=E(n,4),e==null){var o=t&&t.constructor;u?e=r?new o:[]:rt(t)?e=pn(o)?jn(Xe(t)):{}:e={}}return(u?Mt:en)(t,function(a,c,h){return n(e,a,c,h)}),e}function qp(t,n){return t==null?!0:Si(t,n)}function kp(t,n,e){return t==null?t:As(t,n,Ci(e))}function Hp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:As(t,n,Ci(e),r)}function ie(t){return t==null?[]:ri(t,ht(t))}function zp(t){return t==null?[]:ri(t,It(t))}function Gp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=zt(e),e=e===e?e:0),n!==i&&(n=zt(n),n=n===n?n:0),Fn(zt(t),n,e)}function Jp(t,n,e){return n=gn(n),e===i?(e=n,n=0):e=gn(e),t=zt(t),jc(t,n,e)}function Zp(t,n,e){if(e&&typeof e!="boolean"&&xt(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=gn(t),n===i?(n=t,t=0):n=gn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var u=ju();return gt(t+u*(n-t+If("1e-"+((u+"").length-1))),n)}return yi(t,n)}var Yp=ne(function(t,n,e){return n=n.toLowerCase(),t+(e?Lo(n):n)});function Lo(t){return Gi(X(t).toLowerCase())}function Oo(t){return t=X(t),t&&t.replace(Xa,Mf).replace(_f,"")}function Xp(t,n,e){t=X(t),n=Ot(n);var r=t.length;e=e===i?r:Fn(N(e),0,r);var u=e;return e-=n.length,e>=0&&t.slice(e,u)==n}function Qp(t){return t=X(t),t&&Ta.test(t)?t.replace(au,$f):t}function Vp(t){return t=X(t),t&&Na.test(t)?t.replace(Kr,"\\$&"):t}var jp=ne(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),tg=ne(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),ng=Ds("toLowerCase");function eg(t,n,e){t=X(t),n=N(n);var r=n?Zn(t):0;if(!n||r>=n)return t;var u=(n-r)/2;return dr(tr(u),e)+t+dr(je(u),e)}function rg(t,n,e){t=X(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?t+dr(n-r,e):t}function ig(t,n,e){t=X(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?dr(n-r,e)+t:t}function ug(t,n,e){return e||n==null?n=0:n&&(n=+n),hc(X(t).replace(qr,""),n||0)}function sg(t,n,e){return(e?xt(t,n,e):n===i)?n=1:n=N(n),mi(X(t),n)}function og(){var t=arguments,n=X(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var ag=ne(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function fg(t,n,e){return e&&typeof e!="number"&&xt(t,n,e)&&(n=e=i),e=e===i?Ut:e>>>0,e?(t=X(t),t&&(typeof n=="string"||n!=null&&!ki(n))&&(n=Ot(n),!n&&Jn(t))?In(Xt(t),0,e):t.split(n,e)):[]}var cg=ne(function(t,n,e){return t+(e?" ":"")+Gi(n)});function lg(t,n,e){return t=X(t),e=e==null?0:Fn(N(e),0,t.length),n=Ot(n),t.slice(e,e+n.length)==n}function hg(t,n,e){var r=s.templateSettings;e&&xt(t,n,e)&&(n=i),t=X(t),n=Cr({},n,r,Ks);var u=Cr({},n.imports,r.imports,Ks),o=ht(u),a=ri(u,o),c,h,y=0,m=n.interpolate||Be,S="__p += '",A=ui((n.escape||Be).source+"|"+m.source+"|"+(m===fu?Ha:Be).source+"|"+(n.evaluate||Be).source+"|$","g"),P="//# sourceURL="+(Q.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++xf+"]")+`
11
- `;t.replace(A,function(O,K,z,Dt,St,Ft){return z||(z=Dt),S+=t.slice(y,Ft).replace(Qa,Kf),K&&(c=!0,S+=`' +
10
+ `)}function Bl(t){return F(t)||$n(t)||!!(Qu&&t&&t[Qu])}function dn(t,n){var e=typeof t;return n=n??nn,!!n&&(e=="number"||e!="symbol"&&Ya.test(t))&&t>-1&&t%1==0&&t<n}function xt(t,n,e){if(!rt(e))return!1;var r=typeof n;return(r=="number"?Ct(e)&&dn(n,e.length):r=="string"&&n in e)?Vt(e[n],t):!1}function Di(t,n){if(F(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Dt(t)?!0:Da.test(t)||!Wa.test(t)||n!=null&&t in j(n)}function Ml(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Fi(t){var n=gr(t),e=s[n];if(typeof e!="function"||!(n in q.prototype))return!1;if(t===e)return!0;var r=Li(e);return!!r&&t===r[0]}function $l(t){return!!Ju&&Ju in t}var Kl=ze?pn:Vi;function Ie(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Xn;return t===e}function Js(t){return t===t&&!rt(t)}function Zs(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function ql(t){var n=xr(t,function(r){return e.size===B&&e.clear(),r}),e=n.cache;return n}function kl(t,n){var e=t[1],r=n[1],u=e|r,o=u<(wt|Rt|At),a=r==At&&e==at||r==At&&e==Et&&t[7].length<=n[8]||r==(At|Et)&&n[7].length<=n[8]&&e==at;if(!(o||a))return t;r&wt&&(t[2]=n[2],u|=e&wt?0:tn);var c=n[3];if(c){var h=t[3];t[3]=h?Ts(h,c,n[4]):c,t[4]=h?xn(t[3],C):n[4]}return c=n[5],c&&(h=t[5],t[5]=h?Ls(h,c,n[6]):c,t[6]=h?xn(t[5],C):n[6]),c=n[7],c&&(t[7]=c),r&At&&(t[8]=t[8]==null?n[8]:gt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=u,t}function Hl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function zl(t){return Je.call(t)}function Ys(t,n,e){return n=ct(n===i?t.length-1:n,0),function(){for(var r=arguments,u=-1,o=ct(r.length-n,0),a=g(o);++u<o;)a[u]=r[n+u];u=-1;for(var c=g(n+1);++u<n;)c[u]=r[u];return c[n]=e(a),Lt(t,this,c)}}function Xs(t,n){return n.length<2?t:Un(t,kt(n,0,-1))}function Gl(t,n){for(var e=t.length,r=gt(n.length,e),u=bt(t);r--;){var o=n[r];t[r]=dn(o,e)?u[o]:i}return t}function Ni(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var Qs=js(ms),Pe=oc||function(t,n){return dt.setTimeout(t,n)},Ui=js(gl);function Vs(t,n,e){var r=n+"";return Ui(t,Ul(r,Jl(Dl(r),e)))}function js(t){var n=0,e=0;return function(){var r=lc(),u=qn-(r-e);if(e=r,u>0){if(++n>=We)return arguments[0]}else n=0;return t.apply(i,arguments)}}function vr(t,n){var e=-1,r=t.length,u=r-1;for(n=n===i?r:n;++e<n;){var o=yi(e,u),a=t[o];t[o]=t[e],t[e]=a}return t.length=n,t}var to=ql(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Fa,function(e,r,u,o){n.push(u?o.replace(ka,"$1"):r||e)}),n});function un(t){if(typeof t=="string"||Dt(t))return t;var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function Mn(t){if(t!=null){try{return Ge.call(t)}catch{}try{return t+""}catch{}}return""}function Jl(t,n){return Mt(G,function(e){var r="_."+e[0];n&e[1]&&!Ke(t,r)&&t.push(r)}),t.sort()}function no(t){if(t instanceof q)return t.clone();var n=new Kt(t.__wrapped__,t.__chain__);return n.__actions__=bt(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Zl(t,n,e){(e?xt(t,n,e):n===i)?n=1:n=ct(N(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var u=0,o=0,a=g(je(r/n));u<r;)a[o++]=kt(t,u,u+=n);return a}function Yl(t){for(var n=-1,e=t==null?0:t.length,r=0,u=[];++n<e;){var o=t[n];o&&(u[r++]=o)}return u}function Xl(){var t=arguments.length;if(!t)return[];for(var n=g(t-1),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return mn(F(e)?bt(e):[e],pt(n,1))}var Ql=M(function(t,n){return st(t)?xe(t,pt(n,1,st,!0)):[]}),Vl=M(function(t,n){var e=Ht(n);return st(e)&&(e=i),st(t)?xe(t,pt(n,1,st,!0),T(e,2)):[]}),jl=M(function(t,n){var e=Ht(n);return st(e)&&(e=i),st(t)?xe(t,pt(n,1,st,!0),i,e):[]});function th(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),kt(t,n<0?0:n,r)):[]}function nh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,kt(t,0,n<0?0:n)):[]}function eh(t,n){return t&&t.length?fr(t,T(n,3),!0,!0):[]}function rh(t,n){return t&&t.length?fr(t,T(n,3),!0):[]}function ih(t,n,e,r){var u=t==null?0:t.length;return u?(e&&typeof e!="number"&&xt(t,n,e)&&(e=0,r=u),Xc(t,n,e,r)):[]}function eo(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:N(e);return u<0&&(u=ct(r+u,0)),qe(t,T(n,3),u)}function ro(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r-1;return e!==i&&(u=N(e),u=e<0?ct(r+u,0):gt(u,r-1)),qe(t,T(n,3),u,!0)}function io(t){var n=t==null?0:t.length;return n?pt(t,1):[]}function uh(t){var n=t==null?0:t.length;return n?pt(t,sn):[]}function sh(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:N(n),pt(t,n)):[]}function oh(t){for(var n=-1,e=t==null?0:t.length,r={};++n<e;){var u=t[n];r[u[0]]=u[1]}return r}function uo(t){return t&&t.length?t[0]:i}function ah(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:N(e);return u<0&&(u=ct(r+u,0)),Gn(t,n,u)}function fh(t){var n=t==null?0:t.length;return n?kt(t,0,-1):[]}var ch=M(function(t){var n=et(t,bi);return n.length&&n[0]===t[0]?pi(n):[]}),lh=M(function(t){var n=Ht(t),e=et(t,bi);return n===Ht(e)?n=i:e.pop(),e.length&&e[0]===t[0]?pi(e,T(n,2)):[]}),hh=M(function(t){var n=Ht(t),e=et(t,bi);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?pi(e,i,n):[]});function dh(t,n){return t==null?"":fc.call(t,n)}function Ht(t){var n=t==null?0:t.length;return n?t[n-1]:i}function ph(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r;return e!==i&&(u=N(e),u=u<0?ct(r+u,0):gt(u,r-1)),n===n?Jf(t,n,u):qe(t,Mu,u,!0)}function gh(t,n){return t&&t.length?_s(t,N(n)):i}var _h=M(so);function so(t,n){return t&&t.length&&n&&n.length?wi(t,n):t}function vh(t,n,e){return t&&t.length&&n&&n.length?wi(t,n,T(e,2)):t}function wh(t,n,e){return t&&t.length&&n&&n.length?wi(t,n,i,e):t}var yh=hn(function(t,n){var e=t==null?0:t.length,r=ci(t,n);return ys(t,et(n,function(u){return dn(u,e)?+u:u}).sort(Es)),r});function mh(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,u=[],o=t.length;for(n=T(n,3);++r<o;){var a=t[r];n(a,r,t)&&(e.push(a),u.push(r))}return ys(t,u),e}function Bi(t){return t==null?t:dc.call(t)}function xh(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&xt(t,n,e)?(n=0,e=r):(n=n==null?0:N(n),e=e===i?r:N(e)),kt(t,n,e)):[]}function Sh(t,n){return ar(t,n)}function Ah(t,n,e){return xi(t,n,T(e,2))}function bh(t,n){var e=t==null?0:t.length;if(e){var r=ar(t,n);if(r<e&&Vt(t[r],n))return r}return-1}function Ch(t,n){return ar(t,n,!0)}function Ih(t,n,e){return xi(t,n,T(e,2),!0)}function Ph(t,n){var e=t==null?0:t.length;if(e){var r=ar(t,n,!0)-1;if(Vt(t[r],n))return r}return-1}function Rh(t){return t&&t.length?xs(t):[]}function Eh(t,n){return t&&t.length?xs(t,T(n,2)):[]}function Th(t){var n=t==null?0:t.length;return n?kt(t,1,n):[]}function Lh(t,n,e){return t&&t.length?(n=e||n===i?1:N(n),kt(t,0,n<0?0:n)):[]}function Oh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,kt(t,n<0?0:n,r)):[]}function Wh(t,n){return t&&t.length?fr(t,T(n,3),!1,!0):[]}function Dh(t,n){return t&&t.length?fr(t,T(n,3)):[]}var Fh=M(function(t){return bn(pt(t,1,st,!0))}),Nh=M(function(t){var n=Ht(t);return st(n)&&(n=i),bn(pt(t,1,st,!0),T(n,2))}),Uh=M(function(t){var n=Ht(t);return n=typeof n=="function"?n:i,bn(pt(t,1,st,!0),i,n)});function Bh(t){return t&&t.length?bn(t):[]}function Mh(t,n){return t&&t.length?bn(t,T(n,2)):[]}function $h(t,n){return n=typeof n=="function"?n:i,t&&t.length?bn(t,i,n):[]}function Mi(t){if(!(t&&t.length))return[];var n=0;return t=yn(t,function(e){if(st(e))return n=ct(e.length,n),!0}),ei(n,function(e){return et(t,jr(e))})}function oo(t,n){if(!(t&&t.length))return[];var e=Mi(t);return n==null?e:et(e,function(r){return Lt(n,i,r)})}var Kh=M(function(t,n){return st(t)?xe(t,n):[]}),qh=M(function(t){return Ai(yn(t,st))}),kh=M(function(t){var n=Ht(t);return st(n)&&(n=i),Ai(yn(t,st),T(n,2))}),Hh=M(function(t){var n=Ht(t);return n=typeof n=="function"?n:i,Ai(yn(t,st),i,n)}),zh=M(Mi);function Gh(t,n){return Cs(t||[],n||[],me)}function Jh(t,n){return Cs(t||[],n||[],be)}var Zh=M(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,oo(t,e)});function ao(t){var n=s(t);return n.__chain__=!0,n}function Yh(t,n){return n(t),t}function wr(t,n){return n(t)}var Xh=hn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,u=function(o){return ci(o,t)};return n>1||this.__actions__.length||!(r instanceof q)||!dn(e)?this.thru(u):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:wr,args:[u],thisArg:i}),new Kt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function Qh(){return ao(this)}function Vh(){return new Kt(this.value(),this.__chain__)}function jh(){this.__values__===i&&(this.__values__=Ao(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function td(){return this}function nd(t){for(var n,e=this;e instanceof rr;){var r=no(e);r.__index__=0,r.__values__=i,n?u.__wrapped__=r:n=r;var u=r;e=e.__wrapped__}return u.__wrapped__=t,n}function ed(){var t=this.__wrapped__;if(t instanceof q){var n=t;return this.__actions__.length&&(n=new q(this)),n=n.reverse(),n.__actions__.push({func:wr,args:[Bi],thisArg:i}),new Kt(n,this.__chain__)}return this.thru(Bi)}function rd(){return bs(this.__wrapped__,this.__actions__)}var id=cr(function(t,n,e){V.call(t,e)?++t[e]:cn(t,e,1)});function ud(t,n,e){var r=F(t)?Uu:Yc;return e&&xt(t,n,e)&&(n=i),r(t,T(n,3))}function sd(t,n){var e=F(t)?yn:os;return e(t,T(n,3))}var od=Fs(eo),ad=Fs(ro);function fd(t,n){return pt(yr(t,n),1)}function cd(t,n){return pt(yr(t,n),sn)}function ld(t,n,e){return e=e===i?1:N(e),pt(yr(t,n),e)}function fo(t,n){var e=F(t)?Mt:An;return e(t,T(n,3))}function co(t,n){var e=F(t)?Tf:ss;return e(t,T(n,3))}var hd=cr(function(t,n,e){V.call(t,e)?t[e].push(n):cn(t,e,[n])});function dd(t,n,e,r){t=Ct(t)?t:ie(t),e=e&&!r?N(e):0;var u=t.length;return e<0&&(e=ct(u+e,0)),br(t)?e<=u&&t.indexOf(n,e)>-1:!!u&&Gn(t,n,e)>-1}var pd=M(function(t,n,e){var r=-1,u=typeof n=="function",o=Ct(t)?g(t.length):[];return An(t,function(a){o[++r]=u?Lt(n,a,e):Se(a,n,e)}),o}),gd=cr(function(t,n,e){cn(t,e,n)});function yr(t,n){var e=F(t)?et:ds;return e(t,T(n,3))}function _d(t,n,e,r){return t==null?[]:(F(n)||(n=n==null?[]:[n]),e=r?i:e,F(e)||(e=e==null?[]:[e]),vs(t,n,e))}var vd=cr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function wd(t,n,e){var r=F(t)?Qr:Ku,u=arguments.length<3;return r(t,T(n,4),e,u,An)}function yd(t,n,e){var r=F(t)?Lf:Ku,u=arguments.length<3;return r(t,T(n,4),e,u,ss)}function md(t,n){var e=F(t)?yn:os;return e(t,Sr(T(n,3)))}function xd(t){var n=F(t)?es:dl;return n(t)}function Sd(t,n,e){(e?xt(t,n,e):n===i)?n=1:n=N(n);var r=F(t)?Hc:pl;return r(t,n)}function Ad(t){var n=F(t)?zc:_l;return n(t)}function bd(t){if(t==null)return 0;if(Ct(t))return br(t)?Zn(t):t.length;var n=_t(t);return n==Zt||n==Yt?t.size:_i(t).length}function Cd(t,n,e){var r=F(t)?Vr:vl;return e&&xt(t,n,e)&&(n=i),r(t,T(n,3))}var Id=M(function(t,n){if(t==null)return[];var e=n.length;return e>1&&xt(t,n[0],n[1])?n=[]:e>2&&xt(n[0],n[1],n[2])&&(n=[n[0]]),vs(t,pt(n,1),[])}),mr=sc||function(){return dt.Date.now()};function Pd(t,n){if(typeof n!="function")throw new $t(x);return t=N(t),function(){if(--t<1)return n.apply(this,arguments)}}function lo(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,ln(t,At,i,i,i,i,n)}function ho(t,n){var e;if(typeof n!="function")throw new $t(x);return t=N(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var $i=M(function(t,n,e){var r=wt;if(e.length){var u=xn(e,ee($i));r|=Gt}return ln(t,r,n,e,u)}),po=M(function(t,n,e){var r=wt|Rt;if(e.length){var u=xn(e,ee(po));r|=Gt}return ln(n,r,t,e,u)});function go(t,n,e){n=e?i:n;var r=ln(t,at,i,i,i,i,i,n);return r.placeholder=go.placeholder,r}function _o(t,n,e){n=e?i:n;var r=ln(t,Tn,i,i,i,i,i,n);return r.placeholder=_o.placeholder,r}function vo(t,n,e){var r,u,o,a,c,h,y=0,m=!1,S=!1,A=!0;if(typeof t!="function")throw new $t(x);n=zt(n)||0,rt(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ct(zt(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function P(ot){var jt=r,_n=u;return r=u=i,y=ot,a=t.apply(_n,jt),a}function L(ot){return y=ot,c=Pe(K,n),m?P(ot):a}function U(ot){var jt=ot-h,_n=ot-y,No=n-jt;return S?gt(No,o-_n):No}function O(ot){var jt=ot-h,_n=ot-y;return h===i||jt>=n||jt<0||S&&_n>=o}function K(){var ot=mr();if(O(ot))return z(ot);c=Pe(K,U(ot))}function z(ot){return c=i,A&&r?P(ot):(r=u=i,a)}function Ft(){c!==i&&Is(c),y=0,r=h=u=c=i}function St(){return c===i?a:z(mr())}function Nt(){var ot=mr(),jt=O(ot);if(r=arguments,u=this,h=ot,jt){if(c===i)return L(h);if(S)return Is(c),c=Pe(K,n),P(h)}return c===i&&(c=Pe(K,n)),a}return Nt.cancel=Ft,Nt.flush=St,Nt}var Rd=M(function(t,n){return us(t,1,n)}),Ed=M(function(t,n,e){return us(t,zt(n)||0,e)});function Td(t){return ln(t,Kn)}function xr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new $t(x);var e=function(){var r=arguments,u=n?n.apply(this,r):r[0],o=e.cache;if(o.has(u))return o.get(u);var a=t.apply(this,r);return e.cache=o.set(u,a)||o,a};return e.cache=new(xr.Cache||fn),e}xr.Cache=fn;function Sr(t){if(typeof t!="function")throw new $t(x);return function(){var n=arguments;switch(n.length){case 0:return!t.call(this);case 1:return!t.call(this,n[0]);case 2:return!t.call(this,n[0],n[1]);case 3:return!t.call(this,n[0],n[1],n[2])}return!t.apply(this,n)}}function Ld(t){return ho(2,t)}var Od=wl(function(t,n){n=n.length==1&&F(n[0])?et(n[0],Ot(T())):et(pt(n,1),Ot(T()));var e=n.length;return M(function(r){for(var u=-1,o=gt(r.length,e);++u<o;)r[u]=n[u].call(this,r[u]);return Lt(t,this,r)})}),Ki=M(function(t,n){var e=xn(n,ee(Ki));return ln(t,Gt,i,n,e)}),wo=M(function(t,n){var e=xn(n,ee(wo));return ln(t,vn,i,n,e)}),Wd=hn(function(t,n){return ln(t,Et,i,i,i,n)});function Dd(t,n){if(typeof t!="function")throw new $t(x);return n=n===i?n:N(n),M(t,n)}function Fd(t,n){if(typeof t!="function")throw new $t(x);return n=n==null?0:ct(N(n),0),M(function(e){var r=e[n],u=In(e,0,n);return r&&mn(u,r),Lt(t,this,u)})}function Nd(t,n,e){var r=!0,u=!0;if(typeof t!="function")throw new $t(x);return rt(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),vo(t,n,{leading:r,maxWait:n,trailing:u})}function Ud(t){return lo(t,1)}function Bd(t,n){return Ki(Ci(n),t)}function Md(){if(!arguments.length)return[];var t=arguments[0];return F(t)?t:[t]}function $d(t){return qt(t,Y)}function Kd(t,n){return n=typeof n=="function"?n:i,qt(t,Y,n)}function qd(t){return qt(t,H|Y)}function kd(t,n){return n=typeof n=="function"?n:i,qt(t,H|Y,n)}function Hd(t,n){return n==null||is(t,n,ht(n))}function Vt(t,n){return t===n||t!==t&&n!==n}var zd=pr(di),Gd=pr(function(t,n){return t>=n}),$n=cs(function(){return arguments}())?cs:function(t){return it(t)&&V.call(t,"callee")&&!Xu.call(t,"callee")},F=g.isArray,Jd=Lu?Ot(Lu):nl;function Ct(t){return t!=null&&Ar(t.length)&&!pn(t)}function st(t){return it(t)&&Ct(t)}function Zd(t){return t===!0||t===!1||it(t)&&mt(t)==wn}var Pn=ac||Vi,Yd=Ou?Ot(Ou):el;function Xd(t){return it(t)&&t.nodeType===1&&!Re(t)}function Qd(t){if(t==null)return!0;if(Ct(t)&&(F(t)||typeof t=="string"||typeof t.splice=="function"||Pn(t)||re(t)||$n(t)))return!t.length;var n=_t(t);if(n==Zt||n==Yt)return!t.size;if(Ie(t))return!_i(t).length;for(var e in t)if(V.call(t,e))return!1;return!0}function Vd(t,n){return Ae(t,n)}function jd(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?Ae(t,n,i,e):!!r}function qi(t){if(!it(t))return!1;var n=mt(t);return n==Fe||n==xa||typeof t.message=="string"&&typeof t.name=="string"&&!Re(t)}function tp(t){return typeof t=="number"&&Vu(t)}function pn(t){if(!rt(t))return!1;var n=mt(t);return n==Ne||n==uu||n==Ln||n==Aa}function yo(t){return typeof t=="number"&&t==N(t)}function Ar(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=nn}function rt(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function it(t){return t!=null&&typeof t=="object"}var mo=Wu?Ot(Wu):il;function np(t,n){return t===n||gi(t,n,Oi(n))}function ep(t,n,e){return e=typeof e=="function"?e:i,gi(t,n,Oi(n),e)}function rp(t){return xo(t)&&t!=+t}function ip(t){if(Kl(t))throw new D(v);return ls(t)}function up(t){return t===null}function sp(t){return t==null}function xo(t){return typeof t=="number"||it(t)&&mt(t)==fe}function Re(t){if(!it(t)||mt(t)!=on)return!1;var n=Xe(t);if(n===null)return!0;var e=V.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Ge.call(e)==ec}var ki=Du?Ot(Du):ul;function op(t){return yo(t)&&t>=-nn&&t<=nn}var So=Fu?Ot(Fu):sl;function br(t){return typeof t=="string"||!F(t)&&it(t)&&mt(t)==le}function Dt(t){return typeof t=="symbol"||it(t)&&mt(t)==Ue}var re=Nu?Ot(Nu):ol;function ap(t){return t===i}function fp(t){return it(t)&&_t(t)==he}function cp(t){return it(t)&&mt(t)==Ca}var lp=pr(vi),hp=pr(function(t,n){return t<=n});function Ao(t){if(!t)return[];if(Ct(t))return br(t)?Xt(t):bt(t);if(ge&&t[ge])return Hf(t[ge]());var n=_t(t),e=n==Zt?ii:n==Yt?ke:ie;return e(t)}function gn(t){if(!t)return t===0?t:0;if(t=zt(t),t===sn||t===-sn){var n=t<0?-1:1;return n*Tr}return t===t?t:0}function N(t){var n=gn(t),e=n%1;return n===n?e?n-e:n:0}function bo(t){return t?Nn(N(t),0,Ut):0}function zt(t){if(typeof t=="number")return t;if(Dt(t))return kn;if(rt(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=rt(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=qu(t);var e=Ga.test(t);return e||Za.test(t)?Pf(t.slice(2),e?2:8):za.test(t)?kn:+t}function Co(t){return rn(t,It(t))}function dp(t){return t?Nn(N(t),-nn,nn):t===0?t:0}function Q(t){return t==null?"":Wt(t)}var pp=te(function(t,n){if(Ie(n)||Ct(n)){rn(n,ht(n),t);return}for(var e in n)V.call(n,e)&&me(t,e,n[e])}),Io=te(function(t,n){rn(n,It(n),t)}),Cr=te(function(t,n,e,r){rn(n,It(n),t,r)}),gp=te(function(t,n,e,r){rn(n,ht(n),t,r)}),_p=hn(ci);function vp(t,n){var e=jn(t);return n==null?e:rs(e,n)}var wp=M(function(t,n){t=j(t);var e=-1,r=n.length,u=r>2?n[2]:i;for(u&&xt(n[0],n[1],u)&&(r=1);++e<r;)for(var o=n[e],a=It(o),c=-1,h=a.length;++c<h;){var y=a[c],m=t[y];(m===i||Vt(m,Xn[y])&&!V.call(t,y))&&(t[y]=o[y])}return t}),yp=M(function(t){return t.push(i,qs),Lt(Po,i,t)});function mp(t,n){return Bu(t,T(n,3),en)}function xp(t,n){return Bu(t,T(n,3),hi)}function Sp(t,n){return t==null?t:li(t,T(n,3),It)}function Ap(t,n){return t==null?t:as(t,T(n,3),It)}function bp(t,n){return t&&en(t,T(n,3))}function Cp(t,n){return t&&hi(t,T(n,3))}function Ip(t){return t==null?[]:sr(t,ht(t))}function Pp(t){return t==null?[]:sr(t,It(t))}function Hi(t,n,e){var r=t==null?i:Un(t,n);return r===i?e:r}function Rp(t,n){return t!=null&&zs(t,n,Qc)}function zi(t,n){return t!=null&&zs(t,n,Vc)}var Ep=Us(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Je.call(n)),t[n]=e},Ji(Pt)),Tp=Us(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Je.call(n)),V.call(t,n)?t[n].push(e):t[n]=[e]},T),Lp=M(Se);function ht(t){return Ct(t)?ns(t):_i(t)}function It(t){return Ct(t)?ns(t,!0):al(t)}function Op(t,n){var e={};return n=T(n,3),en(t,function(r,u,o){cn(e,n(r,u,o),r)}),e}function Wp(t,n){var e={};return n=T(n,3),en(t,function(r,u,o){cn(e,u,n(r,u,o))}),e}var Dp=te(function(t,n,e){or(t,n,e)}),Po=te(function(t,n,e,r){or(t,n,e,r)}),Fp=hn(function(t,n){var e={};if(t==null)return e;var r=!1;n=et(n,function(o){return o=Cn(o,t),r||(r=o.length>1),o}),rn(t,Ti(t),e),r&&(e=qt(e,H|R|Y,El));for(var u=n.length;u--;)Si(e,n[u]);return e});function Np(t,n){return Ro(t,Sr(T(n)))}var Up=hn(function(t,n){return t==null?{}:cl(t,n)});function Ro(t,n){if(t==null)return{};var e=et(Ti(t),function(r){return[r]});return n=T(n),ws(t,e,function(r,u){return n(r,u[0])})}function Bp(t,n,e){n=Cn(n,t);var r=-1,u=n.length;for(u||(u=1,t=i);++r<u;){var o=t==null?i:t[un(n[r])];o===i&&(r=u,o=e),t=pn(o)?o.call(t):o}return t}function Mp(t,n,e){return t==null?t:be(t,n,e)}function $p(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:be(t,n,e,r)}var Eo=$s(ht),To=$s(It);function Kp(t,n,e){var r=F(t),u=r||Pn(t)||re(t);if(n=T(n,4),e==null){var o=t&&t.constructor;u?e=r?new o:[]:rt(t)?e=pn(o)?jn(Xe(t)):{}:e={}}return(u?Mt:en)(t,function(a,c,h){return n(e,a,c,h)}),e}function qp(t,n){return t==null?!0:Si(t,n)}function kp(t,n,e){return t==null?t:As(t,n,Ci(e))}function Hp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:As(t,n,Ci(e),r)}function ie(t){return t==null?[]:ri(t,ht(t))}function zp(t){return t==null?[]:ri(t,It(t))}function Gp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=zt(e),e=e===e?e:0),n!==i&&(n=zt(n),n=n===n?n:0),Nn(zt(t),n,e)}function Jp(t,n,e){return n=gn(n),e===i?(e=n,n=0):e=gn(e),t=zt(t),jc(t,n,e)}function Zp(t,n,e){if(e&&typeof e!="boolean"&&xt(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=gn(t),n===i?(n=t,t=0):n=gn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var u=ju();return gt(t+u*(n-t+If("1e-"+((u+"").length-1))),n)}return yi(t,n)}var Yp=ne(function(t,n,e){return n=n.toLowerCase(),t+(e?Lo(n):n)});function Lo(t){return Gi(Q(t).toLowerCase())}function Oo(t){return t=Q(t),t&&t.replace(Xa,Mf).replace(_f,"")}function Xp(t,n,e){t=Q(t),n=Wt(n);var r=t.length;e=e===i?r:Nn(N(e),0,r);var u=e;return e-=n.length,e>=0&&t.slice(e,u)==n}function Qp(t){return t=Q(t),t&&Ta.test(t)?t.replace(au,$f):t}function Vp(t){return t=Q(t),t&&Na.test(t)?t.replace(Kr,"\\$&"):t}var jp=ne(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),tg=ne(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),ng=Ds("toLowerCase");function eg(t,n,e){t=Q(t),n=N(n);var r=n?Zn(t):0;if(!n||r>=n)return t;var u=(n-r)/2;return dr(tr(u),e)+t+dr(je(u),e)}function rg(t,n,e){t=Q(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?t+dr(n-r,e):t}function ig(t,n,e){t=Q(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?dr(n-r,e)+t:t}function ug(t,n,e){return e||n==null?n=0:n&&(n=+n),hc(Q(t).replace(qr,""),n||0)}function sg(t,n,e){return(e?xt(t,n,e):n===i)?n=1:n=N(n),mi(Q(t),n)}function og(){var t=arguments,n=Q(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var ag=ne(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function fg(t,n,e){return e&&typeof e!="number"&&xt(t,n,e)&&(n=e=i),e=e===i?Ut:e>>>0,e?(t=Q(t),t&&(typeof n=="string"||n!=null&&!ki(n))&&(n=Wt(n),!n&&Jn(t))?In(Xt(t),0,e):t.split(n,e)):[]}var cg=ne(function(t,n,e){return t+(e?" ":"")+Gi(n)});function lg(t,n,e){return t=Q(t),e=e==null?0:Nn(N(e),0,t.length),n=Wt(n),t.slice(e,e+n.length)==n}function hg(t,n,e){var r=s.templateSettings;e&&xt(t,n,e)&&(n=i),t=Q(t),n=Cr({},n,r,Ks);var u=Cr({},n.imports,r.imports,Ks),o=ht(u),a=ri(u,o),c,h,y=0,m=n.interpolate||Be,S="__p += '",A=ui((n.escape||Be).source+"|"+m.source+"|"+(m===fu?Ha:Be).source+"|"+(n.evaluate||Be).source+"|$","g"),P="//# sourceURL="+(V.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++xf+"]")+`
11
+ `;t.replace(A,function(O,K,z,Ft,St,Nt){return z||(z=Ft),S+=t.slice(y,Nt).replace(Qa,Kf),K&&(c=!0,S+=`' +
12
12
  __e(`+K+`) +
13
13
  '`),St&&(h=!0,S+=`';
14
14
  `+St+`;
15
15
  __p += '`),z&&(S+=`' +
16
16
  ((__t = (`+z+`)) == null ? '' : __t) +
17
- '`),y=Ft+O.length,O}),S+=`';
18
- `;var L=Q.call(n,"variable")&&n.variable;if(!L)S=`with (obj) {
17
+ '`),y=Nt+O.length,O}),S+=`';
18
+ `;var L=V.call(n,"variable")&&n.variable;if(!L)S=`with (obj) {
19
19
  `+S+`
20
20
  }
21
- `;else if(qa.test(L))throw new D(T);S=(h?S.replace(Ia,""):S).replace(Pa,"$1").replace(Ra,"$1;"),S="function("+(L||"obj")+`) {
21
+ `;else if(qa.test(L))throw new D(E);S=(h?S.replace(Ia,""):S).replace(Pa,"$1").replace(Ra,"$1;"),S="function("+(L||"obj")+`) {
22
22
  `+(L?"":`obj || (obj = {});
23
23
  `)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(h?`, __j = Array.prototype.join;
24
24
  function print() { __p += __j.call(arguments, '') }
25
25
  `:`;
26
26
  `)+S+`return __p
27
- }`;var U=Do(function(){return J(o,P+"return "+S).apply(i,a)});if(U.source=S,qi(U))throw U;return U}function dg(t){return X(t).toLowerCase()}function pg(t){return X(t).toUpperCase()}function gg(t,n,e){if(t=X(t),t&&(e||n===i))return qu(t);if(!t||!(n=Ot(n)))return t;var r=Xt(t),u=Xt(n),o=ku(r,u),a=Hu(r,u)+1;return In(r,o,a).join("")}function _g(t,n,e){if(t=X(t),t&&(e||n===i))return t.slice(0,Gu(t)+1);if(!t||!(n=Ot(n)))return t;var r=Xt(t),u=Hu(r,Xt(n))+1;return In(r,0,u).join("")}function vg(t,n,e){if(t=X(t),t&&(e||n===i))return t.replace(qr,"");if(!t||!(n=Ot(n)))return t;var r=Xt(t),u=ku(r,Xt(n));return In(r,u).join("")}function wg(t,n){var e=Oe,r=Et;if(rt(n)){var u="separator"in n?n.separator:u;e="length"in n?N(n.length):e,r="omission"in n?Ot(n.omission):r}t=X(t);var o=t.length;if(Jn(t)){var a=Xt(t);o=a.length}if(e>=o)return t;var c=e-Zn(r);if(c<1)return r;var h=a?In(a,0,c).join(""):t.slice(0,c);if(u===i)return h+r;if(a&&(c+=h.length-c),ki(u)){if(t.slice(c).search(u)){var y,m=h;for(u.global||(u=ui(u.source,X(cu.exec(u))+"g")),u.lastIndex=0;y=u.exec(m);)var S=y.index;h=h.slice(0,S===i?c:S)}}else if(t.indexOf(Ot(u),c)!=c){var A=h.lastIndexOf(u);A>-1&&(h=h.slice(0,A))}return h+r}function yg(t){return t=X(t),t&&Ea.test(t)?t.replace(ou,Zf):t}var mg=ne(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Gi=Ds("toUpperCase");function Wo(t,n,e){return t=X(t),n=e?i:n,n===i?kf(t)?Qf(t):Df(t):t.match(n)||[]}var Do=M(function(t,n){try{return Tt(t,i,n)}catch(e){return qi(e)?e:new D(e)}}),xg=hn(function(t,n){return Mt(n,function(e){e=un(e),cn(t,e,$i(t[e],t))}),t});function Sg(t){var n=t==null?0:t.length,e=E();return t=n?et(t,function(r){if(typeof r[1]!="function")throw new $t(x);return[e(r[0]),r[1]]}):[],M(function(r){for(var u=-1;++u<n;){var o=t[u];if(Tt(o[0],this,r))return Tt(o[1],this,r)}})}function Ag(t){return Zc(qt(t,H))}function Ji(t){return function(){return t}}function bg(t,n){return t==null||t!==t?n:t}var Cg=Ns(),Ig=Ns(!0);function Pt(t){return t}function Zi(t){return hs(typeof t=="function"?t:qt(t,H))}function Pg(t){return ps(qt(t,H))}function Rg(t,n){return gs(t,qt(n,H))}var Eg=M(function(t,n){return function(e){return Se(e,t,n)}}),Tg=M(function(t,n){return function(e){return Se(t,e,n)}});function Yi(t,n,e){var r=ht(n),u=sr(n,r);e==null&&!(rt(n)&&(u.length||!r.length))&&(e=n,n=t,t=this,u=sr(n,ht(n)));var o=!(rt(e)&&"chain"in e)||!!e.chain,a=pn(t);return Mt(u,function(c){var h=n[c];t[c]=h,a&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=bt(this.__actions__);return S.push({func:h,args:arguments,thisArg:t}),m.__chain__=y,m}return h.apply(t,mn([this.value()],arguments))})}),t}function Lg(){return dt._===this&&(dt._=rc),this}function Xi(){}function Og(t){return t=N(t),M(function(n){return _s(n,t)})}var Wg=Pi(et),Dg=Pi(Uu),Fg=Pi(Vr);function Fo(t){return Di(t)?jr(un(t)):ll(t)}function Ng(t){return function(n){return t==null?i:Nn(t,n)}}var Ug=Bs(),Bg=Bs(!0);function Qi(){return[]}function Vi(){return!1}function Mg(){return{}}function $g(){return""}function Kg(){return!0}function qg(t,n){if(t=N(t),t<1||t>nn)return[];var e=Ut,r=gt(t,Ut);n=E(n),t-=Ut;for(var u=ei(r,n);++e<t;)n(e);return u}function kg(t){return F(t)?et(t,un):Wt(t)?[t]:bt(to(X(t)))}function Hg(t){var n=++nc;return X(t)+n}var zg=hr(function(t,n){return t+n},0),Gg=Ri("ceil"),Jg=hr(function(t,n){return t/n},1),Zg=Ri("floor");function Yg(t){return t&&t.length?ur(t,Pt,di):i}function Xg(t,n){return t&&t.length?ur(t,E(n,2),di):i}function Qg(t){return $u(t,Pt)}function Vg(t,n){return $u(t,E(n,2))}function jg(t){return t&&t.length?ur(t,Pt,vi):i}function t_(t,n){return t&&t.length?ur(t,E(n,2),vi):i}var n_=hr(function(t,n){return t*n},1),e_=Ri("round"),r_=hr(function(t,n){return t-n},0);function i_(t){return t&&t.length?ni(t,Pt):0}function u_(t,n){return t&&t.length?ni(t,E(n,2)):0}return s.after=Pd,s.ary=lo,s.assign=pp,s.assignIn=Io,s.assignInWith=Cr,s.assignWith=gp,s.at=_p,s.before=ho,s.bind=$i,s.bindAll=xg,s.bindKey=po,s.castArray=Md,s.chain=ao,s.chunk=Zl,s.compact=Yl,s.concat=Xl,s.cond=Sg,s.conforms=Ag,s.constant=Ji,s.countBy=id,s.create=vp,s.curry=go,s.curryRight=_o,s.debounce=vo,s.defaults=wp,s.defaultsDeep=yp,s.defer=Rd,s.delay=Ed,s.difference=Ql,s.differenceBy=Vl,s.differenceWith=jl,s.drop=th,s.dropRight=nh,s.dropRightWhile=eh,s.dropWhile=rh,s.fill=ih,s.filter=sd,s.flatMap=fd,s.flatMapDeep=cd,s.flatMapDepth=ld,s.flatten=io,s.flattenDeep=uh,s.flattenDepth=sh,s.flip=Td,s.flow=Cg,s.flowRight=Ig,s.fromPairs=oh,s.functions=Ip,s.functionsIn=Pp,s.groupBy=hd,s.initial=fh,s.intersection=ch,s.intersectionBy=lh,s.intersectionWith=hh,s.invert=Ep,s.invertBy=Tp,s.invokeMap=pd,s.iteratee=Zi,s.keyBy=gd,s.keys=ht,s.keysIn=It,s.map=yr,s.mapKeys=Op,s.mapValues=Wp,s.matches=Pg,s.matchesProperty=Rg,s.memoize=xr,s.merge=Dp,s.mergeWith=Po,s.method=Eg,s.methodOf=Tg,s.mixin=Yi,s.negate=Sr,s.nthArg=Og,s.omit=Fp,s.omitBy=Np,s.once=Ld,s.orderBy=_d,s.over=Wg,s.overArgs=Od,s.overEvery=Dg,s.overSome=Fg,s.partial=Ki,s.partialRight=wo,s.partition=vd,s.pick=Up,s.pickBy=Ro,s.property=Fo,s.propertyOf=Ng,s.pull=_h,s.pullAll=so,s.pullAllBy=vh,s.pullAllWith=wh,s.pullAt=yh,s.range=Ug,s.rangeRight=Bg,s.rearg=Wd,s.reject=md,s.remove=mh,s.rest=Dd,s.reverse=Bi,s.sampleSize=Sd,s.set=Mp,s.setWith=$p,s.shuffle=Ad,s.slice=xh,s.sortBy=Id,s.sortedUniq=Rh,s.sortedUniqBy=Eh,s.split=fg,s.spread=Fd,s.tail=Th,s.take=Lh,s.takeRight=Oh,s.takeRightWhile=Wh,s.takeWhile=Dh,s.tap=Yh,s.throttle=Nd,s.thru=wr,s.toArray=Ao,s.toPairs=Eo,s.toPairsIn=To,s.toPath=kg,s.toPlainObject=Co,s.transform=Kp,s.unary=Ud,s.union=Fh,s.unionBy=Nh,s.unionWith=Uh,s.uniq=Bh,s.uniqBy=Mh,s.uniqWith=$h,s.unset=qp,s.unzip=Mi,s.unzipWith=oo,s.update=kp,s.updateWith=Hp,s.values=ie,s.valuesIn=zp,s.without=Kh,s.words=Wo,s.wrap=Bd,s.xor=qh,s.xorBy=kh,s.xorWith=Hh,s.zip=zh,s.zipObject=Gh,s.zipObjectDeep=Jh,s.zipWith=Zh,s.entries=Eo,s.entriesIn=To,s.extend=Io,s.extendWith=Cr,Yi(s,s),s.add=zg,s.attempt=Do,s.camelCase=Yp,s.capitalize=Lo,s.ceil=Gg,s.clamp=Gp,s.clone=$d,s.cloneDeep=qd,s.cloneDeepWith=kd,s.cloneWith=Kd,s.conformsTo=Hd,s.deburr=Oo,s.defaultTo=bg,s.divide=Jg,s.endsWith=Xp,s.eq=Vt,s.escape=Qp,s.escapeRegExp=Vp,s.every=ud,s.find=od,s.findIndex=eo,s.findKey=mp,s.findLast=ad,s.findLastIndex=ro,s.findLastKey=xp,s.floor=Zg,s.forEach=fo,s.forEachRight=co,s.forIn=Sp,s.forInRight=Ap,s.forOwn=bp,s.forOwnRight=Cp,s.get=Hi,s.gt=zd,s.gte=Gd,s.has=Rp,s.hasIn=zi,s.head=uo,s.identity=Pt,s.includes=dd,s.indexOf=ah,s.inRange=Jp,s.invoke=Lp,s.isArguments=Mn,s.isArray=F,s.isArrayBuffer=Jd,s.isArrayLike=Ct,s.isArrayLikeObject=ut,s.isBoolean=Zd,s.isBuffer=Pn,s.isDate=Yd,s.isElement=Xd,s.isEmpty=Qd,s.isEqual=Vd,s.isEqualWith=jd,s.isError=qi,s.isFinite=tp,s.isFunction=pn,s.isInteger=yo,s.isLength=Ar,s.isMap=mo,s.isMatch=np,s.isMatchWith=ep,s.isNaN=rp,s.isNative=ip,s.isNil=sp,s.isNull=up,s.isNumber=xo,s.isObject=rt,s.isObjectLike=it,s.isPlainObject=Re,s.isRegExp=ki,s.isSafeInteger=op,s.isSet=So,s.isString=br,s.isSymbol=Wt,s.isTypedArray=re,s.isUndefined=ap,s.isWeakMap=fp,s.isWeakSet=cp,s.join=dh,s.kebabCase=jp,s.last=Ht,s.lastIndexOf=ph,s.lowerCase=tg,s.lowerFirst=ng,s.lt=lp,s.lte=hp,s.max=Yg,s.maxBy=Xg,s.mean=Qg,s.meanBy=Vg,s.min=jg,s.minBy=t_,s.stubArray=Qi,s.stubFalse=Vi,s.stubObject=Mg,s.stubString=$g,s.stubTrue=Kg,s.multiply=n_,s.nth=gh,s.noConflict=Lg,s.noop=Xi,s.now=mr,s.pad=eg,s.padEnd=rg,s.padStart=ig,s.parseInt=ug,s.random=Zp,s.reduce=wd,s.reduceRight=yd,s.repeat=sg,s.replace=og,s.result=Bp,s.round=e_,s.runInContext=l,s.sample=xd,s.size=bd,s.snakeCase=ag,s.some=Cd,s.sortedIndex=Sh,s.sortedIndexBy=Ah,s.sortedIndexOf=bh,s.sortedLastIndex=Ch,s.sortedLastIndexBy=Ih,s.sortedLastIndexOf=Ph,s.startCase=cg,s.startsWith=lg,s.subtract=r_,s.sum=i_,s.sumBy=u_,s.template=hg,s.times=qg,s.toFinite=gn,s.toInteger=N,s.toLength=bo,s.toLower=dg,s.toNumber=zt,s.toSafeInteger=dp,s.toString=X,s.toUpper=pg,s.trim=gg,s.trimEnd=_g,s.trimStart=vg,s.truncate=wg,s.unescape=yg,s.uniqueId=Hg,s.upperCase=mg,s.upperFirst=Gi,s.each=fo,s.eachRight=co,s.first=uo,Yi(s,function(){var t={};return en(s,function(n,e){Q.call(s.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),s.VERSION=p,Mt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){s[t].placeholder=s}),Mt(["drop","take"],function(t,n){q.prototype[t]=function(e){e=e===i?1:ft(N(e),0);var r=this.__filtered__&&!n?new q(this):this.clone();return r.__filtered__?r.__takeCount__=gt(e,r.__takeCount__):r.__views__.push({size:gt(e,Ut),type:t+(r.__dir__<0?"Right":"")}),r},q.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Mt(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==ae||e==Er;q.prototype[t]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:E(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Mt(["head","last"],function(t,n){var e="take"+(n?"Right":"");q.prototype[t]=function(){return this[e](1).value()[0]}}),Mt(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");q.prototype[t]=function(){return this.__filtered__?new q(this):this[e](1)}}),q.prototype.compact=function(){return this.filter(Pt)},q.prototype.find=function(t){return this.filter(t).head()},q.prototype.findLast=function(t){return this.reverse().find(t)},q.prototype.invokeMap=M(function(t,n){return typeof t=="function"?new q(this):this.map(function(e){return Se(e,t,n)})}),q.prototype.reject=function(t){return this.filter(Sr(E(t)))},q.prototype.slice=function(t,n){t=N(t);var e=this;return e.__filtered__&&(t>0||n<0)?new q(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=N(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},q.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},q.prototype.toArray=function(){return this.take(Ut)},en(q.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),u=s[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);u&&(s.prototype[n]=function(){var a=this.__wrapped__,c=r?[1]:arguments,h=a instanceof q,y=c[0],m=h||F(a),S=function(K){var z=u.apply(s,mn([K],c));return r&&A?z[0]:z};m&&e&&typeof y=="function"&&y.length!=1&&(h=m=!1);var A=this.__chain__,P=!!this.__actions__.length,L=o&&!A,U=h&&!P;if(!o&&m){a=U?a:new q(this);var O=t.apply(a,c);return O.__actions__.push({func:wr,args:[S],thisArg:i}),new Kt(O,A)}return L&&U?t.apply(this,c):(O=this.thru(S),L?r?O.value()[0]:O.value():O)})}),Mt(["pop","push","shift","sort","splice","unshift"],function(t){var n=He[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);s.prototype[t]=function(){var u=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(F(o)?o:[],u)}return this[e](function(a){return n.apply(F(a)?a:[],u)})}}),en(q.prototype,function(t,n){var e=s[n];if(e){var r=e.name+"";Q.call(Vn,r)||(Vn[r]=[]),Vn[r].push({name:n,func:e})}}),Vn[lr(i,Rt).name]=[{name:"wrapper",func:i}],q.prototype.clone=yc,q.prototype.reverse=mc,q.prototype.value=xc,s.prototype.at=Xh,s.prototype.chain=Qh,s.prototype.commit=Vh,s.prototype.next=jh,s.prototype.plant=nd,s.prototype.reverse=ed,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=rd,s.prototype.first=s.prototype.head,ge&&(s.prototype[ge]=td),s},Yn=Vf();Ln?((Ln.exports=Yn)._=Yn,Zr._=Yn):dt._=Yn}).call(se)}(Te,Te.exports);var Ho=Te.exports;const zo=ko(Ho);class Go{constructor(f){W(this,"config");this.config=f}async complete(f,i){var p;await this.persist(f,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",f)}async fail(f,i){var p;await this.persist(f,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...f,...i})}async persist(f,i){await fetch(`${this.config.apiUrl}/transactions/${f.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Jo{constructor(f,i){W(this,"transaction");W(this,"manager");this.transaction=f,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(f,i){var T;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const _=p.name,v=p.args,x=f[_];if(!x){await this.fail(`Tool ${_} not found`);return}try{const b=zo.get(i,"schema.config.parameters.properties",{}),C=(b&&Object.keys(b).length>0?Object.keys(b):((T=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:T[1].split(",").map(R=>R.trim()).filter(Boolean))||[]).map(R=>v[R]),H=await x.apply(null,C);await this.complete(H)}catch(b){await this.fail(`Error executing tool ${_}: ${b}`)}}async complete(f){await this.manager.complete(this.transaction,{success:!0,output:f,error:null})}async fail(f){await this.manager.fail(this.transaction,{success:!1,output:null,error:f})}}class ji extends ue{constructor(i){super();W(this,"status");W(this,"autostart");W(this,"session");W(this,"config");W(this,"notify",!0);W(this,"_tools");W(this,"_toolSchema",{});if(this.config=i,this.status="disconnected",this.autostart=!0,Array.isArray(i.tools)){this._tools={};for(const p of i.tools)p.schema&&p.implementation&&(this._tools[p.schema.name]=p.implementation,this._toolSchema[p.schema.name]=p)}else this._tools=i.tools}getName(){return"transaction"}getPriority(){return 0}getToolInstance(i){return this._toolSchema[i]}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){}onTransaction(i){const p=new Go(this.config),_=new Jo(i,p);if(this.config.onTransaction)this.config.onTransaction(_);else{const v=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;_.invoke(this._tools,v)}}getTools(){return this._tools}}function Zo(d,f){if(Array.isArray(d))return d;if(typeof d=="object"&&d!==null){const i=f.dev?"localhost:8000":f.baseUrl||"persona.applica.guru/api",p=f.dev?"http":"https",_=f.dev?"ws":"wss";let v=Object.keys(d).map(x=>{switch(x){case"rest":return Yo(d[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"webrtc":return Xo(d[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"websocket":return Qo(d[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});default:throw new Error(`Unknown protocol: ${x}`)}}).filter(x=>x!==null);return f.tools&&v.push(new ji({apiUrl:`${p}://${i}`,apiKey:f.apiKey,agentId:f.agentId,tools:f.tools,logger:f.logger})),v}throw new Error("Invalid protocols configuration")}function Yo(d,f){return d===!0?new Ir({apiUrl:`${f.baseEndpointProtocol}://${f.baseEndpoint}`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Ir(d):null}function Xo(d,f){return d===!0?new Rr({webrtcUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/webrtc`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Rr(d):null}function Qo(d,f){return d===!0?new Pr({webSocketUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/websocket`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Pr(d):null}function Vo(d,f,i,p,_){return v=>{v.type==="message"?jo(v.payload,d,f,i,_):v.type==="reasoning"?ta(v.payload,d,f,_):v.type==="transaction"&&na(v.payload,d,p)}}function jo(d,f,i,p,_){d.createdAt||(d.createdAt=new Date),(d==null?void 0:d.finishReason)==="stop"&&!(d!=null&&d.functionResponse)&&!(d!=null&&d.thought)&&p(!1),d.thought&&(d.type="reasoning"),d.protocol=f.getName(),i(v=>{const x=$n([...v,d]);return _?_(x):x})}function ta(d,f,i,p){const _={type:"reasoning",text:d.thought,role:"assistant",finishReason:"stop",protocol:f.getName(),createdAt:new Date};i(v=>{const x=$n([...v,_]);return p?p(x):x})}function na(d,f,i){i.filter(p=>p!==f).forEach(p=>p.onTransaction(d))}function ea(d){return new Promise((f,i)=>{const p=new FileReader;p.readAsDataURL(d),p.onload=()=>{const v=p.result.split(";base64,")[1];f(v)},p.onerror=_=>{i(_)}})}function ra(d){const f={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of d){const p=f[i.getName()];if(p)return p(i)}return null}function ia(d,f,i,p,_){return async v=>{var H;if(((H=v.content[0])==null?void 0:H.type)!=="text")throw new Error("Only text messages are supported");if(!d.some(R=>R.getName()!=="transaction"&&R.status==="connected")){f(R=>{const Z={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},Y=[...R,Z];return p?p(Y):Y});return}const b={role:"user",type:"text",text:v.content[0].text,createdAt:new Date};f(R=>{const Z=$n([...R,b]);return p?p(Z):Z}),i(!0);const B=d.sort((R,Z)=>Z.getPriority()-R.getPriority()).find(R=>R.status==="connected"),C=[];if(v.attachments)for(const R of v.attachments)R.contentType.startsWith("image/")&&R.file&&C.push({role:"user",image:{contentType:R.contentType,content:await ea(R.file)},text:"",type:"text",createdAt:new Date});v.content&&C.push({role:"user",text:v.content[0].text,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",C),await(B==null?void 0:B.sendPacket({type:"request",payload:C}))}}function ua(d,f,i,p,_,v){return async x=>{var Y;if(((Y=x.content[0])==null?void 0:Y.type)!=="text")throw new Error("Only text messages are supported");const T=d.sort(($,wt)=>wt.getPriority()-$.getPriority()).find($=>$.status==="connected");if(!T){v==null||v.debug("No protocol available for edit");return}const b=x.parentId;if(!b){v==null||v.debug("No parent ID provided for edit");return}const B=f.findIndex($=>$.id===b);if(B===-1){v==null||v.debug("Parent message not found:",b);return}const C=f.slice(0,B+1),H={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},R=$n([...C,H]);i(_?_(R):R),p(!0);const Z=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",Z),await T.sendPacket({type:"request",payload:Z})}}function sa(d,f,i,p,_,v){return async(x,T)=>{const b=d.sort((Y,$)=>$.getPriority()-Y.getPriority()).find(Y=>Y.status==="connected");if(!b){v==null||v.debug("No protocol available for reload");return}const B=T.parentId??x;if(!B){v==null||v.debug("No parent ID provided for reload");return}const C=f.findIndex(Y=>Y.id===B);if(C===-1){v==null||v.debug("Parent message not found:",B);return}const H=f[C];i(Y=>{const $=Y.slice(0,C+1);return _?_($):$});let R;if(H.role==="assistant"||H.role==="function"){for(let Y=C-1;Y>=0;Y--)if(f[Y].role==="user"){R=f[Y];break}}else H.role==="user"&&(R=H);if(!R){v==null||v.debug("No user message found to regenerate from");return}p(!0);const Z=[];R.image&&Z.push({role:"user",image:R.image,text:"",type:"text",createdAt:new Date}),Z.push({role:"user",text:R.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:B,sourceId:T.sourceId,custom:T.runConfig.custom}),await b.sendPacket({type:"request",payload:Z})}}function oa(d,f,i,p){return()=>(i(!1),f(_=>{const v=_[_.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const x=[..._];return x[x.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(x):x}return _}),d.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const oe=G.createContext(void 0);function aa(){const d=G.useContext(oe);if(!d)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return d}function tu(d){const f=G.useContext(oe);if(!f)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=f.protocols.find(_=>_.getName()===d);if(!i)return null;const p=f.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function fa(){const d=G.useContext(oe);if(!d)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return ra(d.protocols)}function ca(){return tu("webrtc")}function la(){const d=G.useContext(oe);if(!d)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return d.getMessages()}const nu="DEFAULT_THREAD_ID";function ha(){const d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let f="";for(let i=0;i<8;i++)f+=d.charAt(Math.floor(Math.random()*d.length));return f}function da(d,f,i,p,_,v,x,T,b,B){return{threadId:d,threads:f.filter(C=>C.status==="regular").map(C=>({id:C.threadId,threadId:C.threadId,title:C.title||`Session ${C.threadId}`,status:C.status})),archivedThreads:f.filter(C=>C.status==="archived").map(C=>({id:C.threadId,threadId:C.threadId,title:C.title||`Archived Chat ${C.threadId}`,status:C.status})),onSwitchToNewThread:()=>{const C=ha(),H={threadId:C,status:"regular",title:`Session ${C}`};p(R=>[H,...R]),i(C),v==null||v(C)},onSwitchToThread:C=>{i(C),x==null||x(C)},onArchive:C=>{p(H=>H.map(R=>R.threadId===C?{...R,status:"archived"}:R)),T==null||T(C),C!==nu&&_.archive(C)},onUnarchive:C=>{p(H=>H.map(R=>R.threadId===C?{...R,status:"regular"}:R)),b==null||b(C)},onDelete:async C=>{if(p(H=>H.filter(R=>R.threadId!==C)),d===C){const H=f.filter(R=>R.threadId!==C&&R.status==="regular");H.length>0&&i(H[0].threadId)}B==null||B(C),C!==nu&&await _.delete(C)}}}class eu{constructor(f){W(this,"endpoint");W(this,"apiKey");W(this,"pageSize");W(this,"logger");this.endpoint=f.endpoint.replace(/\/$/,""),this.apiKey=f.apiKey,this.pageSize=f.pageSize??200,this.logger=f.logger}buildHeaders(){const f={"Content-Type":"application/json"};return this.apiKey&&(f["x-persona-apikey"]=this.apiKey),f}async sync(f){var p,_;if(!f)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(f))}/messages?page=1&size=${this.pageSize}`;try{const v=await fetch(i,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to fetch messages",v.status,await v.text()),[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({id:b.id??b.messageId??void 0,protocol:b.protocol,thought:b.thought,text:b.text??"",image:b.image,type:b.type??"text",role:b.role??"assistant",file:b.file,sources:b.sources,sessionId:b.sessionId??f,finishReason:b.finishReason,functionCalls:b.functionCalls,functionResponse:b.functionResponse,status:b.status,createdAt:b.createdAt?new Date(b.createdAt):void 0,metadata:b.metadata})):[]}catch(v){return(_=this.logger)==null||_.warn("PersonaSessionStorage: error fetching messages",v),[]}}async archive(f){return this._visiblility(f,"archived")}async unarchive(f){return this._visiblility(f,"active")}async delete(f){return this._visiblility(f,"deleted")}async _visiblility(f,i){var _;if(!f)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(f))}/visibility`;try{const v=JSON.stringify({visibility:i}),x=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:v});if(!x.ok){const T=await x.text();throw(_=this.logger)==null||_.warn("PersonaSessionStorage: failed to set session visibility",x.status,T),new Error(`Failed to set session visibility: ${x.status}`)}return}catch(v){throw v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(f,i){const p=new URLSearchParams({page:"1",size:"100",visibility:"active"});i&&p.set("userId",i),f&&p.set("agentId",f);const _=`${this.endpoint}/sessions?${p.toString()}`;try{const v=await fetch(_,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({threadId:b.code||b.id,title:b.title||`Session ${b.code||b.id}`,status:b.status==="archived"?"archived":"regular"})):[]}catch{return[]}}}function pa({dev:d=!1,baseUrl:f,protocols:i,logger:p,children:_,session:v="new",transformMessages:x,threads:T=!1,sessionStorage:b,onThreadCreate:B,onThreadSwitch:C,onThreadRename:H,onThreadArchive:R,onThreadUnarchive:Z,onThreadDelete:Y,...$}){const[wt,Rt]=G.useState(!1),[tn,ot]=G.useState([]),[En,Gt]=G.useState(new Map),vn=G.useRef(!1),At=G.useRef(!1),Nt=G.useMemo(()=>b||new eu({apiKey:$.apiKey,endpoint:f||"https://persona.applica.guru/api"}),[b,f,$.apiKey]),[Kn,Oe]=G.useState([]),[Et,We]=G.useState(""),qn=G.useRef(typeof v=="string"?v:"new"),ae=G.useRef(!1);G.useEffect(()=>{!T||ae.current||(ae.current=!0,Nt.list($.agentId,$.userId).then(V=>{(V==null?void 0:V.length)>0&&(Oe(V),We(V[0].threadId))}).catch(V=>p==null?void 0:p.error("Failed to load threads:",V)))},[T,Nt,$.agentId,$.userId,p]);const ct=G.useMemo(()=>Zo(i,{dev:d||!1,baseUrl:f,apiKey:$.apiKey,agentId:$.agentId,userId:$.userId,tools:$.tools,logger:p}),[i,d,f,$.apiKey,$.agentId,$.userId,$.tools,p]);G.useEffect(()=>{vn.current||(vn.current=!0,p==null||p.debug("Setting up protocols:",ct.map(V=>V.getName())),ct.forEach(V=>{V.setSession(qn.current),V.clearListeners(),V.addStatusChangeListener(lt=>{p==null||p.debug(`${V.getName()} status: ${lt}`),Gt(Jt=>{const Tn=new Map(Jt);return Tn.set(V.getName(),lt),Tn}),lt==="connected"&&!At.current&&($.context&&V.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:$.context}}).catch(()=>{}),$.tools&&Array.isArray($.tools)&&V.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:$.tools.map(Jt=>Jt.schema)}}}).catch(()=>{}))}),V.addPacketListener(Vo(V,ot,Rt,ct,x)),V.autostart&&V.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${V.getName()}`),V.connect(qn.current).catch(()=>{}),Rt(!1))}))},[]),G.useEffect(()=>{if(!T||!Et){ot([]);return}if(At.current||Et===qn.current)return;At.current=!0,p==null||p.info("Switching to thread:",Et),(async()=>{try{const lt=ct.filter(yt=>yt.status==="connected");lt.length>0&&await Promise.allSettled(lt.map(yt=>yt.disconnect())),qn.current=Et,await Promise.allSettled(ct.map(yt=>yt.setSession(Et)));const Jt=await Nt.sync(Et),Tn=$n(Jt);ot(x?x(Tn):Tn),p==null||p.debug(`Loaded ${Jt.length} messages for thread ${Et}`);const wn=ct.filter(yt=>yt.autostart);wn.length>0&&await Promise.allSettled(wn.map(yt=>yt.connect(Et)))}catch(lt){p==null||p.error("Failed to switch thread:",lt),ot([])}finally{At.current=!1}})()},[Et,T,ct,Nt,x,p]);const Er=G.useCallback(ia(ct,ot,Rt,x,p),[ct,x,p]),sn=G.useCallback(ua(ct,tn,ot,Rt,x,p),[ct,tn,x,p]),nn=G.useCallback(sa(ct,tn,ot,Rt,x,p),[ct,tn,x,p]),Tr=G.useCallback(oa(ct,ot,Rt,x),[ct,x]),kn=G.useCallback(V=>{const lt=$n([...V]);ot(x?x(lt):lt)},[x]),Ut=G.useCallback(()=>tn,[tn]),De=G.useMemo(()=>{if(T)return da(Et,Kn,We,Oe,Nt,B,C,R,Z,Y)},[T,Et,Kn,Nt,B,C,R,Z,Y,p]),Lr=Ee.useExternalStoreRuntime({isRunning:wt,messages:tn,convertMessage:Ko,setMessages:kn,onNew:Er,onEdit:sn,onCancel:Tr,onReload:nn,adapters:{attachments:new Ee.CompositeAttachmentAdapter([new Ee.SimpleImageAttachmentAdapter]),...De?{threadList:De}:{}}});return vt.jsx(oe.Provider,{value:{protocols:ct,protocolsStatus:En,getMessages:Ut},children:vt.jsx(Ee.AssistantRuntimeProvider,{runtime:Lr,children:_})})}function ga({children:d,...f}){return vt.jsx(pa,{...f,children:d})}class _a{constructor(){W(this,"prefix","[Persona]")}log(f,...i){console.log(`${this.prefix} - ${f}`,...i)}info(f,...i){console.info(`${this.prefix} - ${f}`,...i)}warn(f,...i){console.warn(`${this.prefix} - ${f}`,...i)}error(f,...i){console.error(`${this.prefix} - ${f}`,...i)}debug(f,...i){console.debug(`${this.prefix} - ${f}`,...i)}}function Rn(d,f,i){return{type:d,description:f,...i}}function ru(d){const f=Object.entries(d.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:d.name,description:d.description,config:{timeout:d.timeout||60,parameters:{type:"object",title:d.title||`${d.name} parameters`,required:f,properties:d.parameters},output:{type:"object",title:`${d.name} output`,properties:d.output}}}}function Le(d){return{schema:ru(d),implementation:d.implementation}}function iu(d,f,i,p,_,v){const x={name:d,description:f,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return Le(x)}const va=iu("sum","Sum two numbers",function(f,i){return{result:f+i}},{a:Rn("number","First number to sum",{required:!0}),b:Rn("number","Second number to sum",{required:!0})},{result:Rn("number","Sum of two numbers")}),wa=Le({name:"navigate_to",description:"Allow agent to redirect user to specific sub page like /foo or #/foo or anything like that",title:"Sum two numbers",timeout:60,parameters:{a:Rn("number","First number to sum"),b:Rn("number","Seconth number to sum")},output:{result:Rn("number","Sum of two numbers")},implementation:function(f,i){return{result:f+i}}});function ya(d){const f=[],i={};return d.forEach(p=>{const{schema:_,implementation:v}=Le(p);f.push(_),i[p.name]=v}),{schemas:f,implementations:i}}function ma(d,f){const{required:i,properties:p}=f.config.parameters;for(const _ of i)if(!(_ in d))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(d)){const x=p[_];if(x){if(x.type==="number"&&typeof v!="number")throw new Error(`Parameter ${_} should be a number`);if(x.type==="string"&&typeof v!="string")throw new Error(`Parameter ${_} should be a string`);if(x.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${_} should be a boolean`)}}return!0}k.PersonaConsoleLogger=_a,k.PersonaProtocolBase=ue,k.PersonaRESTProtocol=Ir,k.PersonaRuntimeProvider=ga,k.PersonaSessionStorage=eu,k.PersonaTransactionProtocol=ji,k.PersonaWebRTCProtocol=Rr,k.PersonaWebSocketProtocol=Pr,k.createParameter=Rn,k.createTool=Le,k.createToolFromFunction=iu,k.createToolRegistry=ya,k.generateToolSchema=ru,k.navigateToToolExample=wa,k.sumTool=va,k.usePersonaRuntime=aa,k.usePersonaRuntimeEndpoint=fa,k.usePersonaRuntimeMessages=la,k.usePersonaRuntimeProtocol=tu,k.usePersonaRuntimeWebRTCProtocol=ca,k.validateToolParameters=ma,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
27
+ }`;var U=Do(function(){return Z(o,P+"return "+S).apply(i,a)});if(U.source=S,qi(U))throw U;return U}function dg(t){return Q(t).toLowerCase()}function pg(t){return Q(t).toUpperCase()}function gg(t,n,e){if(t=Q(t),t&&(e||n===i))return qu(t);if(!t||!(n=Wt(n)))return t;var r=Xt(t),u=Xt(n),o=ku(r,u),a=Hu(r,u)+1;return In(r,o,a).join("")}function _g(t,n,e){if(t=Q(t),t&&(e||n===i))return t.slice(0,Gu(t)+1);if(!t||!(n=Wt(n)))return t;var r=Xt(t),u=Hu(r,Xt(n))+1;return In(r,0,u).join("")}function vg(t,n,e){if(t=Q(t),t&&(e||n===i))return t.replace(qr,"");if(!t||!(n=Wt(n)))return t;var r=Xt(t),u=ku(r,Xt(n));return In(r,u).join("")}function wg(t,n){var e=Oe,r=Tt;if(rt(n)){var u="separator"in n?n.separator:u;e="length"in n?N(n.length):e,r="omission"in n?Wt(n.omission):r}t=Q(t);var o=t.length;if(Jn(t)){var a=Xt(t);o=a.length}if(e>=o)return t;var c=e-Zn(r);if(c<1)return r;var h=a?In(a,0,c).join(""):t.slice(0,c);if(u===i)return h+r;if(a&&(c+=h.length-c),ki(u)){if(t.slice(c).search(u)){var y,m=h;for(u.global||(u=ui(u.source,Q(cu.exec(u))+"g")),u.lastIndex=0;y=u.exec(m);)var S=y.index;h=h.slice(0,S===i?c:S)}}else if(t.indexOf(Wt(u),c)!=c){var A=h.lastIndexOf(u);A>-1&&(h=h.slice(0,A))}return h+r}function yg(t){return t=Q(t),t&&Ea.test(t)?t.replace(ou,Zf):t}var mg=ne(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Gi=Ds("toUpperCase");function Wo(t,n,e){return t=Q(t),n=e?i:n,n===i?kf(t)?Qf(t):Df(t):t.match(n)||[]}var Do=M(function(t,n){try{return Lt(t,i,n)}catch(e){return qi(e)?e:new D(e)}}),xg=hn(function(t,n){return Mt(n,function(e){e=un(e),cn(t,e,$i(t[e],t))}),t});function Sg(t){var n=t==null?0:t.length,e=T();return t=n?et(t,function(r){if(typeof r[1]!="function")throw new $t(x);return[e(r[0]),r[1]]}):[],M(function(r){for(var u=-1;++u<n;){var o=t[u];if(Lt(o[0],this,r))return Lt(o[1],this,r)}})}function Ag(t){return Zc(qt(t,H))}function Ji(t){return function(){return t}}function bg(t,n){return t==null||t!==t?n:t}var Cg=Ns(),Ig=Ns(!0);function Pt(t){return t}function Zi(t){return hs(typeof t=="function"?t:qt(t,H))}function Pg(t){return ps(qt(t,H))}function Rg(t,n){return gs(t,qt(n,H))}var Eg=M(function(t,n){return function(e){return Se(e,t,n)}}),Tg=M(function(t,n){return function(e){return Se(t,e,n)}});function Yi(t,n,e){var r=ht(n),u=sr(n,r);e==null&&!(rt(n)&&(u.length||!r.length))&&(e=n,n=t,t=this,u=sr(n,ht(n)));var o=!(rt(e)&&"chain"in e)||!!e.chain,a=pn(t);return Mt(u,function(c){var h=n[c];t[c]=h,a&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=bt(this.__actions__);return S.push({func:h,args:arguments,thisArg:t}),m.__chain__=y,m}return h.apply(t,mn([this.value()],arguments))})}),t}function Lg(){return dt._===this&&(dt._=rc),this}function Xi(){}function Og(t){return t=N(t),M(function(n){return _s(n,t)})}var Wg=Pi(et),Dg=Pi(Uu),Fg=Pi(Vr);function Fo(t){return Di(t)?jr(un(t)):ll(t)}function Ng(t){return function(n){return t==null?i:Un(t,n)}}var Ug=Bs(),Bg=Bs(!0);function Qi(){return[]}function Vi(){return!1}function Mg(){return{}}function $g(){return""}function Kg(){return!0}function qg(t,n){if(t=N(t),t<1||t>nn)return[];var e=Ut,r=gt(t,Ut);n=T(n),t-=Ut;for(var u=ei(r,n);++e<t;)n(e);return u}function kg(t){return F(t)?et(t,un):Dt(t)?[t]:bt(to(Q(t)))}function Hg(t){var n=++nc;return Q(t)+n}var zg=hr(function(t,n){return t+n},0),Gg=Ri("ceil"),Jg=hr(function(t,n){return t/n},1),Zg=Ri("floor");function Yg(t){return t&&t.length?ur(t,Pt,di):i}function Xg(t,n){return t&&t.length?ur(t,T(n,2),di):i}function Qg(t){return $u(t,Pt)}function Vg(t,n){return $u(t,T(n,2))}function jg(t){return t&&t.length?ur(t,Pt,vi):i}function t_(t,n){return t&&t.length?ur(t,T(n,2),vi):i}var n_=hr(function(t,n){return t*n},1),e_=Ri("round"),r_=hr(function(t,n){return t-n},0);function i_(t){return t&&t.length?ni(t,Pt):0}function u_(t,n){return t&&t.length?ni(t,T(n,2)):0}return s.after=Pd,s.ary=lo,s.assign=pp,s.assignIn=Io,s.assignInWith=Cr,s.assignWith=gp,s.at=_p,s.before=ho,s.bind=$i,s.bindAll=xg,s.bindKey=po,s.castArray=Md,s.chain=ao,s.chunk=Zl,s.compact=Yl,s.concat=Xl,s.cond=Sg,s.conforms=Ag,s.constant=Ji,s.countBy=id,s.create=vp,s.curry=go,s.curryRight=_o,s.debounce=vo,s.defaults=wp,s.defaultsDeep=yp,s.defer=Rd,s.delay=Ed,s.difference=Ql,s.differenceBy=Vl,s.differenceWith=jl,s.drop=th,s.dropRight=nh,s.dropRightWhile=eh,s.dropWhile=rh,s.fill=ih,s.filter=sd,s.flatMap=fd,s.flatMapDeep=cd,s.flatMapDepth=ld,s.flatten=io,s.flattenDeep=uh,s.flattenDepth=sh,s.flip=Td,s.flow=Cg,s.flowRight=Ig,s.fromPairs=oh,s.functions=Ip,s.functionsIn=Pp,s.groupBy=hd,s.initial=fh,s.intersection=ch,s.intersectionBy=lh,s.intersectionWith=hh,s.invert=Ep,s.invertBy=Tp,s.invokeMap=pd,s.iteratee=Zi,s.keyBy=gd,s.keys=ht,s.keysIn=It,s.map=yr,s.mapKeys=Op,s.mapValues=Wp,s.matches=Pg,s.matchesProperty=Rg,s.memoize=xr,s.merge=Dp,s.mergeWith=Po,s.method=Eg,s.methodOf=Tg,s.mixin=Yi,s.negate=Sr,s.nthArg=Og,s.omit=Fp,s.omitBy=Np,s.once=Ld,s.orderBy=_d,s.over=Wg,s.overArgs=Od,s.overEvery=Dg,s.overSome=Fg,s.partial=Ki,s.partialRight=wo,s.partition=vd,s.pick=Up,s.pickBy=Ro,s.property=Fo,s.propertyOf=Ng,s.pull=_h,s.pullAll=so,s.pullAllBy=vh,s.pullAllWith=wh,s.pullAt=yh,s.range=Ug,s.rangeRight=Bg,s.rearg=Wd,s.reject=md,s.remove=mh,s.rest=Dd,s.reverse=Bi,s.sampleSize=Sd,s.set=Mp,s.setWith=$p,s.shuffle=Ad,s.slice=xh,s.sortBy=Id,s.sortedUniq=Rh,s.sortedUniqBy=Eh,s.split=fg,s.spread=Fd,s.tail=Th,s.take=Lh,s.takeRight=Oh,s.takeRightWhile=Wh,s.takeWhile=Dh,s.tap=Yh,s.throttle=Nd,s.thru=wr,s.toArray=Ao,s.toPairs=Eo,s.toPairsIn=To,s.toPath=kg,s.toPlainObject=Co,s.transform=Kp,s.unary=Ud,s.union=Fh,s.unionBy=Nh,s.unionWith=Uh,s.uniq=Bh,s.uniqBy=Mh,s.uniqWith=$h,s.unset=qp,s.unzip=Mi,s.unzipWith=oo,s.update=kp,s.updateWith=Hp,s.values=ie,s.valuesIn=zp,s.without=Kh,s.words=Wo,s.wrap=Bd,s.xor=qh,s.xorBy=kh,s.xorWith=Hh,s.zip=zh,s.zipObject=Gh,s.zipObjectDeep=Jh,s.zipWith=Zh,s.entries=Eo,s.entriesIn=To,s.extend=Io,s.extendWith=Cr,Yi(s,s),s.add=zg,s.attempt=Do,s.camelCase=Yp,s.capitalize=Lo,s.ceil=Gg,s.clamp=Gp,s.clone=$d,s.cloneDeep=qd,s.cloneDeepWith=kd,s.cloneWith=Kd,s.conformsTo=Hd,s.deburr=Oo,s.defaultTo=bg,s.divide=Jg,s.endsWith=Xp,s.eq=Vt,s.escape=Qp,s.escapeRegExp=Vp,s.every=ud,s.find=od,s.findIndex=eo,s.findKey=mp,s.findLast=ad,s.findLastIndex=ro,s.findLastKey=xp,s.floor=Zg,s.forEach=fo,s.forEachRight=co,s.forIn=Sp,s.forInRight=Ap,s.forOwn=bp,s.forOwnRight=Cp,s.get=Hi,s.gt=zd,s.gte=Gd,s.has=Rp,s.hasIn=zi,s.head=uo,s.identity=Pt,s.includes=dd,s.indexOf=ah,s.inRange=Jp,s.invoke=Lp,s.isArguments=$n,s.isArray=F,s.isArrayBuffer=Jd,s.isArrayLike=Ct,s.isArrayLikeObject=st,s.isBoolean=Zd,s.isBuffer=Pn,s.isDate=Yd,s.isElement=Xd,s.isEmpty=Qd,s.isEqual=Vd,s.isEqualWith=jd,s.isError=qi,s.isFinite=tp,s.isFunction=pn,s.isInteger=yo,s.isLength=Ar,s.isMap=mo,s.isMatch=np,s.isMatchWith=ep,s.isNaN=rp,s.isNative=ip,s.isNil=sp,s.isNull=up,s.isNumber=xo,s.isObject=rt,s.isObjectLike=it,s.isPlainObject=Re,s.isRegExp=ki,s.isSafeInteger=op,s.isSet=So,s.isString=br,s.isSymbol=Dt,s.isTypedArray=re,s.isUndefined=ap,s.isWeakMap=fp,s.isWeakSet=cp,s.join=dh,s.kebabCase=jp,s.last=Ht,s.lastIndexOf=ph,s.lowerCase=tg,s.lowerFirst=ng,s.lt=lp,s.lte=hp,s.max=Yg,s.maxBy=Xg,s.mean=Qg,s.meanBy=Vg,s.min=jg,s.minBy=t_,s.stubArray=Qi,s.stubFalse=Vi,s.stubObject=Mg,s.stubString=$g,s.stubTrue=Kg,s.multiply=n_,s.nth=gh,s.noConflict=Lg,s.noop=Xi,s.now=mr,s.pad=eg,s.padEnd=rg,s.padStart=ig,s.parseInt=ug,s.random=Zp,s.reduce=wd,s.reduceRight=yd,s.repeat=sg,s.replace=og,s.result=Bp,s.round=e_,s.runInContext=l,s.sample=xd,s.size=bd,s.snakeCase=ag,s.some=Cd,s.sortedIndex=Sh,s.sortedIndexBy=Ah,s.sortedIndexOf=bh,s.sortedLastIndex=Ch,s.sortedLastIndexBy=Ih,s.sortedLastIndexOf=Ph,s.startCase=cg,s.startsWith=lg,s.subtract=r_,s.sum=i_,s.sumBy=u_,s.template=hg,s.times=qg,s.toFinite=gn,s.toInteger=N,s.toLength=bo,s.toLower=dg,s.toNumber=zt,s.toSafeInteger=dp,s.toString=Q,s.toUpper=pg,s.trim=gg,s.trimEnd=_g,s.trimStart=vg,s.truncate=wg,s.unescape=yg,s.uniqueId=Hg,s.upperCase=mg,s.upperFirst=Gi,s.each=fo,s.eachRight=co,s.first=uo,Yi(s,function(){var t={};return en(s,function(n,e){V.call(s.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),s.VERSION=p,Mt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){s[t].placeholder=s}),Mt(["drop","take"],function(t,n){q.prototype[t]=function(e){e=e===i?1:ct(N(e),0);var r=this.__filtered__&&!n?new q(this):this.clone();return r.__filtered__?r.__takeCount__=gt(e,r.__takeCount__):r.__views__.push({size:gt(e,Ut),type:t+(r.__dir__<0?"Right":"")}),r},q.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Mt(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==ae||e==Er;q.prototype[t]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:T(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Mt(["head","last"],function(t,n){var e="take"+(n?"Right":"");q.prototype[t]=function(){return this[e](1).value()[0]}}),Mt(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");q.prototype[t]=function(){return this.__filtered__?new q(this):this[e](1)}}),q.prototype.compact=function(){return this.filter(Pt)},q.prototype.find=function(t){return this.filter(t).head()},q.prototype.findLast=function(t){return this.reverse().find(t)},q.prototype.invokeMap=M(function(t,n){return typeof t=="function"?new q(this):this.map(function(e){return Se(e,t,n)})}),q.prototype.reject=function(t){return this.filter(Sr(T(t)))},q.prototype.slice=function(t,n){t=N(t);var e=this;return e.__filtered__&&(t>0||n<0)?new q(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=N(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},q.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},q.prototype.toArray=function(){return this.take(Ut)},en(q.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),u=s[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);u&&(s.prototype[n]=function(){var a=this.__wrapped__,c=r?[1]:arguments,h=a instanceof q,y=c[0],m=h||F(a),S=function(K){var z=u.apply(s,mn([K],c));return r&&A?z[0]:z};m&&e&&typeof y=="function"&&y.length!=1&&(h=m=!1);var A=this.__chain__,P=!!this.__actions__.length,L=o&&!A,U=h&&!P;if(!o&&m){a=U?a:new q(this);var O=t.apply(a,c);return O.__actions__.push({func:wr,args:[S],thisArg:i}),new Kt(O,A)}return L&&U?t.apply(this,c):(O=this.thru(S),L?r?O.value()[0]:O.value():O)})}),Mt(["pop","push","shift","sort","splice","unshift"],function(t){var n=He[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);s.prototype[t]=function(){var u=arguments;if(r&&!this.__chain__){var o=this.value();return n.apply(F(o)?o:[],u)}return this[e](function(a){return n.apply(F(a)?a:[],u)})}}),en(q.prototype,function(t,n){var e=s[n];if(e){var r=e.name+"";V.call(Vn,r)||(Vn[r]=[]),Vn[r].push({name:n,func:e})}}),Vn[lr(i,Rt).name]=[{name:"wrapper",func:i}],q.prototype.clone=yc,q.prototype.reverse=mc,q.prototype.value=xc,s.prototype.at=Xh,s.prototype.chain=Qh,s.prototype.commit=Vh,s.prototype.next=jh,s.prototype.plant=nd,s.prototype.reverse=ed,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=rd,s.prototype.first=s.prototype.head,ge&&(s.prototype[ge]=td),s},Yn=Vf();On?((On.exports=Yn)._=Yn,Zr._=Yn):dt._=Yn}).call(se)}(Te,Te.exports);var Ho=Te.exports;const zo=ko(Ho);class Go{constructor(f){W(this,"config");this.config=f}async complete(f,i){var p;await this.persist(f,{...i,success:!0}),(p=this.config.logger)==null||p.debug("Transaction completed:",f)}async fail(f,i){var p;await this.persist(f,{...i,success:!1}),(p=this.config.logger)==null||p.debug("Transaction failed:",{...f,...i})}async persist(f,i){await fetch(`${this.config.apiUrl}/transactions/${f.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Jo{constructor(f,i){W(this,"transaction");W(this,"manager");this.transaction=f,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(f,i){var E;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const _=p.name,v=p.args,x=f[_];if(!x){await this.fail(`Tool ${_} not found`);return}try{const b=zo.get(i,"schema.config.parameters.properties",{}),C=(b&&Object.keys(b).length>0?Object.keys(b):((E=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:E[1].split(",").map(R=>R.trim()).filter(Boolean))||[]).map(R=>v[R]),H=await x.apply(null,C);await this.complete(H)}catch(b){await this.fail(`Error executing tool ${_}: ${b}`)}}async complete(f){await this.manager.complete(this.transaction,{success:!0,output:f,error:null})}async fail(f){await this.manager.fail(this.transaction,{success:!1,output:null,error:f})}}class ji extends ue{constructor(i){super();W(this,"status");W(this,"autostart");W(this,"session");W(this,"config");W(this,"notify",!0);W(this,"_tools");W(this,"_toolSchema",{});if(this.config=i,this.status="disconnected",this.autostart=!0,Array.isArray(i.tools)){this._tools={};for(const p of i.tools)p.schema&&p.implementation&&(this._tools[p.schema.name]=p.implementation,this._toolSchema[p.schema.name]=p)}else this._tools=i.tools}getName(){return"transaction"}getPriority(){return 0}getToolInstance(i){return this._toolSchema[i]}async connect(i){return this.setStatus("connected"),i}async disconnect(){this.setStatus("disconnected"),this.session=null}async syncSession(i){this.session=i}async sendPacket(i){}onTransaction(i){const p=new Go(this.config),_=new Jo(i,p);if(this.config.onTransaction)this.config.onTransaction(_);else{const v=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;_.invoke(this._tools,v)}}getTools(){return this._tools}}function Zo(d,f){if(Array.isArray(d))return d;if(typeof d=="object"&&d!==null){const i=f.dev?"localhost:8000":f.baseUrl||"persona.applica.guru/api",p=f.dev?"http":"https",_=f.dev?"ws":"wss";let v=Object.keys(d).map(x=>{switch(x){case"rest":return Yo(d[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"webrtc":return Xo(d[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"websocket":return Qo(d[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});default:throw new Error(`Unknown protocol: ${x}`)}}).filter(x=>x!==null);return f.tools&&v.push(new ji({apiUrl:`${p}://${i}`,apiKey:f.apiKey,agentId:f.agentId,tools:f.tools,logger:f.logger})),v}throw new Error("Invalid protocols configuration")}function Yo(d,f){return d===!0?new Ir({apiUrl:`${f.baseEndpointProtocol}://${f.baseEndpoint}`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Ir(d):null}function Xo(d,f){return d===!0?new Rr({webrtcUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/webrtc`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Rr(d):null}function Qo(d,f){return d===!0?new Pr({webSocketUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/websocket`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Pr(d):null}function Vo(d,f,i,p,_){return v=>{v.type==="message"?jo(v.payload,d,f,i,_):v.type==="reasoning"?ta(v.payload,d,f,_):v.type==="transaction"&&na(v.payload,d,p)}}function jo(d,f,i,p,_){d.createdAt||(d.createdAt=new Date),(d==null?void 0:d.finishReason)==="stop"&&!(d!=null&&d.functionResponse)&&!(d!=null&&d.thought)&&p(!1),d.thought&&(d.type="reasoning"),d.protocol=f.getName(),i(v=>{const x=Rn([...v,d]);return _?_(x):x})}function ta(d,f,i,p){const _={type:"reasoning",text:d.thought,role:"assistant",finishReason:"stop",protocol:f.getName(),createdAt:new Date};i(v=>{const x=Rn([...v,_]);return p?p(x):x})}function na(d,f,i){i.filter(p=>p!==f).forEach(p=>p.onTransaction(d))}function ea(d){return new Promise((f,i)=>{const p=new FileReader;p.readAsDataURL(d),p.onload=()=>{const v=p.result.split(";base64,")[1];f(v)},p.onerror=_=>{i(_)}})}function ra(d){const f={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of d){const p=f[i.getName()];if(p)return p(i)}return null}function ia(d,f,i,p,_){return async v=>{var H;if(((H=v.content[0])==null?void 0:H.type)!=="text")throw new Error("Only text messages are supported");if(!d.some(R=>R.getName()!=="transaction"&&R.status==="connected")){f(R=>{const Y={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},X=[...R,Y];return p?p(X):X});return}const b={role:"user",type:"text",text:v.content[0].text,createdAt:new Date};f(R=>{const Y=Rn([...R,b]);return p?p(Y):Y}),i(!0);const B=d.sort((R,Y)=>Y.getPriority()-R.getPriority()).find(R=>R.status==="connected"),C=[];if(v.attachments)for(const R of v.attachments)R.contentType.startsWith("image/")&&R.file&&C.push({role:"user",image:{contentType:R.contentType,content:await ea(R.file)},text:"",type:"text",createdAt:new Date});v.content&&C.push({role:"user",text:v.content[0].text,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",C),await(B==null?void 0:B.sendPacket({type:"request",payload:C}))}}function ua(d,f,i,p,_,v){return async x=>{var X;if(((X=x.content[0])==null?void 0:X.type)!=="text")throw new Error("Only text messages are supported");const E=d.sort(($,wt)=>wt.getPriority()-$.getPriority()).find($=>$.status==="connected");if(!E){v==null||v.debug("No protocol available for edit");return}const b=x.parentId;if(!b){v==null||v.debug("No parent ID provided for edit");return}const B=f.findIndex($=>$.id===b);if(B===-1){v==null||v.debug("Parent message not found:",b);return}const C=f.slice(0,B+1),H={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},R=Rn([...C,H]);i(_?_(R):R),p(!0);const Y=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",Y),await E.sendPacket({type:"request",payload:Y})}}function sa(d,f,i,p,_,v){return async(x,E)=>{const b=d.sort((X,$)=>$.getPriority()-X.getPriority()).find(X=>X.status==="connected");if(!b){v==null||v.debug("No protocol available for reload");return}const B=E.parentId??x;if(!B){v==null||v.debug("No parent ID provided for reload");return}const C=f.findIndex(X=>X.id===B);if(C===-1){v==null||v.debug("Parent message not found:",B);return}const H=f[C];i(X=>{const $=X.slice(0,C+1);return _?_($):$});let R;if(H.role==="assistant"||H.role==="function"){for(let X=C-1;X>=0;X--)if(f[X].role==="user"){R=f[X];break}}else H.role==="user"&&(R=H);if(!R){v==null||v.debug("No user message found to regenerate from");return}p(!0);const Y=[];R.image&&Y.push({role:"user",image:R.image,text:"",type:"text",createdAt:new Date}),Y.push({role:"user",text:R.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:B,sourceId:E.sourceId,custom:E.runConfig.custom}),await b.sendPacket({type:"request",payload:Y})}}function oa(d,f,i,p){return()=>(i(!1),f(_=>{const v=_[_.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const x=[..._];return x[x.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(x):x}return _}),d.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const oe=J.createContext(void 0);function aa(){const d=J.useContext(oe);if(!d)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return d}function tu(d){const f=J.useContext(oe);if(!f)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=f.protocols.find(_=>_.getName()===d);if(!i)return null;const p=f.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function fa(){const d=J.useContext(oe);if(!d)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return ra(d.protocols)}function ca(){return tu("webrtc")}function la(){const d=J.useContext(oe);if(!d)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return d.getMessages()}const nu="DEFAULT_THREAD_ID";function ha(){const d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let f="";for(let i=0;i<8;i++)f+=d.charAt(Math.floor(Math.random()*d.length));return f}function da(d,f,i,p,_,v,x,E,b,B){return{threadId:d,threads:f.filter(C=>C.status==="regular").map(C=>({id:C.threadId,threadId:C.threadId,title:C.title||`Session ${C.threadId}`,status:C.status})),archivedThreads:f.filter(C=>C.status==="archived").map(C=>({id:C.threadId,threadId:C.threadId,title:C.title||`Archived Chat ${C.threadId}`,status:C.status})),onSwitchToNewThread:()=>{const C=ha(),H={threadId:C,status:"regular",title:`Session ${C}`};p(R=>[H,...R]),i(C),v==null||v(C)},onSwitchToThread:C=>{i(C),x==null||x(C)},onArchive:C=>{p(H=>H.map(R=>R.threadId===C?{...R,status:"archived"}:R)),E==null||E(C),C!==nu&&_.archive(C)},onUnarchive:C=>{p(H=>H.map(R=>R.threadId===C?{...R,status:"regular"}:R)),b==null||b(C)},onDelete:async C=>{if(p(H=>H.filter(R=>R.threadId!==C)),d===C){const H=f.filter(R=>R.threadId!==C&&R.status==="regular");H.length>0&&i(H[0].threadId)}B==null||B(C),C!==nu&&await _.delete(C)}}}class eu{constructor(f){W(this,"endpoint");W(this,"apiKey");W(this,"pageSize");W(this,"logger");this.endpoint=f.endpoint.replace(/\/$/,""),this.apiKey=f.apiKey,this.pageSize=f.pageSize??200,this.logger=f.logger}buildHeaders(){const f={"Content-Type":"application/json"};return this.apiKey&&(f["x-persona-apikey"]=this.apiKey),f}async sync(f){var p,_;if(!f)return[];const i=`${this.endpoint}/sessions/${encodeURIComponent(String(f))}/messages?page=1&size=${this.pageSize}`;try{const v=await fetch(i,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to fetch messages",v.status,await v.text()),[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({id:b.id??b.messageId??void 0,protocol:b.protocol,thought:b.thought,text:b.text??"",image:b.image,type:b.type??"text",role:b.role??"assistant",file:b.file,sources:b.sources,sessionId:b.sessionId??f,finishReason:b.finishReason,functionCalls:b.functionCalls,functionResponse:b.functionResponse,status:b.status,createdAt:b.createdAt?new Date(b.createdAt):void 0,metadata:b.metadata})):[]}catch(v){return(_=this.logger)==null||_.warn("PersonaSessionStorage: error fetching messages",v),[]}}async archive(f){return this._visiblility(f,"archived")}async unarchive(f){return this._visiblility(f,"active")}async delete(f){return this._visiblility(f,"deleted")}async _visiblility(f,i){var _;if(!f)return;const p=`${this.endpoint}/sessions/${encodeURIComponent(String(f))}/visibility`;try{const v=JSON.stringify({visibility:i}),x=await fetch(p,{method:"PUT",headers:this.buildHeaders(),body:v});if(!x.ok){const E=await x.text();throw(_=this.logger)==null||_.warn("PersonaSessionStorage: failed to set session visibility",x.status,E),new Error(`Failed to set session visibility: ${x.status}`)}return}catch(v){throw v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(f,i){const p=new URLSearchParams({page:"1",size:"100",visibility:"active"});i&&p.set("userId",i),f&&p.set("agentId",f);const _=`${this.endpoint}/sessions?${p.toString()}`;try{const v=await fetch(_,{method:"GET",headers:this.buildHeaders()});if(!v.ok)return[];const x=await v.json();return Array.isArray(x.items)?x.items.map(b=>({threadId:b.code||b.id,title:b.title||`Session ${b.code||b.id}`,status:b.status==="archived"?"archived":"regular"})):[]}catch{return[]}}}function pa({dev:d=!1,baseUrl:f,protocols:i,logger:p,children:_,session:v="new",transformMessages:x,threads:E=!1,sessionStorage:b,onThreadCreate:B,onThreadSwitch:C,onThreadRename:H,onThreadArchive:R,onThreadUnarchive:Y,onThreadDelete:X,...$}){const[wt,Rt]=J.useState(!1),[tn,at]=J.useState([]),[Tn,Gt]=J.useState(new Map),vn=J.useRef(!1),At=J.useRef(!1),Et=J.useMemo(()=>b||new eu({apiKey:$.apiKey,endpoint:f||"https://persona.applica.guru/api"}),[b,f,$.apiKey]),[Kn,Oe]=J.useState([]),[Tt,We]=J.useState(""),qn=J.useRef(typeof v=="string"?v:"new"),ae=J.useRef(!1);J.useEffect(()=>{!E||ae.current||(ae.current=!0,Et.list($.agentId,$.userId).then(G=>{(G==null?void 0:G.length)>0&&(Oe(G),We(G[0].threadId))}).catch(G=>p==null?void 0:p.error("Failed to load threads:",G)))},[E,Et,$.agentId,$.userId,p]);const lt=J.useMemo(()=>Zo(i,{dev:d||!1,baseUrl:f,apiKey:$.apiKey,agentId:$.agentId,userId:$.userId,tools:$.tools,logger:p}),[i,d,f,$.apiKey,$.agentId,$.userId,$.tools,p]);J.useEffect(()=>{vn.current||(vn.current=!0,p==null||p.debug("Setting up protocols:",lt.map(G=>G.getName())),lt.forEach(G=>{G.setSession(qn.current),G.clearListeners(),G.addStatusChangeListener(ut=>{p==null||p.debug(`${G.getName()} status: ${ut}`),Gt(Jt=>{const Ln=new Map(Jt);return Ln.set(G.getName(),ut),Ln}),ut==="connected"&&!At.current&&($.context&&G.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:$.context}}).catch(()=>{}),$.tools&&Array.isArray($.tools)&&G.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:$.tools.map(Jt=>Jt.schema)}}}).catch(()=>{}))}),G.addPacketListener(Vo(G,at,Rt,lt,x)),G.autostart&&G.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${G.getName()}`),G.connect(qn.current).catch(()=>{}),Rt(!1))}))},[]),J.useEffect(()=>{E||!v||v==="new"||Et.sync(v).then(G=>{if(G.length>0){const ut=Rn(G);at(x?x(ut):ut),p==null||p.debug(`Loaded ${G.length} messages for session ${v}`)}}).catch(G=>{p==null||p.error("Failed to load session messages:",G)})},[]),J.useEffect(()=>{if(!E||!Tt){at([]);return}if(At.current||Tt===qn.current)return;At.current=!0,p==null||p.info("Switching to thread:",Tt),(async()=>{try{const ut=lt.filter(yt=>yt.status==="connected");ut.length>0&&await Promise.allSettled(ut.map(yt=>yt.disconnect())),qn.current=Tt,await Promise.allSettled(lt.map(yt=>yt.setSession(Tt)));const Jt=await Et.sync(Tt),Ln=Rn(Jt);at(x?x(Ln):Ln),p==null||p.debug(`Loaded ${Jt.length} messages for thread ${Tt}`);const wn=lt.filter(yt=>yt.autostart);wn.length>0&&await Promise.allSettled(wn.map(yt=>yt.connect(Tt)))}catch(ut){p==null||p.error("Failed to switch thread:",ut),at([])}finally{At.current=!1}})()},[Tt,E,lt,Et,x,p]);const Er=J.useCallback(ia(lt,at,Rt,x,p),[lt,x,p]),sn=J.useCallback(ua(lt,tn,at,Rt,x,p),[lt,tn,x,p]),nn=J.useCallback(sa(lt,tn,at,Rt,x,p),[lt,tn,x,p]),Tr=J.useCallback(oa(lt,at,Rt,x),[lt,x]),kn=J.useCallback(G=>{const ut=Rn([...G]);at(x?x(ut):ut)},[x]),Ut=J.useCallback(()=>tn,[tn]),De=J.useMemo(()=>{if(E)return da(Tt,Kn,We,Oe,Et,B,C,R,Y,X)},[E,Tt,Kn,Et,B,C,R,Y,X,p]),Lr=Ee.useExternalStoreRuntime({isRunning:wt,messages:tn,convertMessage:Ko,setMessages:kn,onNew:Er,onEdit:sn,onCancel:Tr,onReload:nn,adapters:{attachments:new Ee.CompositeAttachmentAdapter([new Ee.SimpleImageAttachmentAdapter]),...De?{threadList:De}:{}}});return vt.jsx(oe.Provider,{value:{protocols:lt,protocolsStatus:Tn,getMessages:Ut},children:vt.jsx(Ee.AssistantRuntimeProvider,{runtime:Lr,children:_})})}function ga({children:d,...f}){return vt.jsx(pa,{...f,children:d})}class _a{constructor(){W(this,"prefix","[Persona]")}log(f,...i){console.log(`${this.prefix} - ${f}`,...i)}info(f,...i){console.info(`${this.prefix} - ${f}`,...i)}warn(f,...i){console.warn(`${this.prefix} - ${f}`,...i)}error(f,...i){console.error(`${this.prefix} - ${f}`,...i)}debug(f,...i){console.debug(`${this.prefix} - ${f}`,...i)}}function En(d,f,i){return{type:d,description:f,...i}}function ru(d){const f=Object.entries(d.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:d.name,description:d.description,config:{timeout:d.timeout||60,parameters:{type:"object",title:d.title||`${d.name} parameters`,required:f,properties:d.parameters},output:{type:"object",title:`${d.name} output`,properties:d.output}}}}function Le(d){return{schema:ru(d),implementation:d.implementation}}function iu(d,f,i,p,_,v){const x={name:d,description:f,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return Le(x)}const va=iu("sum","Sum two numbers",function(f,i){return{result:f+i}},{a:En("number","First number to sum",{required:!0}),b:En("number","Second number to sum",{required:!0})},{result:En("number","Sum of two numbers")}),wa=Le({name:"navigate_to",description:"Allow agent to redirect user to specific sub page like /foo or #/foo or anything like that",title:"Sum two numbers",timeout:60,parameters:{a:En("number","First number to sum"),b:En("number","Seconth number to sum")},output:{result:En("number","Sum of two numbers")},implementation:function(f,i){return{result:f+i}}});function ya(d){const f=[],i={};return d.forEach(p=>{const{schema:_,implementation:v}=Le(p);f.push(_),i[p.name]=v}),{schemas:f,implementations:i}}function ma(d,f){const{required:i,properties:p}=f.config.parameters;for(const _ of i)if(!(_ in d))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(d)){const x=p[_];if(x){if(x.type==="number"&&typeof v!="number")throw new Error(`Parameter ${_} should be a number`);if(x.type==="string"&&typeof v!="string")throw new Error(`Parameter ${_} should be a string`);if(x.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${_} should be a boolean`)}}return!0}k.PersonaConsoleLogger=_a,k.PersonaProtocolBase=ue,k.PersonaRESTProtocol=Ir,k.PersonaRuntimeProvider=ga,k.PersonaSessionStorage=eu,k.PersonaTransactionProtocol=ji,k.PersonaWebRTCProtocol=Rr,k.PersonaWebSocketProtocol=Pr,k.createParameter=En,k.createTool=Le,k.createToolFromFunction=iu,k.createToolRegistry=ya,k.generateToolSchema=ru,k.navigateToToolExample=wa,k.sumTool=va,k.usePersonaRuntime=aa,k.usePersonaRuntimeEndpoint=fa,k.usePersonaRuntimeMessages=la,k.usePersonaRuntimeProtocol=tu,k.usePersonaRuntimeWebRTCProtocol=ca,k.validateToolParameters=ma,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
28
28
  //# sourceMappingURL=bundle.umd.js.map