@applica-software-guru/persona-sdk 0.1.95 → 0.1.96

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,13 +1,13 @@
1
- var personaSDK=function(Q,qt,Z,ue){"use strict";var a_=Object.defineProperty;var f_=(Q,qt,Z)=>qt in Q?a_(Q,qt,{enumerable:!0,configurable:!0,writable:!0,value:Z}):Q[qt]=Z;var L=(Q,qt,Z)=>f_(Q,typeof qt!="symbol"?qt+"":qt,Z);function Mo(h){return new Promise((f,i)=>{const p=new FileReader;p.onload=()=>f(p.result),p.onerror=_=>i(_),p.readAsDataURL(h)})}class $o{constructor(){L(this,"accept","*")}async add(f){return{id:f.file.name,type:"file",name:f.file.name,contentType:f.file.type||"application/octet-stream",file:f.file,status:{type:"requires-action",reason:"composer-send"}}}async send(f){const p=(await Mo(f.file)).split(";base64,")[1];return{...f,status:{type:"complete"},content:[{type:"file",data:p,mimeType:f.contentType||"application/octet-stream"}]}}async remove(f){}}let Ko=0;function ko(){return`msg_${Date.now()}_${Ko++}`}function qo(h){return h.thought&&(h={...h,type:"reasoning"}),h.id?h.createdAt?h:{...h,createdAt:new Date}:{...h,id:ko(),createdAt:h.createdAt||new Date}}function Ho(h){return h.filter(f=>f.finishReason==="stop"?f.text!==null&&f.text.trim()!=="":!0)}function En(h){const f=[];let i=null;for(let _ of h)if(_=qo(_),_.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),Ho(f)}function zo(h){var _,v,x;const f=h.file?[{type:"file",data:h.file.url,mimeType:h.file.contentType}]:[];let i;if((h.role==="assistant"||h.role==="function")&&(h.status?i=h.status:h.finishReason==="stop"?i={type:"complete",reason:"stop"}:h.finishReason==="function_call"?i={type:"complete",reason:"stop"}:h.finishReason||(i=void 0)),h.role==="function"){const P={id:h.id,role:"assistant",createdAt:h.createdAt,content:((_=h.functionCalls)==null?void 0:_.map(b=>{var M;return{type:"tool-call",toolName:b.name,toolCallId:b.id||`tool_${Date.now()}`,args:b.args,result:(M=h.functionResponse)==null?void 0:M.result}}))??[],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,...(v=h.metadata)==null?void 0:v.custom}}};return i?{...P,status:i}:P}const p={id:h.id,role:h.role,createdAt:h.createdAt,content:h.type==="reasoning"?[{type:"reasoning",text:h.text},...f]:[{type:"text",text:h.text},...f],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,type:h.type,...(x=h.metadata)==null?void 0:x.custom}}};return h.role==="assistant"&&i?{...p,status:i}:p}class se{constructor(){L(this,"statusChangeCallbacks",[]);L(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 se{constructor(i){super();L(this,"status");L(this,"autostart");L(this,"session");L(this,"config");L(this,"notify",!0);L(this,"context",{});L(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,M,R,z,D;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=(M=i==null?void 0:i.payload)==null?void 0:M.arguments;return}else if(i.type==="command"&&((R=i==null?void 0:i.payload)==null?void 0:R.command)=="set_local_tools"){const T=(z=i==null?void 0:i.payload)==null?void 0:z.arguments.tools;(T==null?void 0:T.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const P=i.payload;try{const k=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:P,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(k.response.messages.map(tt=>({type:"message",payload:tt})))}catch(T){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(D=this.config.logger)==null||D.error("Error sending packet:",T)}}}class Pr extends se{constructor(i){super();L(this,"status");L(this,"autostart");L(this,"session");L(this,"config");L(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",P=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(P),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",M=>{const R=JSON.parse(M.data);this.notifyPacket(R)}),this.webSocket.addEventListener("close",M=>{var R;this.setStatus("disconnected"),this.webSocket=null,M.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(R=this.config.logger)==null||R.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var M;this.setStatus("disconnected"),this.webSocket=null,(M=this.config.logger)==null||M.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 Go{constructor(f){L(this,"config");L(this,"pc",null);L(this,"ws",null);L(this,"localStream",null);L(this,"remoteStream",new MediaStream);L(this,"audioCtx",null);L(this,"localAnalyser",null);L(this,"remoteAnalyser",null);L(this,"analyzerFrame",null);L(this,"dataChannel",null);L(this,"isConnected",!1);L(this,"visualizerCallbacks",[]);L(this,"messageCallbacks",[]);L(this,"errorCallbacks",[]);L(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 P;(P=this.config.logger)==null||P.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(P=>{P(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const P=this.queuedMessages.shift();P&&(v.send(JSON.stringify(P)),(x=this.config.logger)==null||x.info("Sent queued message:",P))}}};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 P,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};(P=this.config.logger)==null||P.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(P){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",P)}},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,M)=>b+M,0)/_.length,P=v.reduce((b,M)=>b+M,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(b=>{b({localAmplitude:x,remoteAmplitude:P})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Tr extends se{constructor(i){super();L(this,"status");L(this,"session");L(this,"autostart");L(this,"config");L(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Go(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 oe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Jo(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}var Te={exports:{}};/**
1
+ var personaSDK=function(Q,qt,Z,ue){"use strict";var a_=Object.defineProperty;var f_=(Q,qt,Z)=>qt in Q?a_(Q,qt,{enumerable:!0,configurable:!0,writable:!0,value:Z}):Q[qt]=Z;var L=(Q,qt,Z)=>f_(Q,typeof qt!="symbol"?qt+"":qt,Z);function Mo(h){return new Promise((f,i)=>{const p=new FileReader;p.onload=()=>f(p.result),p.onerror=_=>i(_),p.readAsDataURL(h)})}class $o{constructor(){L(this,"accept","*")}async add(f){return{id:f.file.name,type:"file",name:f.file.name,contentType:f.file.type||"application/octet-stream",file:f.file,status:{type:"requires-action",reason:"composer-send"}}}async send(f){const p=(await Mo(f.file)).split(";base64,")[1];return{...f,status:{type:"complete"},content:[{type:"file",data:p,mimeType:f.contentType||"application/octet-stream"}]}}async remove(f){}}let Ko=0;function ko(){return`msg_${Date.now()}_${Ko++}`}function qo(h){return h.thought&&(h={...h,type:"reasoning"}),h.id?h.createdAt?h:{...h,createdAt:new Date}:{...h,id:ko(),createdAt:h.createdAt||new Date}}function Ho(h){return h.filter(f=>!(f.role==="assistant"&&!f.functionCalls&&!f.file&&!f.image&&(!f.text||f.text.trim()==="")))}function En(h){const f=[];let i=null;for(let _ of h)if(_=qo(_),_.type!=="transaction")if(_.file){i&&(f.push(i),i=null),f.push(_);continue}else _.functionCalls?(i&&(i.role==="assistant"&&(!i.text||i.text.trim()==="")&&!i.file&&!i.image||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),Ho(f)}function zo(h){var _,v,x;const f=h.file?[{type:"file",data:h.file.url,mimeType:h.file.contentType}]:[];let i;if((h.role==="assistant"||h.role==="function")&&(h.status?i=h.status:h.finishReason==="stop"?i={type:"complete",reason:"stop"}:h.finishReason==="function_call"?i={type:"complete",reason:"stop"}:h.finishReason||(i=void 0)),h.role==="function"){const R={id:h.id,role:"assistant",createdAt:h.createdAt,content:((_=h.functionCalls)==null?void 0:_.map(b=>{var M;return{type:"tool-call",toolName:b.name,toolCallId:b.id||`tool_${Date.now()}`,args:b.args,result:(M=h.functionResponse)==null?void 0:M.result}}))??[],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,...(v=h.metadata)==null?void 0:v.custom}}};return i?{...R,status:i}:R}const p={id:h.id,role:h.role,createdAt:h.createdAt,content:h.type==="reasoning"?[{type:"reasoning",text:h.text},...f]:[{type:"text",text:h.text},...f],metadata:{...h.metadata,custom:{protocol:h.protocol,sessionId:h.sessionId,sources:h.sources,type:h.type,...(x=h.metadata)==null?void 0:x.custom}}};return h.role==="assistant"&&i?{...p,status:i}:p}class se{constructor(){L(this,"statusChangeCallbacks",[]);L(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 Pr extends se{constructor(i){super();L(this,"status");L(this,"autostart");L(this,"session");L(this,"config");L(this,"notify",!0);L(this,"context",{});L(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,M,I,z,D;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=(M=i==null?void 0:i.payload)==null?void 0:M.arguments;return}else if(i.type==="command"&&((I=i==null?void 0:i.payload)==null?void 0:I.command)=="set_local_tools"){const T=(z=i==null?void 0:i.payload)==null?void 0:z.arguments.tools;(T==null?void 0:T.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const R=i.payload;try{const k=await(await fetch(`${p}/sessions/${x}/messages`,{body:JSON.stringify({agentId:v,userMessage:R,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(k.response.messages.map(tt=>({type:"message",payload:tt})))}catch(T){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(D=this.config.logger)==null||D.error("Error sending packet:",T)}}}class Rr extends se{constructor(i){super();L(this,"status");L(this,"autostart");L(this,"session");L(this,"config");L(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",R=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(x)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(R),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",M=>{const I=JSON.parse(M.data);this.notifyPacket(I)}),this.webSocket.addEventListener("close",M=>{var I;this.setStatus("disconnected"),this.webSocket=null,M.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(I=this.config.logger)==null||I.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var M;this.setStatus("disconnected"),this.webSocket=null,(M=this.config.logger)==null||M.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 Go{constructor(f){L(this,"config");L(this,"pc",null);L(this,"ws",null);L(this,"localStream",null);L(this,"remoteStream",new MediaStream);L(this,"audioCtx",null);L(this,"localAnalyser",null);L(this,"remoteAnalyser",null);L(this,"analyzerFrame",null);L(this,"dataChannel",null);L(this,"isConnected",!1);L(this,"visualizerCallbacks",[]);L(this,"messageCallbacks",[]);L(this,"errorCallbacks",[]);L(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 R;(R=this.config.logger)==null||R.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(R=>{R(x)})},v.onopen=()=>{var x;for(;this.queuedMessages.length>0;){const R=this.queuedMessages.shift();R&&(v.send(JSON.stringify(R)),(x=this.config.logger)==null||x.info("Sent queued message:",R))}}};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 R,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};(R=this.config.logger)==null||R.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(R){(x=this.config.logger)==null||x.error("Error adding ICE candidate:",R)}},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,M)=>b+M,0)/_.length,R=v.reduce((b,M)=>b+M,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(b=>{b({localAmplitude:x,remoteAmplitude:R})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Tr extends se{constructor(i){super();L(this,"status");L(this,"session");L(this,"autostart");L(this,"config");L(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Go(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 oe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Jo(h){return h&&h.__esModule&&Object.prototype.hasOwnProperty.call(h,"default")?h.default:h}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(h,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",P="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",M=500,R="__lodash_placeholder__",z=1,D=2,T=4,k=1,tt=2,q=1,wn=2,sn=4,dt=8,_t=16,Ht=32,On=64,Wt=128,tn=256,zt=512,Le=30,Oe="...",Rt=800,We=16,Wn=1,De=2,lt=3,on=1/0,nn=9007199254740991,Er=17976931348623157e292,qn=NaN,Dt=4294967295,Lr=Dt-1,Fe=Dt>>>1,Or=[["ary",Wt],["bind",q],["bindKey",wn],["curry",dt],["curryRight",_t],["flip",zt],["partial",Ht],["partialRight",On],["rearg",tn]],$="[object Arguments]",at="[object Array]",yn="[object AsyncFunction]",Gt="[object Boolean]",mn="[object Date]",Jt="[object DOMException]",Ue="[object Error]",Ne="[object Function]",ou="[object GeneratorFunction]",Zt="[object Map]",fe="[object Number]",ba="[object Null]",an="[object Object]",au="[object Promise]",Ca="[object Proxy]",ce="[object RegExp]",Yt="[object Set]",le="[object String]",Be="[object Symbol]",Ra="[object Undefined]",he="[object WeakMap]",Ia="[object WeakSet]",de="[object ArrayBuffer]",Hn="[object DataView]",Wr="[object Float32Array]",Dr="[object Float64Array]",Fr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Mr="[object Uint8ClampedArray]",$r="[object Uint16Array]",Kr="[object Uint32Array]",Pa=/\b__p \+= '';/g,Ta=/\b(__p \+=) '' \+/g,Ea=/(__e\(.*?\)|\b__t\)) \+\n'';/g,fu=/&(?:amp|lt|gt|quot|#39);/g,cu=/[&<>"']/g,La=RegExp(fu.source),Oa=RegExp(cu.source),Wa=/<%-([\s\S]+?)%>/g,Da=/<%([\s\S]+?)%>/g,lu=/<%=([\s\S]+?)%>/g,Fa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ua=/^\w*$/,Na=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Ba=RegExp(kr.source),qr=/^\s+/,Ma=/\s/,$a=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ka=/\{\n\/\* \[wrapped with (.+)\] \*/,ka=/,? & /,qa=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ha=/[()=,{}\[\]\/\s]/,za=/\\(\\)?/g,Ga=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hu=/\w*$/,Ja=/^[-+]0x[0-9a-f]+$/i,Za=/^0b[01]+$/i,Ya=/^\[object .+?Constructor\]$/,Xa=/^0o[0-7]+$/i,Qa=/^(?:0|[1-9]\d*)$/,Va=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Me=/($^)/,ja=/['\n\r\u2028\u2029\\]/g,$e="\\ud800-\\udfff",tf="\\u0300-\\u036f",nf="\\ufe20-\\ufe2f",ef="\\u20d0-\\u20ff",du=tf+nf+ef,pu="\\u2700-\\u27bf",gu="a-z\\xdf-\\xf6\\xf8-\\xff",rf="\\xac\\xb1\\xd7\\xf7",uf="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",sf="\\u2000-\\u206f",of=" \\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",_u="A-Z\\xc0-\\xd6\\xd8-\\xde",vu="\\ufe0e\\ufe0f",wu=rf+uf+sf+of,Hr="['’]",af="["+$e+"]",yu="["+wu+"]",Ke="["+du+"]",mu="\\d+",ff="["+pu+"]",xu="["+gu+"]",Su="[^"+$e+wu+mu+pu+gu+_u+"]",zr="\\ud83c[\\udffb-\\udfff]",cf="(?:"+Ke+"|"+zr+")",Au="[^"+$e+"]",Gr="(?:\\ud83c[\\udde6-\\uddff]){2}",Jr="[\\ud800-\\udbff][\\udc00-\\udfff]",zn="["+_u+"]",bu="\\u200d",Cu="(?:"+xu+"|"+Su+")",lf="(?:"+zn+"|"+Su+")",Ru="(?:"+Hr+"(?:d|ll|m|re|s|t|ve))?",Iu="(?:"+Hr+"(?:D|LL|M|RE|S|T|VE))?",Pu=cf+"?",Tu="["+vu+"]?",hf="(?:"+bu+"(?:"+[Au,Gr,Jr].join("|")+")"+Tu+Pu+")*",df="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",pf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Eu=Tu+Pu+hf,gf="(?:"+[ff,Gr,Jr].join("|")+")"+Eu,_f="(?:"+[Au+Ke+"?",Ke,Gr,Jr,af].join("|")+")",vf=RegExp(Hr,"g"),wf=RegExp(Ke,"g"),Zr=RegExp(zr+"(?="+zr+")|"+_f+Eu,"g"),yf=RegExp([zn+"?"+xu+"+"+Ru+"(?="+[yu,zn,"$"].join("|")+")",lf+"+"+Iu+"(?="+[yu,zn+Cu,"$"].join("|")+")",zn+"?"+Cu+"+"+Ru,zn+"+"+Iu,pf,df,mu,gf].join("|"),"g"),mf=RegExp("["+bu+$e+du+vu+"]"),xf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Sf=["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"],Af=-1,et={};et[Wr]=et[Dr]=et[Fr]=et[Ur]=et[Nr]=et[Br]=et[Mr]=et[$r]=et[Kr]=!0,et[$]=et[at]=et[de]=et[Gt]=et[Hn]=et[mn]=et[Ue]=et[Ne]=et[Zt]=et[fe]=et[an]=et[ce]=et[Yt]=et[le]=et[he]=!1;var nt={};nt[$]=nt[at]=nt[de]=nt[Hn]=nt[Gt]=nt[mn]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Ur]=nt[Nr]=nt[Zt]=nt[fe]=nt[an]=nt[ce]=nt[Yt]=nt[le]=nt[Be]=nt[Br]=nt[Mr]=nt[$r]=nt[Kr]=!0,nt[Ue]=nt[Ne]=nt[he]=!1;var bf={À:"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"},Cf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Rf={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},If={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Pf=parseFloat,Tf=parseInt,Lu=typeof oe=="object"&&oe&&oe.Object===Object&&oe,Ef=typeof self=="object"&&self&&self.Object===Object&&self,pt=Lu||Ef||Function("return this")(),Yr=f&&!f.nodeType&&f,Dn=Yr&&!0&&h&&!h.nodeType&&h,Ou=Dn&&Dn.exports===Yr,Xr=Ou&&Lu.process,Ft=function(){try{var l=Dn&&Dn.require&&Dn.require("util").types;return l||Xr&&Xr.binding&&Xr.binding("util")}catch{}}(),Wu=Ft&&Ft.isArrayBuffer,Du=Ft&&Ft.isDate,Fu=Ft&&Ft.isMap,Uu=Ft&&Ft.isRegExp,Nu=Ft&&Ft.isSet,Bu=Ft&&Ft.isTypedArray;function It(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 Lf(l,w,g,C){for(var F=-1,Y=l==null?0:l.length;++F<Y;){var ft=l[F];w(C,ft,g(ft),l)}return C}function Ut(l,w){for(var g=-1,C=l==null?0:l.length;++g<C&&w(l[g],g,l)!==!1;);return l}function Of(l,w){for(var g=l==null?0:l.length;g--&&w(l[g],g,l)!==!1;);return l}function Mu(l,w){for(var g=-1,C=l==null?0:l.length;++g<C;)if(!w(l[g],g,l))return!1;return!0}function xn(l,w){for(var g=-1,C=l==null?0:l.length,F=0,Y=[];++g<C;){var ft=l[g];w(ft,g,l)&&(Y[F++]=ft)}return Y}function ke(l,w){var g=l==null?0:l.length;return!!g&&Gn(l,w,0)>-1}function Qr(l,w,g){for(var C=-1,F=l==null?0:l.length;++C<F;)if(g(w,l[C]))return!0;return!1}function rt(l,w){for(var g=-1,C=l==null?0:l.length,F=Array(C);++g<C;)F[g]=w(l[g],g,l);return F}function Sn(l,w){for(var g=-1,C=w.length,F=l.length;++g<C;)l[F+g]=w[g];return l}function Vr(l,w,g,C){var F=-1,Y=l==null?0:l.length;for(C&&Y&&(g=l[++F]);++F<Y;)g=w(g,l[F],F,l);return g}function Wf(l,w,g,C){var F=l==null?0:l.length;for(C&&F&&(g=l[--F]);F--;)g=w(g,l[F],F,l);return g}function jr(l,w){for(var g=-1,C=l==null?0:l.length;++g<C;)if(w(l[g],g,l))return!0;return!1}var Df=ti("length");function Ff(l){return l.split("")}function Uf(l){return l.match(qa)||[]}function $u(l,w,g){var C;return g(l,function(F,Y,ft){if(w(F,Y,ft))return C=Y,!1}),C}function qe(l,w,g,C){for(var F=l.length,Y=g+(C?1:-1);C?Y--:++Y<F;)if(w(l[Y],Y,l))return Y;return-1}function Gn(l,w,g){return w===w?Zf(l,w,g):qe(l,Ku,g)}function Nf(l,w,g,C){for(var F=g-1,Y=l.length;++F<Y;)if(C(l[F],w))return F;return-1}function Ku(l){return l!==l}function ku(l,w){var g=l==null?0:l.length;return g?ei(l,w)/g:qn}function ti(l){return function(w){return w==null?i:w[l]}}function ni(l){return function(w){return l==null?i:l[w]}}function qu(l,w,g,C,F){return F(l,function(Y,ft,j){g=C?(C=!1,Y):w(g,Y,ft,j)}),g}function Bf(l,w){var g=l.length;for(l.sort(w);g--;)l[g]=l[g].value;return l}function ei(l,w){for(var g,C=-1,F=l.length;++C<F;){var Y=w(l[C]);Y!==i&&(g=g===i?Y:g+Y)}return g}function ri(l,w){for(var g=-1,C=Array(l);++g<l;)C[g]=w(g);return C}function Mf(l,w){return rt(w,function(g){return[g,l[g]]})}function Hu(l){return l&&l.slice(0,Zu(l)+1).replace(qr,"")}function Pt(l){return function(w){return l(w)}}function ii(l,w){return rt(w,function(g){return l[g]})}function pe(l,w){return l.has(w)}function zu(l,w){for(var g=-1,C=l.length;++g<C&&Gn(w,l[g],0)>-1;);return g}function Gu(l,w){for(var g=l.length;g--&&Gn(w,l[g],0)>-1;);return g}function $f(l,w){for(var g=l.length,C=0;g--;)l[g]===w&&++C;return C}var Kf=ni(bf),kf=ni(Cf);function qf(l){return"\\"+If[l]}function Hf(l,w){return l==null?i:l[w]}function Jn(l){return mf.test(l)}function zf(l){return xf.test(l)}function Gf(l){for(var w,g=[];!(w=l.next()).done;)g.push(w.value);return g}function ui(l){var w=-1,g=Array(l.size);return l.forEach(function(C,F){g[++w]=[F,C]}),g}function Ju(l,w){return function(g){return l(w(g))}}function An(l,w){for(var g=-1,C=l.length,F=0,Y=[];++g<C;){var ft=l[g];(ft===w||ft===R)&&(l[g]=R,Y[F++]=g)}return Y}function He(l){var w=-1,g=Array(l.size);return l.forEach(function(C){g[++w]=C}),g}function Jf(l){var w=-1,g=Array(l.size);return l.forEach(function(C){g[++w]=[C,C]}),g}function Zf(l,w,g){for(var C=g-1,F=l.length;++C<F;)if(l[C]===w)return C;return-1}function Yf(l,w,g){for(var C=g+1;C--;)if(l[C]===w)return C;return C}function Zn(l){return Jn(l)?Qf(l):Df(l)}function Xt(l){return Jn(l)?Vf(l):Ff(l)}function Zu(l){for(var w=l.length;w--&&Ma.test(l.charAt(w)););return w}var Xf=ni(Rf);function Qf(l){for(var w=Zr.lastIndex=0;Zr.test(l);)++w;return w}function Vf(l){return l.match(Zr)||[]}function jf(l){return l.match(yf)||[]}var tc=function l(w){w=w==null?pt:Yn.defaults(pt.Object(),w,Yn.pick(pt,Sf));var g=w.Array,C=w.Date,F=w.Error,Y=w.Function,ft=w.Math,j=w.Object,si=w.RegExp,nc=w.String,Nt=w.TypeError,ze=g.prototype,ec=Y.prototype,Xn=j.prototype,Ge=w["__core-js_shared__"],Je=ec.toString,V=Xn.hasOwnProperty,rc=0,Yu=function(){var t=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Ze=Xn.toString,ic=Je.call(j),uc=pt._,sc=si("^"+Je.call(V).replace(kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Ou?w.Buffer:i,bn=w.Symbol,Xe=w.Uint8Array,Xu=Ye?Ye.allocUnsafe:i,Qe=Ju(j.getPrototypeOf,j),Qu=j.create,Vu=Xn.propertyIsEnumerable,Ve=ze.splice,ju=bn?bn.isConcatSpreadable:i,ge=bn?bn.iterator:i,Fn=bn?bn.toStringTag:i,je=function(){try{var t=$n(j,"defineProperty");return t({},"",{}),t}catch{}}(),oc=w.clearTimeout!==pt.clearTimeout&&w.clearTimeout,ac=C&&C.now!==pt.Date.now&&C.now,fc=w.setTimeout!==pt.setTimeout&&w.setTimeout,tr=ft.ceil,nr=ft.floor,oi=j.getOwnPropertySymbols,cc=Ye?Ye.isBuffer:i,ts=w.isFinite,lc=ze.join,hc=Ju(j.keys,j),ct=ft.max,vt=ft.min,dc=C.now,pc=w.parseInt,ns=ft.random,gc=ze.reverse,ai=$n(w,"DataView"),_e=$n(w,"Map"),fi=$n(w,"Promise"),Qn=$n(w,"Set"),ve=$n(w,"WeakMap"),we=$n(j,"create"),er=ve&&new ve,Vn={},_c=Kn(ai),vc=Kn(_e),wc=Kn(fi),yc=Kn(Qn),mc=Kn(ve),rr=bn?bn.prototype:i,ye=rr?rr.valueOf:i,es=rr?rr.toString:i;function s(t){if(ut(t)&&!U(t)&&!(t instanceof G)){if(t instanceof Bt)return t;if(V.call(t,"__wrapped__"))return ro(t)}return new Bt(t)}var jn=function(){function t(){}return function(n){if(!it(n))return{};if(Qu)return Qu(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function ir(){}function Bt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}s.templateSettings={escape:Wa,evaluate:Da,interpolate:lu,variable:"",imports:{_:s}},s.prototype=ir.prototype,s.prototype.constructor=s,Bt.prototype=jn(ir.prototype),Bt.prototype.constructor=Bt;function G(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Dt,this.__views__=[]}function xc(){var t=new G(this.__wrapped__);return t.__actions__=St(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=St(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=St(this.__views__),t}function Sc(){if(this.__filtered__){var t=new G(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Ac(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,u=e?t.length:0,o=Fl(0,u,this.__views__),a=o.start,c=o.end,d=c-a,y=r?c:a-1,m=this.__iteratees__,S=m.length,A=0,I=vt(d,this.__takeCount__);if(!e||!r&&u==d&&I==d)return Rs(t,this.__actions__);var O=[];t:for(;d--&&A<I;){y+=n;for(var B=-1,W=t[y];++B<S;){var H=m[B],J=H.iteratee,Lt=H.type,xt=J(W);if(Lt==De)W=xt;else if(!xt){if(Lt==Wn)continue t;break t}}O[A++]=W}return O}G.prototype=jn(ir.prototype),G.prototype.constructor=G;function Un(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 bc(){this.__data__=we?we(null):{},this.size=0}function Cc(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Rc(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 Ic(t){var n=this.__data__;return we?n[t]!==i:V.call(n,t)}function Pc(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=we&&n===i?b:n,this}Un.prototype.clear=bc,Un.prototype.delete=Cc,Un.prototype.get=Rc,Un.prototype.has=Ic,Un.prototype.set=Pc;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 Tc(){this.__data__=[],this.size=0}function Ec(t){var n=this.__data__,e=ur(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ve.call(n,e,1),--this.size,!0}function Lc(t){var n=this.__data__,e=ur(n,t);return e<0?i:n[e][1]}function Oc(t){return ur(this.__data__,t)>-1}function Wc(t,n){var e=this.__data__,r=ur(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}fn.prototype.clear=Tc,fn.prototype.delete=Ec,fn.prototype.get=Lc,fn.prototype.has=Oc,fn.prototype.set=Wc;function cn(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 Dc(){this.size=0,this.__data__={hash:new Un,map:new(_e||fn),string:new Un}}function Fc(t){var n=vr(this,t).delete(t);return this.size-=n?1:0,n}function Uc(t){return vr(this,t).get(t)}function Nc(t){return vr(this,t).has(t)}function Bc(t,n){var e=vr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}cn.prototype.clear=Dc,cn.prototype.delete=Fc,cn.prototype.get=Uc,cn.prototype.has=Nc,cn.prototype.set=Bc;function Nn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new cn;++n<e;)this.add(t[n])}function Mc(t){return this.__data__.set(t,b),this}function $c(t){return this.__data__.has(t)}Nn.prototype.add=Nn.prototype.push=Mc,Nn.prototype.has=$c;function Qt(t){var n=this.__data__=new fn(t);this.size=n.size}function Kc(){this.__data__=new fn,this.size=0}function kc(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function qc(t){return this.__data__.get(t)}function Hc(t){return this.__data__.has(t)}function zc(t,n){var e=this.__data__;if(e instanceof fn){var r=e.__data__;if(!_e||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new cn(r)}return e.set(t,n),this.size=e.size,this}Qt.prototype.clear=Kc,Qt.prototype.delete=kc,Qt.prototype.get=qc,Qt.prototype.has=Hc,Qt.prototype.set=zc;function rs(t,n){var e=U(t),r=!e&&kn(t),u=!e&&!r&&Tn(t),o=!e&&!r&&!u&&re(t),a=e||r||u||o,c=a?ri(t.length,nc):[],d=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")||pn(y,d)))&&c.push(y);return c}function is(t){var n=t.length;return n?t[mi(0,n-1)]:i}function Gc(t,n){return wr(St(t),Bn(n,0,t.length))}function Jc(t){return wr(St(t))}function ci(t,n,e){(e!==i&&!Vt(t[n],e)||e===i&&!(n in t))&&ln(t,n,e)}function me(t,n,e){var r=t[n];(!(V.call(t,n)&&Vt(r,e))||e===i&&!(n in t))&&ln(t,n,e)}function ur(t,n){for(var e=t.length;e--;)if(Vt(t[e][0],n))return e;return-1}function Zc(t,n,e,r){return Cn(t,function(u,o,a){n(r,u,e(u),a)}),r}function us(t,n){return t&&rn(n,ht(n),t)}function Yc(t,n){return t&&rn(n,bt(n),t)}function ln(t,n,e){n=="__proto__"&&je?je(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function li(t,n){for(var e=-1,r=n.length,u=g(r),o=t==null;++e<r;)u[e]=o?i:zi(t,n[e]);return u}function Bn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function Mt(t,n,e,r,u,o){var a,c=n&z,d=n&D,y=n&T;if(e&&(a=u?e(t,r,u,o):e(t)),a!==i)return a;if(!it(t))return t;var m=U(t);if(m){if(a=Nl(t),!c)return St(t,a)}else{var S=wt(t),A=S==Ne||S==ou;if(Tn(t))return Ts(t,c);if(S==an||S==$||A&&!u){if(a=d||A?{}:Zs(t),!c)return d?Rl(t,Yc(a,t)):Cl(t,us(a,t))}else{if(!nt[S])return u?t:{};a=Bl(t,S,c)}}o||(o=new Qt);var I=o.get(t);if(I)return I;o.set(t,a),bo(t)?t.forEach(function(W){a.add(Mt(W,n,e,W,t,o))}):So(t)&&t.forEach(function(W,H){a.set(H,Mt(W,n,e,H,t,o))});var O=y?d?Li:Ei:d?bt:ht,B=m?i:O(t);return Ut(B||t,function(W,H){B&&(H=W,W=t[H]),me(a,H,Mt(W,n,e,H,t,o))}),a}function Xc(t){var n=ht(t);return function(e){return ss(e,t,n)}}function ss(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 os(t,n,e){if(typeof t!="function")throw new Nt(x);return Ie(function(){t.apply(i,e)},n)}function xe(t,n,e,r){var u=-1,o=ke,a=!0,c=t.length,d=[],y=n.length;if(!c)return d;e&&(n=rt(n,Pt(e))),r?(o=Qr,a=!1):n.length>=_&&(o=pe,a=!1,n=new Nn(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;d.push(m)}else o(n,S,r)||d.push(m)}return d}var Cn=Ds(en),as=Ds(di,!0);function Qc(t,n){var e=!0;return Cn(t,function(r,u,o){return e=!!n(r,u,o),e}),e}function sr(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&&!Et(a):e(a,c)))var c=a,d=o}return d}function Vc(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:Ro(r);e<r;)t[e++]=n;return t}function fs(t,n){var e=[];return Cn(t,function(r,u,o){n(r,u,o)&&e.push(r)}),e}function gt(t,n,e,r,u){var o=-1,a=t.length;for(e||(e=$l),u||(u=[]);++o<a;){var c=t[o];n>0&&e(c)?n>1?gt(c,n-1,e,r,u):Sn(u,c):r||(u[u.length]=c)}return u}var hi=Fs(),cs=Fs(!0);function en(t,n){return t&&hi(t,n,ht)}function di(t,n){return t&&cs(t,n,ht)}function or(t,n){return xn(n,function(e){return gn(t[e])})}function Mn(t,n){n=In(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 ls(t,n,e){var r=n(t);return U(t)?r:Sn(r,e(t))}function yt(t){return t==null?t===i?Ra:ba:Fn&&Fn in j(t)?Dl(t):Jl(t)}function pi(t,n){return t>n}function jc(t,n){return t!=null&&V.call(t,n)}function tl(t,n){return t!=null&&n in j(t)}function nl(t,n,e){return t>=vt(n,e)&&t<ct(n,e)}function gi(t,n,e){for(var r=e?Qr:ke,u=t[0].length,o=t.length,a=o,c=g(o),d=1/0,y=[];a--;){var m=t[a];a&&n&&(m=rt(m,Pt(n))),d=vt(m.length,d),c[a]=!e&&(n||u>=120&&m.length>=120)?new Nn(a&&m):i}m=t[0];var S=-1,A=c[0];t:for(;++S<u&&y.length<d;){var I=m[S],O=n?n(I):I;if(I=e||I!==0?I:0,!(A?pe(A,O):r(y,O,e))){for(a=o;--a;){var B=c[a];if(!(B?pe(B,O):r(t[a],O,e)))continue t}A&&A.push(O),y.push(I)}}return y}function el(t,n,e,r){return en(t,function(u,o,a){n(r,e(u),o,a)}),r}function Se(t,n,e){n=In(n,t),t=Vs(t,n);var r=t==null?t:t[un(Kt(n))];return r==null?i:It(r,t,e)}function hs(t){return ut(t)&&yt(t)==$}function rl(t){return ut(t)&&yt(t)==de}function il(t){return ut(t)&&yt(t)==mn}function Ae(t,n,e,r,u){return t===n?!0:t==null||n==null||!ut(t)&&!ut(n)?t!==t&&n!==n:ul(t,n,e,r,Ae,u)}function ul(t,n,e,r,u,o){var a=U(t),c=U(n),d=a?at:wt(t),y=c?at:wt(n);d=d==$?an:d,y=y==$?an:y;var m=d==an,S=y==an,A=d==y;if(A&&Tn(t)){if(!Tn(n))return!1;a=!0,m=!1}if(A&&!m)return o||(o=new Qt),a||re(t)?zs(t,n,e,r,u,o):Ol(t,n,d,e,r,u,o);if(!(e&k)){var I=m&&V.call(t,"__wrapped__"),O=S&&V.call(n,"__wrapped__");if(I||O){var B=I?t.value():t,W=O?n.value():n;return o||(o=new Qt),u(B,W,e,r,o)}}return A?(o||(o=new Qt),Wl(t,n,e,r,u,o)):!1}function sl(t){return ut(t)&&wt(t)==Zt}function _i(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 d=c[0],y=t[d],m=c[1];if(a&&c[2]){if(y===i&&!(d in t))return!1}else{var S=new Qt;if(r)var A=r(y,m,d,t,n,S);if(!(A===i?Ae(m,y,k|tt,r,S):A))return!1}}return!0}function ds(t){if(!it(t)||kl(t))return!1;var n=gn(t)?sc:Ya;return n.test(Kn(t))}function ol(t){return ut(t)&&yt(t)==ce}function al(t){return ut(t)&&wt(t)==Yt}function fl(t){return ut(t)&&br(t.length)&&!!et[yt(t)]}function ps(t){return typeof t=="function"?t:t==null?Ct:typeof t=="object"?U(t)?vs(t[0],t[1]):_s(t):No(t)}function vi(t){if(!Re(t))return hc(t);var n=[];for(var e in j(t))V.call(t,e)&&e!="constructor"&&n.push(e);return n}function cl(t){if(!it(t))return Gl(t);var n=Re(t),e=[];for(var r in t)r=="constructor"&&(n||!V.call(t,r))||e.push(r);return e}function wi(t,n){return t<n}function gs(t,n){var e=-1,r=At(t)?g(t.length):[];return Cn(t,function(u,o,a){r[++e]=n(u,o,a)}),r}function _s(t){var n=Wi(t);return n.length==1&&n[0][2]?Xs(n[0][0],n[0][1]):function(e){return e===t||_i(e,t,n)}}function vs(t,n){return Fi(t)&&Ys(n)?Xs(un(t),n):function(e){var r=zi(e,t);return r===i&&r===n?Gi(e,t):Ae(n,r,k|tt)}}function ar(t,n,e,r,u){t!==n&&hi(n,function(o,a){if(u||(u=new Qt),it(o))ll(t,n,a,e,ar,r,u);else{var c=r?r(Ni(t,a),o,a+"",t,n,u):i;c===i&&(c=o),ci(t,a,c)}},bt)}function ll(t,n,e,r,u,o,a){var c=Ni(t,e),d=Ni(n,e),y=a.get(d);if(y){ci(t,e,y);return}var m=o?o(c,d,e+"",t,n,a):i,S=m===i;if(S){var A=U(d),I=!A&&Tn(d),O=!A&&!I&&re(d);m=d,A||I||O?U(c)?m=c:st(c)?m=St(c):I?(S=!1,m=Ts(d,!0)):O?(S=!1,m=Es(d,!0)):m=[]:Pe(d)||kn(d)?(m=c,kn(c)?m=Io(c):(!it(c)||gn(c))&&(m=Zs(d))):S=!1}S&&(a.set(d,m),u(m,d,r,o,a),a.delete(d)),ci(t,e,m)}function ws(t,n){var e=t.length;if(e)return n+=n<0?e:0,pn(n,e)?t[n]:i}function ys(t,n,e){n.length?n=rt(n,function(o){return U(o)?function(a){return Mn(a,o.length===1?o[0]:o)}:o}):n=[Ct];var r=-1;n=rt(n,Pt(E()));var u=gs(t,function(o,a,c){var d=rt(n,function(y){return y(o)});return{criteria:d,index:++r,value:o}});return Bf(u,function(o,a){return bl(o,a,e)})}function hl(t,n){return ms(t,n,function(e,r){return Gi(t,r)})}function ms(t,n,e){for(var r=-1,u=n.length,o={};++r<u;){var a=n[r],c=Mn(t,a);e(c,a)&&be(o,In(a,t),c)}return o}function dl(t){return function(n){return Mn(n,t)}}function yi(t,n,e,r){var u=r?Nf:Gn,o=-1,a=n.length,c=t;for(t===n&&(n=St(n)),e&&(c=rt(t,Pt(e)));++o<a;)for(var d=0,y=n[o],m=e?e(y):y;(d=u(c,m,d,r))>-1;)c!==t&&Ve.call(c,d,1),Ve.call(t,d,1);return t}function xs(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;pn(u)?Ve.call(t,u,1):Ai(t,u)}}return t}function mi(t,n){return t+nr(ns()*(n-t+1))}function pl(t,n,e,r){for(var u=-1,o=ct(tr((n-t)/(e||1)),0),a=g(o);o--;)a[r?o:++u]=t,t+=e;return a}function xi(t,n){var e="";if(!t||n<1||n>nn)return e;do n%2&&(e+=t),n=nr(n/2),n&&(t+=t);while(n);return e}function K(t,n){return Bi(Qs(t,n,Ct),t+"")}function gl(t){return is(ie(t))}function _l(t,n){var e=ie(t);return wr(e,Bn(n,0,e.length))}function be(t,n,e,r){if(!it(t))return t;n=In(n,t);for(var u=-1,o=n.length,a=o-1,c=t;c!=null&&++u<o;){var d=un(n[u]),y=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(u!=a){var m=c[d];y=r?r(m,d,c):i,y===i&&(y=it(m)?m:pn(n[u+1])?[]:{})}me(c,d,y),c=c[d]}return t}var Ss=er?function(t,n){return er.set(t,n),t}:Ct,vl=je?function(t,n){return je(t,"toString",{configurable:!0,enumerable:!1,value:Zi(n),writable:!0})}:Ct;function wl(t){return wr(ie(t))}function $t(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 yl(t,n){var e;return Cn(t,function(r,u,o){return e=n(r,u,o),!e}),!!e}function fr(t,n,e){var r=0,u=t==null?r:t.length;if(typeof n=="number"&&n===n&&u<=Fe){for(;r<u;){var o=r+u>>>1,a=t[o];a!==null&&!Et(a)&&(e?a<=n:a<n)?r=o+1:u=o}return u}return Si(t,n,Ct,e)}function Si(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,d=Et(n),y=n===i;u<o;){var m=nr((u+o)/2),S=e(t[m]),A=S!==i,I=S===null,O=S===S,B=Et(S);if(a)var W=r||O;else y?W=O&&(r||A):c?W=O&&A&&(r||!I):d?W=O&&A&&!I&&(r||!B):I||B?W=!1:W=r?S<=n:S<n;W?u=m+1:o=m}return vt(o,Lr)}function As(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,d)){var d=c;o[u++]=a===0?0:a}}return o}function bs(t){return typeof t=="number"?t:Et(t)?qn:+t}function Tt(t){if(typeof t=="string")return t;if(U(t))return rt(t,Tt)+"";if(Et(t))return es?es.call(t):"";var n=t+"";return n=="0"&&1/t==-on?"-0":n}function Rn(t,n,e){var r=-1,u=ke,o=t.length,a=!0,c=[],d=c;if(e)a=!1,u=Qr;else if(o>=_){var y=n?null:El(t);if(y)return He(y);a=!1,u=pe,d=new Nn}else d=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=d.length;A--;)if(d[A]===S)continue t;n&&d.push(S),c.push(m)}else u(d,S,e)||(d!==c&&d.push(S),c.push(m))}return c}function Ai(t,n){return n=In(n,t),t=Vs(t,n),t==null||delete t[un(Kt(n))]}function Cs(t,n,e,r){return be(t,n,e(Mn(t,n)),r)}function cr(t,n,e,r){for(var u=t.length,o=r?u:-1;(r?o--:++o<u)&&n(t[o],o,t););return e?$t(t,r?0:o,r?o+1:u):$t(t,r?o+1:0,r?u:o)}function Rs(t,n){var e=t;return e instanceof G&&(e=e.value()),Vr(n,function(r,u){return u.func.apply(u.thisArg,Sn([r],u.args))},e)}function bi(t,n,e){var r=t.length;if(r<2)return r?Rn(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 Rn(gt(o,1),n,e)}function Is(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 Ci(t){return st(t)?t:[]}function Ri(t){return typeof t=="function"?t:Ct}function In(t,n){return U(t)?t:Fi(t,n)?[t]:eo(X(t))}var ml=K;function Pn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:$t(t,n,e)}var Ps=oc||function(t){return pt.clearTimeout(t)};function Ts(t,n){if(n)return t.slice();var e=t.length,r=Xu?Xu(e):new t.constructor(e);return t.copy(r),r}function Ii(t){var n=new t.constructor(t.byteLength);return new Xe(n).set(new Xe(t)),n}function xl(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Sl(t){var n=new t.constructor(t.source,hu.exec(t));return n.lastIndex=t.lastIndex,n}function Al(t){return ye?j(ye.call(t)):{}}function Es(t,n){var e=n?Ii(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Ls(t,n){if(t!==n){var e=t!==i,r=t===null,u=t===t,o=Et(t),a=n!==i,c=n===null,d=n===n,y=Et(n);if(!c&&!y&&!o&&t>n||o&&a&&d&&!c&&!y||r&&a&&d||!e&&d||!u)return 1;if(!r&&!o&&!y&&t<n||y&&e&&u&&!r&&!o||c&&e&&u||!a&&u||!d)return-1}return 0}function bl(t,n,e){for(var r=-1,u=t.criteria,o=n.criteria,a=u.length,c=e.length;++r<a;){var d=Ls(u[r],o[r]);if(d){if(r>=c)return d;var y=e[r];return d*(y=="desc"?-1:1)}}return t.index-n.index}function Os(t,n,e,r){for(var u=-1,o=t.length,a=e.length,c=-1,d=n.length,y=ct(o-a,0),m=g(d+y),S=!r;++c<d;)m[c]=n[c];for(;++u<a;)(S||u<o)&&(m[e[u]]=t[u]);for(;y--;)m[c++]=t[u++];return m}function Ws(t,n,e,r){for(var u=-1,o=t.length,a=-1,c=e.length,d=-1,y=n.length,m=ct(o-c,0),S=g(m+y),A=!r;++u<m;)S[u]=t[u];for(var I=u;++d<y;)S[I+d]=n[d];for(;++a<c;)(A||u<o)&&(S[I+e[a]]=t[u++]);return S}function St(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],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),u?ln(e,c,d):me(e,c,d)}return e}function Cl(t,n){return rn(t,Di(t),n)}function Rl(t,n){return rn(t,Gs(t),n)}function lr(t,n){return function(e,r){var u=U(e)?Lf:Zc,o=n?n():{};return u(e,t,E(r,2),o)}}function te(t){return K(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&&mt(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 Ds(t,n){return function(e,r){if(e==null)return e;if(!At(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 Fs(t){return function(n,e,r){for(var u=-1,o=j(n),a=r(n),c=a.length;c--;){var d=a[t?c:++u];if(e(o[d],d,o)===!1)break}return n}}function Il(t,n,e){var r=n&q,u=Ce(t);function o(){var a=this&&this!==pt&&this instanceof o?u:t;return a.apply(r?e:this,arguments)}return o}function Us(t){return function(n){n=X(n);var e=Jn(n)?Xt(n):i,r=e?e[0]:n.charAt(0),u=e?Pn(e,1).join(""):n.slice(1);return r[t]()+u}}function ne(t){return function(n){return Vr(Fo(Do(n).replace(vf,"")),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 it(r)?r:e}}function Pl(t,n,e){var r=Ce(t);function u(){for(var o=arguments.length,a=g(o),c=o,d=ee(u);c--;)a[c]=arguments[c];var y=o<3&&a[0]!==d&&a[o-1]!==d?[]:An(a,d);if(o-=y.length,o<e)return Ks(t,n,hr,u.placeholder,i,a,y,i,i,e-o);var m=this&&this!==pt&&this instanceof u?r:t;return It(m,this,a)}return u}function Ns(t){return function(n,e,r){var u=j(n);if(!At(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 Bs(t){return dn(function(n){var e=n.length,r=e,u=Bt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new Nt(x);if(u&&!a&&_r(o)=="wrapper")var a=new Bt([],!0)}for(r=a?r:e;++r<e;){o=n[r];var c=_r(o),d=c=="wrapper"?Oi(o):i;d&&Ui(d[0])&&d[1]==(Wt|dt|Ht|tn)&&!d[4].length&&d[9]==1?a=a[_r(d[0])].apply(a,d[3]):a=o.length==1&&Ui(o)?a[c]():a.thru(o)}return function(){var y=arguments,m=y[0];if(a&&y.length==1&&U(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 hr(t,n,e,r,u,o,a,c,d,y){var m=n&Wt,S=n&q,A=n&wn,I=n&(dt|_t),O=n&zt,B=A?i:Ce(t);function W(){for(var H=arguments.length,J=g(H),Lt=H;Lt--;)J[Lt]=arguments[Lt];if(I)var xt=ee(W),Ot=$f(J,xt);if(r&&(J=Os(J,r,u,I)),o&&(J=Ws(J,o,a,I)),H-=Ot,I&&H<y){var ot=An(J,xt);return Ks(t,n,hr,W.placeholder,e,J,ot,c,d,y-H)}var jt=S?e:this,vn=A?jt[t]:t;return H=J.length,c?J=Zl(J,c):O&&H>1&&J.reverse(),m&&d<H&&(J.length=d),this&&this!==pt&&this instanceof W&&(vn=B||Ce(vn)),vn.apply(jt,J)}return W}function Ms(t,n){return function(e,r){return el(e,t,n(r),{})}}function dr(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=Tt(e),r=Tt(r)):(e=bs(e),r=bs(r)),u=t(e,r)}return u}}function Pi(t){return dn(function(n){return n=rt(n,Pt(E())),K(function(e){var r=this;return t(n,function(u){return It(u,r,e)})})})}function pr(t,n){n=n===i?" ":Tt(n);var e=n.length;if(e<2)return e?xi(n,t):n;var r=xi(n,tr(t/Zn(n)));return Jn(n)?Pn(Xt(r),0,t).join(""):r.slice(0,t)}function Tl(t,n,e,r){var u=n&q,o=Ce(t);function a(){for(var c=-1,d=arguments.length,y=-1,m=r.length,S=g(m+d),A=this&&this!==pt&&this instanceof a?o:t;++y<m;)S[y]=r[y];for(;d--;)S[y++]=arguments[++c];return It(A,u?e:this,S)}return a}function $s(t){return function(n,e,r){return r&&typeof r!="number"&&mt(n,e,r)&&(e=r=i),n=_n(n),e===i?(e=n,n=0):e=_n(e),r=r===i?n<e?1:-1:_n(r),pl(n,e,r,t)}}function gr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=kt(n),e=kt(e)),t(n,e)}}function Ks(t,n,e,r,u,o,a,c,d,y){var m=n&dt,S=m?a:i,A=m?i:a,I=m?o:i,O=m?i:o;n|=m?Ht:On,n&=~(m?On:Ht),n&sn||(n&=-4);var B=[t,n,u,I,S,O,A,c,d,y],W=e.apply(i,B);return Ui(t)&&js(W,B),W.placeholder=r,to(W,t,n)}function Ti(t){var n=ft[t];return function(e,r){if(e=kt(e),r=r==null?0:vt(N(r),292),r&&ts(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 El=Qn&&1/He(new Qn([,-0]))[1]==on?function(t){return new Qn(t)}:Qi;function ks(t){return function(n){var e=wt(n);return e==Zt?ui(n):e==Yt?Jf(n):Mf(n,t(n))}}function hn(t,n,e,r,u,o,a,c){var d=n&wn;if(!d&&typeof t!="function")throw new Nt(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&On){var m=r,S=u;r=u=i}var A=d?i:Oi(t),I=[t,n,e,r,u,m,S,o,a,c];if(A&&zl(I,A),t=I[0],n=I[1],e=I[2],r=I[3],u=I[4],c=I[9]=I[9]===i?d?0:t.length:ct(I[9]-y,0),!c&&n&(dt|_t)&&(n&=-25),!n||n==q)var O=Il(t,n,e);else n==dt||n==_t?O=Pl(t,n,c):(n==Ht||n==(q|Ht))&&!u.length?O=Tl(t,n,e,r):O=hr.apply(i,I);var B=A?Ss:js;return to(B(O,I),t,n)}function qs(t,n,e,r){return t===i||Vt(t,Xn[e])&&!V.call(r,e)?n:t}function Hs(t,n,e,r,u,o){return it(t)&&it(n)&&(o.set(n,t),ar(t,n,i,Hs,o),o.delete(n)),t}function Ll(t){return Pe(t)?i:t}function zs(t,n,e,r,u,o){var a=e&k,c=t.length,d=n.length;if(c!=d&&!(a&&d>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,I=e&tt?new Nn:i;for(o.set(t,n),o.set(n,t);++S<c;){var O=t[S],B=n[S];if(r)var W=a?r(B,O,S,n,t,o):r(O,B,S,t,n,o);if(W!==i){if(W)continue;A=!1;break}if(I){if(!jr(n,function(H,J){if(!pe(I,J)&&(O===H||u(O,H,e,r,o)))return I.push(J)})){A=!1;break}}else if(!(O===B||u(O,B,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function Ol(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 Xe(t),new Xe(n)));case Gt:case mn:case fe:return Vt(+t,+n);case Ue:return t.name==n.name&&t.message==n.message;case ce:case le:return t==n+"";case Zt:var c=ui;case Yt:var d=r&k;if(c||(c=He),t.size!=n.size&&!d)return!1;var y=a.get(t);if(y)return y==n;r|=tt,a.set(t,n);var m=zs(c(t),c(n),r,u,o,a);return a.delete(t),m;case Be:if(ye)return ye.call(t)==ye.call(n)}return!1}function Wl(t,n,e,r,u,o){var a=e&k,c=Ei(t),d=c.length,y=Ei(n),m=y.length;if(d!=m&&!a)return!1;for(var S=d;S--;){var A=c[S];if(!(a?A in n:V.call(n,A)))return!1}var I=o.get(t),O=o.get(n);if(I&&O)return I==n&&O==t;var B=!0;o.set(t,n),o.set(n,t);for(var W=a;++S<d;){A=c[S];var H=t[A],J=n[A];if(r)var Lt=a?r(J,H,A,n,t,o):r(H,J,A,t,n,o);if(!(Lt===i?H===J||u(H,J,e,r,o):Lt)){B=!1;break}W||(W=A=="constructor")}if(B&&!W){var xt=t.constructor,Ot=n.constructor;xt!=Ot&&"constructor"in t&&"constructor"in n&&!(typeof xt=="function"&&xt instanceof xt&&typeof Ot=="function"&&Ot instanceof Ot)&&(B=!1)}return o.delete(t),o.delete(n),B}function dn(t){return Bi(Qs(t,i,so),t+"")}function Ei(t){return ls(t,ht,Di)}function Li(t){return ls(t,bt,Gs)}var Oi=er?function(t){return er.get(t)}:Qi;function _r(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 E(){var t=s.iteratee||Yi;return t=t===Yi?ps:t,arguments.length?t(arguments[0],arguments[1]):t}function vr(t,n){var e=t.__data__;return Kl(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Wi(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],u=t[r];n[e]=[r,u,Ys(u)]}return n}function $n(t,n){var e=Hf(t,n);return ds(e)?e:i}function Dl(t){var n=V.call(t,Fn),e=t[Fn];try{t[Fn]=i;var r=!0}catch{}var u=Ze.call(t);return r&&(n?t[Fn]=e:delete t[Fn]),u}var Di=oi?function(t){return t==null?[]:(t=j(t),xn(oi(t),function(n){return Vu.call(t,n)}))}:Vi,Gs=oi?function(t){for(var n=[];t;)Sn(n,Di(t)),t=Qe(t);return n}:Vi,wt=yt;(ai&&wt(new ai(new ArrayBuffer(1)))!=Hn||_e&&wt(new _e)!=Zt||fi&&wt(fi.resolve())!=au||Qn&&wt(new Qn)!=Yt||ve&&wt(new ve)!=he)&&(wt=function(t){var n=yt(t),e=n==an?t.constructor:i,r=e?Kn(e):"";if(r)switch(r){case _c:return Hn;case vc:return Zt;case wc:return au;case yc:return Yt;case mc:return he}return n});function Fl(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=vt(n,t+a);break;case"takeRight":t=ct(t,n-a);break}}return{start:t,end:n}}function Ul(t){var n=t.match(Ka);return n?n[1].split(ka):[]}function Js(t,n,e){n=In(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&&br(u)&&pn(a,u)&&(U(t)||kn(t)))}function Nl(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 Zs(t){return typeof t.constructor=="function"&&!Re(t)?jn(Qe(t)):{}}function Bl(t,n,e){var r=t.constructor;switch(n){case de:return Ii(t);case Gt:case mn:return new r(+t);case Hn:return xl(t,e);case Wr:case Dr:case Fr:case Ur:case Nr:case Br:case Mr:case $r:case Kr:return Es(t,e);case Zt:return new r;case fe:case le:return new r(t);case ce:return Sl(t);case Yt:return new r;case Be:return Al(t)}}function Ml(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($a,`{
8
+ */Te.exports,function(h,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",R="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",M=500,I="__lodash_placeholder__",z=1,D=2,T=4,k=1,tt=2,q=1,wn=2,sn=4,dt=8,_t=16,Ht=32,On=64,Wt=128,tn=256,zt=512,Le=30,Oe="...",It=800,We=16,Wn=1,De=2,lt=3,on=1/0,nn=9007199254740991,Er=17976931348623157e292,qn=NaN,Dt=4294967295,Lr=Dt-1,Fe=Dt>>>1,Or=[["ary",Wt],["bind",q],["bindKey",wn],["curry",dt],["curryRight",_t],["flip",zt],["partial",Ht],["partialRight",On],["rearg",tn]],$="[object Arguments]",at="[object Array]",yn="[object AsyncFunction]",Gt="[object Boolean]",mn="[object Date]",Jt="[object DOMException]",Ue="[object Error]",Ne="[object Function]",ou="[object GeneratorFunction]",Zt="[object Map]",fe="[object Number]",ba="[object Null]",an="[object Object]",au="[object Promise]",Ca="[object Proxy]",ce="[object RegExp]",Yt="[object Set]",le="[object String]",Be="[object Symbol]",Ia="[object Undefined]",he="[object WeakMap]",Pa="[object WeakSet]",de="[object ArrayBuffer]",Hn="[object DataView]",Wr="[object Float32Array]",Dr="[object Float64Array]",Fr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Mr="[object Uint8ClampedArray]",$r="[object Uint16Array]",Kr="[object Uint32Array]",Ra=/\b__p \+= '';/g,Ta=/\b(__p \+=) '' \+/g,Ea=/(__e\(.*?\)|\b__t\)) \+\n'';/g,fu=/&(?:amp|lt|gt|quot|#39);/g,cu=/[&<>"']/g,La=RegExp(fu.source),Oa=RegExp(cu.source),Wa=/<%-([\s\S]+?)%>/g,Da=/<%([\s\S]+?)%>/g,lu=/<%=([\s\S]+?)%>/g,Fa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ua=/^\w*$/,Na=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Ba=RegExp(kr.source),qr=/^\s+/,Ma=/\s/,$a=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ka=/\{\n\/\* \[wrapped with (.+)\] \*/,ka=/,? & /,qa=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ha=/[()=,{}\[\]\/\s]/,za=/\\(\\)?/g,Ga=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hu=/\w*$/,Ja=/^[-+]0x[0-9a-f]+$/i,Za=/^0b[01]+$/i,Ya=/^\[object .+?Constructor\]$/,Xa=/^0o[0-7]+$/i,Qa=/^(?:0|[1-9]\d*)$/,Va=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Me=/($^)/,ja=/['\n\r\u2028\u2029\\]/g,$e="\\ud800-\\udfff",tf="\\u0300-\\u036f",nf="\\ufe20-\\ufe2f",ef="\\u20d0-\\u20ff",du=tf+nf+ef,pu="\\u2700-\\u27bf",gu="a-z\\xdf-\\xf6\\xf8-\\xff",rf="\\xac\\xb1\\xd7\\xf7",uf="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",sf="\\u2000-\\u206f",of=" \\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",_u="A-Z\\xc0-\\xd6\\xd8-\\xde",vu="\\ufe0e\\ufe0f",wu=rf+uf+sf+of,Hr="['’]",af="["+$e+"]",yu="["+wu+"]",Ke="["+du+"]",mu="\\d+",ff="["+pu+"]",xu="["+gu+"]",Su="[^"+$e+wu+mu+pu+gu+_u+"]",zr="\\ud83c[\\udffb-\\udfff]",cf="(?:"+Ke+"|"+zr+")",Au="[^"+$e+"]",Gr="(?:\\ud83c[\\udde6-\\uddff]){2}",Jr="[\\ud800-\\udbff][\\udc00-\\udfff]",zn="["+_u+"]",bu="\\u200d",Cu="(?:"+xu+"|"+Su+")",lf="(?:"+zn+"|"+Su+")",Iu="(?:"+Hr+"(?:d|ll|m|re|s|t|ve))?",Pu="(?:"+Hr+"(?:D|LL|M|RE|S|T|VE))?",Ru=cf+"?",Tu="["+vu+"]?",hf="(?:"+bu+"(?:"+[Au,Gr,Jr].join("|")+")"+Tu+Ru+")*",df="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",pf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Eu=Tu+Ru+hf,gf="(?:"+[ff,Gr,Jr].join("|")+")"+Eu,_f="(?:"+[Au+Ke+"?",Ke,Gr,Jr,af].join("|")+")",vf=RegExp(Hr,"g"),wf=RegExp(Ke,"g"),Zr=RegExp(zr+"(?="+zr+")|"+_f+Eu,"g"),yf=RegExp([zn+"?"+xu+"+"+Iu+"(?="+[yu,zn,"$"].join("|")+")",lf+"+"+Pu+"(?="+[yu,zn+Cu,"$"].join("|")+")",zn+"?"+Cu+"+"+Iu,zn+"+"+Pu,pf,df,mu,gf].join("|"),"g"),mf=RegExp("["+bu+$e+du+vu+"]"),xf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Sf=["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"],Af=-1,et={};et[Wr]=et[Dr]=et[Fr]=et[Ur]=et[Nr]=et[Br]=et[Mr]=et[$r]=et[Kr]=!0,et[$]=et[at]=et[de]=et[Gt]=et[Hn]=et[mn]=et[Ue]=et[Ne]=et[Zt]=et[fe]=et[an]=et[ce]=et[Yt]=et[le]=et[he]=!1;var nt={};nt[$]=nt[at]=nt[de]=nt[Hn]=nt[Gt]=nt[mn]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Ur]=nt[Nr]=nt[Zt]=nt[fe]=nt[an]=nt[ce]=nt[Yt]=nt[le]=nt[Be]=nt[Br]=nt[Mr]=nt[$r]=nt[Kr]=!0,nt[Ue]=nt[Ne]=nt[he]=!1;var bf={À:"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"},Cf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},If={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Pf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Rf=parseFloat,Tf=parseInt,Lu=typeof oe=="object"&&oe&&oe.Object===Object&&oe,Ef=typeof self=="object"&&self&&self.Object===Object&&self,pt=Lu||Ef||Function("return this")(),Yr=f&&!f.nodeType&&f,Dn=Yr&&!0&&h&&!h.nodeType&&h,Ou=Dn&&Dn.exports===Yr,Xr=Ou&&Lu.process,Ft=function(){try{var l=Dn&&Dn.require&&Dn.require("util").types;return l||Xr&&Xr.binding&&Xr.binding("util")}catch{}}(),Wu=Ft&&Ft.isArrayBuffer,Du=Ft&&Ft.isDate,Fu=Ft&&Ft.isMap,Uu=Ft&&Ft.isRegExp,Nu=Ft&&Ft.isSet,Bu=Ft&&Ft.isTypedArray;function Pt(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 Lf(l,w,g,C){for(var F=-1,Y=l==null?0:l.length;++F<Y;){var ft=l[F];w(C,ft,g(ft),l)}return C}function Ut(l,w){for(var g=-1,C=l==null?0:l.length;++g<C&&w(l[g],g,l)!==!1;);return l}function Of(l,w){for(var g=l==null?0:l.length;g--&&w(l[g],g,l)!==!1;);return l}function Mu(l,w){for(var g=-1,C=l==null?0:l.length;++g<C;)if(!w(l[g],g,l))return!1;return!0}function xn(l,w){for(var g=-1,C=l==null?0:l.length,F=0,Y=[];++g<C;){var ft=l[g];w(ft,g,l)&&(Y[F++]=ft)}return Y}function ke(l,w){var g=l==null?0:l.length;return!!g&&Gn(l,w,0)>-1}function Qr(l,w,g){for(var C=-1,F=l==null?0:l.length;++C<F;)if(g(w,l[C]))return!0;return!1}function rt(l,w){for(var g=-1,C=l==null?0:l.length,F=Array(C);++g<C;)F[g]=w(l[g],g,l);return F}function Sn(l,w){for(var g=-1,C=w.length,F=l.length;++g<C;)l[F+g]=w[g];return l}function Vr(l,w,g,C){var F=-1,Y=l==null?0:l.length;for(C&&Y&&(g=l[++F]);++F<Y;)g=w(g,l[F],F,l);return g}function Wf(l,w,g,C){var F=l==null?0:l.length;for(C&&F&&(g=l[--F]);F--;)g=w(g,l[F],F,l);return g}function jr(l,w){for(var g=-1,C=l==null?0:l.length;++g<C;)if(w(l[g],g,l))return!0;return!1}var Df=ti("length");function Ff(l){return l.split("")}function Uf(l){return l.match(qa)||[]}function $u(l,w,g){var C;return g(l,function(F,Y,ft){if(w(F,Y,ft))return C=Y,!1}),C}function qe(l,w,g,C){for(var F=l.length,Y=g+(C?1:-1);C?Y--:++Y<F;)if(w(l[Y],Y,l))return Y;return-1}function Gn(l,w,g){return w===w?Zf(l,w,g):qe(l,Ku,g)}function Nf(l,w,g,C){for(var F=g-1,Y=l.length;++F<Y;)if(C(l[F],w))return F;return-1}function Ku(l){return l!==l}function ku(l,w){var g=l==null?0:l.length;return g?ei(l,w)/g:qn}function ti(l){return function(w){return w==null?i:w[l]}}function ni(l){return function(w){return l==null?i:l[w]}}function qu(l,w,g,C,F){return F(l,function(Y,ft,j){g=C?(C=!1,Y):w(g,Y,ft,j)}),g}function Bf(l,w){var g=l.length;for(l.sort(w);g--;)l[g]=l[g].value;return l}function ei(l,w){for(var g,C=-1,F=l.length;++C<F;){var Y=w(l[C]);Y!==i&&(g=g===i?Y:g+Y)}return g}function ri(l,w){for(var g=-1,C=Array(l);++g<l;)C[g]=w(g);return C}function Mf(l,w){return rt(w,function(g){return[g,l[g]]})}function Hu(l){return l&&l.slice(0,Zu(l)+1).replace(qr,"")}function Rt(l){return function(w){return l(w)}}function ii(l,w){return rt(w,function(g){return l[g]})}function pe(l,w){return l.has(w)}function zu(l,w){for(var g=-1,C=l.length;++g<C&&Gn(w,l[g],0)>-1;);return g}function Gu(l,w){for(var g=l.length;g--&&Gn(w,l[g],0)>-1;);return g}function $f(l,w){for(var g=l.length,C=0;g--;)l[g]===w&&++C;return C}var Kf=ni(bf),kf=ni(Cf);function qf(l){return"\\"+Pf[l]}function Hf(l,w){return l==null?i:l[w]}function Jn(l){return mf.test(l)}function zf(l){return xf.test(l)}function Gf(l){for(var w,g=[];!(w=l.next()).done;)g.push(w.value);return g}function ui(l){var w=-1,g=Array(l.size);return l.forEach(function(C,F){g[++w]=[F,C]}),g}function Ju(l,w){return function(g){return l(w(g))}}function An(l,w){for(var g=-1,C=l.length,F=0,Y=[];++g<C;){var ft=l[g];(ft===w||ft===I)&&(l[g]=I,Y[F++]=g)}return Y}function He(l){var w=-1,g=Array(l.size);return l.forEach(function(C){g[++w]=C}),g}function Jf(l){var w=-1,g=Array(l.size);return l.forEach(function(C){g[++w]=[C,C]}),g}function Zf(l,w,g){for(var C=g-1,F=l.length;++C<F;)if(l[C]===w)return C;return-1}function Yf(l,w,g){for(var C=g+1;C--;)if(l[C]===w)return C;return C}function Zn(l){return Jn(l)?Qf(l):Df(l)}function Xt(l){return Jn(l)?Vf(l):Ff(l)}function Zu(l){for(var w=l.length;w--&&Ma.test(l.charAt(w)););return w}var Xf=ni(If);function Qf(l){for(var w=Zr.lastIndex=0;Zr.test(l);)++w;return w}function Vf(l){return l.match(Zr)||[]}function jf(l){return l.match(yf)||[]}var tc=function l(w){w=w==null?pt:Yn.defaults(pt.Object(),w,Yn.pick(pt,Sf));var g=w.Array,C=w.Date,F=w.Error,Y=w.Function,ft=w.Math,j=w.Object,si=w.RegExp,nc=w.String,Nt=w.TypeError,ze=g.prototype,ec=Y.prototype,Xn=j.prototype,Ge=w["__core-js_shared__"],Je=ec.toString,V=Xn.hasOwnProperty,rc=0,Yu=function(){var t=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Ze=Xn.toString,ic=Je.call(j),uc=pt._,sc=si("^"+Je.call(V).replace(kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ye=Ou?w.Buffer:i,bn=w.Symbol,Xe=w.Uint8Array,Xu=Ye?Ye.allocUnsafe:i,Qe=Ju(j.getPrototypeOf,j),Qu=j.create,Vu=Xn.propertyIsEnumerable,Ve=ze.splice,ju=bn?bn.isConcatSpreadable:i,ge=bn?bn.iterator:i,Fn=bn?bn.toStringTag:i,je=function(){try{var t=$n(j,"defineProperty");return t({},"",{}),t}catch{}}(),oc=w.clearTimeout!==pt.clearTimeout&&w.clearTimeout,ac=C&&C.now!==pt.Date.now&&C.now,fc=w.setTimeout!==pt.setTimeout&&w.setTimeout,tr=ft.ceil,nr=ft.floor,oi=j.getOwnPropertySymbols,cc=Ye?Ye.isBuffer:i,ts=w.isFinite,lc=ze.join,hc=Ju(j.keys,j),ct=ft.max,vt=ft.min,dc=C.now,pc=w.parseInt,ns=ft.random,gc=ze.reverse,ai=$n(w,"DataView"),_e=$n(w,"Map"),fi=$n(w,"Promise"),Qn=$n(w,"Set"),ve=$n(w,"WeakMap"),we=$n(j,"create"),er=ve&&new ve,Vn={},_c=Kn(ai),vc=Kn(_e),wc=Kn(fi),yc=Kn(Qn),mc=Kn(ve),rr=bn?bn.prototype:i,ye=rr?rr.valueOf:i,es=rr?rr.toString:i;function s(t){if(ut(t)&&!U(t)&&!(t instanceof G)){if(t instanceof Bt)return t;if(V.call(t,"__wrapped__"))return ro(t)}return new Bt(t)}var jn=function(){function t(){}return function(n){if(!it(n))return{};if(Qu)return Qu(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function ir(){}function Bt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}s.templateSettings={escape:Wa,evaluate:Da,interpolate:lu,variable:"",imports:{_:s}},s.prototype=ir.prototype,s.prototype.constructor=s,Bt.prototype=jn(ir.prototype),Bt.prototype.constructor=Bt;function G(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Dt,this.__views__=[]}function xc(){var t=new G(this.__wrapped__);return t.__actions__=St(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=St(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=St(this.__views__),t}function Sc(){if(this.__filtered__){var t=new G(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Ac(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,u=e?t.length:0,o=Fl(0,u,this.__views__),a=o.start,c=o.end,d=c-a,y=r?c:a-1,m=this.__iteratees__,S=m.length,A=0,P=vt(d,this.__takeCount__);if(!e||!r&&u==d&&P==d)return Is(t,this.__actions__);var O=[];t:for(;d--&&A<P;){y+=n;for(var B=-1,W=t[y];++B<S;){var H=m[B],J=H.iteratee,Lt=H.type,xt=J(W);if(Lt==De)W=xt;else if(!xt){if(Lt==Wn)continue t;break t}}O[A++]=W}return O}G.prototype=jn(ir.prototype),G.prototype.constructor=G;function Un(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 bc(){this.__data__=we?we(null):{},this.size=0}function Cc(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Ic(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 Pc(t){var n=this.__data__;return we?n[t]!==i:V.call(n,t)}function Rc(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=we&&n===i?b:n,this}Un.prototype.clear=bc,Un.prototype.delete=Cc,Un.prototype.get=Ic,Un.prototype.has=Pc,Un.prototype.set=Rc;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 Tc(){this.__data__=[],this.size=0}function Ec(t){var n=this.__data__,e=ur(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Ve.call(n,e,1),--this.size,!0}function Lc(t){var n=this.__data__,e=ur(n,t);return e<0?i:n[e][1]}function Oc(t){return ur(this.__data__,t)>-1}function Wc(t,n){var e=this.__data__,r=ur(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}fn.prototype.clear=Tc,fn.prototype.delete=Ec,fn.prototype.get=Lc,fn.prototype.has=Oc,fn.prototype.set=Wc;function cn(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 Dc(){this.size=0,this.__data__={hash:new Un,map:new(_e||fn),string:new Un}}function Fc(t){var n=vr(this,t).delete(t);return this.size-=n?1:0,n}function Uc(t){return vr(this,t).get(t)}function Nc(t){return vr(this,t).has(t)}function Bc(t,n){var e=vr(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}cn.prototype.clear=Dc,cn.prototype.delete=Fc,cn.prototype.get=Uc,cn.prototype.has=Nc,cn.prototype.set=Bc;function Nn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new cn;++n<e;)this.add(t[n])}function Mc(t){return this.__data__.set(t,b),this}function $c(t){return this.__data__.has(t)}Nn.prototype.add=Nn.prototype.push=Mc,Nn.prototype.has=$c;function Qt(t){var n=this.__data__=new fn(t);this.size=n.size}function Kc(){this.__data__=new fn,this.size=0}function kc(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function qc(t){return this.__data__.get(t)}function Hc(t){return this.__data__.has(t)}function zc(t,n){var e=this.__data__;if(e instanceof fn){var r=e.__data__;if(!_e||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new cn(r)}return e.set(t,n),this.size=e.size,this}Qt.prototype.clear=Kc,Qt.prototype.delete=kc,Qt.prototype.get=qc,Qt.prototype.has=Hc,Qt.prototype.set=zc;function rs(t,n){var e=U(t),r=!e&&kn(t),u=!e&&!r&&Tn(t),o=!e&&!r&&!u&&re(t),a=e||r||u||o,c=a?ri(t.length,nc):[],d=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")||pn(y,d)))&&c.push(y);return c}function is(t){var n=t.length;return n?t[mi(0,n-1)]:i}function Gc(t,n){return wr(St(t),Bn(n,0,t.length))}function Jc(t){return wr(St(t))}function ci(t,n,e){(e!==i&&!Vt(t[n],e)||e===i&&!(n in t))&&ln(t,n,e)}function me(t,n,e){var r=t[n];(!(V.call(t,n)&&Vt(r,e))||e===i&&!(n in t))&&ln(t,n,e)}function ur(t,n){for(var e=t.length;e--;)if(Vt(t[e][0],n))return e;return-1}function Zc(t,n,e,r){return Cn(t,function(u,o,a){n(r,u,e(u),a)}),r}function us(t,n){return t&&rn(n,ht(n),t)}function Yc(t,n){return t&&rn(n,bt(n),t)}function ln(t,n,e){n=="__proto__"&&je?je(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function li(t,n){for(var e=-1,r=n.length,u=g(r),o=t==null;++e<r;)u[e]=o?i:zi(t,n[e]);return u}function Bn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function Mt(t,n,e,r,u,o){var a,c=n&z,d=n&D,y=n&T;if(e&&(a=u?e(t,r,u,o):e(t)),a!==i)return a;if(!it(t))return t;var m=U(t);if(m){if(a=Nl(t),!c)return St(t,a)}else{var S=wt(t),A=S==Ne||S==ou;if(Tn(t))return Ts(t,c);if(S==an||S==$||A&&!u){if(a=d||A?{}:Zs(t),!c)return d?Il(t,Yc(a,t)):Cl(t,us(a,t))}else{if(!nt[S])return u?t:{};a=Bl(t,S,c)}}o||(o=new Qt);var P=o.get(t);if(P)return P;o.set(t,a),bo(t)?t.forEach(function(W){a.add(Mt(W,n,e,W,t,o))}):So(t)&&t.forEach(function(W,H){a.set(H,Mt(W,n,e,H,t,o))});var O=y?d?Li:Ei:d?bt:ht,B=m?i:O(t);return Ut(B||t,function(W,H){B&&(H=W,W=t[H]),me(a,H,Mt(W,n,e,H,t,o))}),a}function Xc(t){var n=ht(t);return function(e){return ss(e,t,n)}}function ss(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 os(t,n,e){if(typeof t!="function")throw new Nt(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,d=[],y=n.length;if(!c)return d;e&&(n=rt(n,Rt(e))),r?(o=Qr,a=!1):n.length>=_&&(o=pe,a=!1,n=new Nn(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;d.push(m)}else o(n,S,r)||d.push(m)}return d}var Cn=Ds(en),as=Ds(di,!0);function Qc(t,n){var e=!0;return Cn(t,function(r,u,o){return e=!!n(r,u,o),e}),e}function sr(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&&!Et(a):e(a,c)))var c=a,d=o}return d}function Vc(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:Io(r);e<r;)t[e++]=n;return t}function fs(t,n){var e=[];return Cn(t,function(r,u,o){n(r,u,o)&&e.push(r)}),e}function gt(t,n,e,r,u){var o=-1,a=t.length;for(e||(e=$l),u||(u=[]);++o<a;){var c=t[o];n>0&&e(c)?n>1?gt(c,n-1,e,r,u):Sn(u,c):r||(u[u.length]=c)}return u}var hi=Fs(),cs=Fs(!0);function en(t,n){return t&&hi(t,n,ht)}function di(t,n){return t&&cs(t,n,ht)}function or(t,n){return xn(n,function(e){return gn(t[e])})}function Mn(t,n){n=Pn(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 ls(t,n,e){var r=n(t);return U(t)?r:Sn(r,e(t))}function yt(t){return t==null?t===i?Ia:ba:Fn&&Fn in j(t)?Dl(t):Jl(t)}function pi(t,n){return t>n}function jc(t,n){return t!=null&&V.call(t,n)}function tl(t,n){return t!=null&&n in j(t)}function nl(t,n,e){return t>=vt(n,e)&&t<ct(n,e)}function gi(t,n,e){for(var r=e?Qr:ke,u=t[0].length,o=t.length,a=o,c=g(o),d=1/0,y=[];a--;){var m=t[a];a&&n&&(m=rt(m,Rt(n))),d=vt(m.length,d),c[a]=!e&&(n||u>=120&&m.length>=120)?new Nn(a&&m):i}m=t[0];var S=-1,A=c[0];t:for(;++S<u&&y.length<d;){var P=m[S],O=n?n(P):P;if(P=e||P!==0?P:0,!(A?pe(A,O):r(y,O,e))){for(a=o;--a;){var B=c[a];if(!(B?pe(B,O):r(t[a],O,e)))continue t}A&&A.push(O),y.push(P)}}return y}function el(t,n,e,r){return en(t,function(u,o,a){n(r,e(u),o,a)}),r}function Se(t,n,e){n=Pn(n,t),t=Vs(t,n);var r=t==null?t:t[un(Kt(n))];return r==null?i:Pt(r,t,e)}function hs(t){return ut(t)&&yt(t)==$}function rl(t){return ut(t)&&yt(t)==de}function il(t){return ut(t)&&yt(t)==mn}function Ae(t,n,e,r,u){return t===n?!0:t==null||n==null||!ut(t)&&!ut(n)?t!==t&&n!==n:ul(t,n,e,r,Ae,u)}function ul(t,n,e,r,u,o){var a=U(t),c=U(n),d=a?at:wt(t),y=c?at:wt(n);d=d==$?an:d,y=y==$?an:y;var m=d==an,S=y==an,A=d==y;if(A&&Tn(t)){if(!Tn(n))return!1;a=!0,m=!1}if(A&&!m)return o||(o=new Qt),a||re(t)?zs(t,n,e,r,u,o):Ol(t,n,d,e,r,u,o);if(!(e&k)){var P=m&&V.call(t,"__wrapped__"),O=S&&V.call(n,"__wrapped__");if(P||O){var B=P?t.value():t,W=O?n.value():n;return o||(o=new Qt),u(B,W,e,r,o)}}return A?(o||(o=new Qt),Wl(t,n,e,r,u,o)):!1}function sl(t){return ut(t)&&wt(t)==Zt}function _i(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 d=c[0],y=t[d],m=c[1];if(a&&c[2]){if(y===i&&!(d in t))return!1}else{var S=new Qt;if(r)var A=r(y,m,d,t,n,S);if(!(A===i?Ae(m,y,k|tt,r,S):A))return!1}}return!0}function ds(t){if(!it(t)||kl(t))return!1;var n=gn(t)?sc:Ya;return n.test(Kn(t))}function ol(t){return ut(t)&&yt(t)==ce}function al(t){return ut(t)&&wt(t)==Yt}function fl(t){return ut(t)&&br(t.length)&&!!et[yt(t)]}function ps(t){return typeof t=="function"?t:t==null?Ct:typeof t=="object"?U(t)?vs(t[0],t[1]):_s(t):No(t)}function vi(t){if(!Ie(t))return hc(t);var n=[];for(var e in j(t))V.call(t,e)&&e!="constructor"&&n.push(e);return n}function cl(t){if(!it(t))return Gl(t);var n=Ie(t),e=[];for(var r in t)r=="constructor"&&(n||!V.call(t,r))||e.push(r);return e}function wi(t,n){return t<n}function gs(t,n){var e=-1,r=At(t)?g(t.length):[];return Cn(t,function(u,o,a){r[++e]=n(u,o,a)}),r}function _s(t){var n=Wi(t);return n.length==1&&n[0][2]?Xs(n[0][0],n[0][1]):function(e){return e===t||_i(e,t,n)}}function vs(t,n){return Fi(t)&&Ys(n)?Xs(un(t),n):function(e){var r=zi(e,t);return r===i&&r===n?Gi(e,t):Ae(n,r,k|tt)}}function ar(t,n,e,r,u){t!==n&&hi(n,function(o,a){if(u||(u=new Qt),it(o))ll(t,n,a,e,ar,r,u);else{var c=r?r(Ni(t,a),o,a+"",t,n,u):i;c===i&&(c=o),ci(t,a,c)}},bt)}function ll(t,n,e,r,u,o,a){var c=Ni(t,e),d=Ni(n,e),y=a.get(d);if(y){ci(t,e,y);return}var m=o?o(c,d,e+"",t,n,a):i,S=m===i;if(S){var A=U(d),P=!A&&Tn(d),O=!A&&!P&&re(d);m=d,A||P||O?U(c)?m=c:st(c)?m=St(c):P?(S=!1,m=Ts(d,!0)):O?(S=!1,m=Es(d,!0)):m=[]:Re(d)||kn(d)?(m=c,kn(c)?m=Po(c):(!it(c)||gn(c))&&(m=Zs(d))):S=!1}S&&(a.set(d,m),u(m,d,r,o,a),a.delete(d)),ci(t,e,m)}function ws(t,n){var e=t.length;if(e)return n+=n<0?e:0,pn(n,e)?t[n]:i}function ys(t,n,e){n.length?n=rt(n,function(o){return U(o)?function(a){return Mn(a,o.length===1?o[0]:o)}:o}):n=[Ct];var r=-1;n=rt(n,Rt(E()));var u=gs(t,function(o,a,c){var d=rt(n,function(y){return y(o)});return{criteria:d,index:++r,value:o}});return Bf(u,function(o,a){return bl(o,a,e)})}function hl(t,n){return ms(t,n,function(e,r){return Gi(t,r)})}function ms(t,n,e){for(var r=-1,u=n.length,o={};++r<u;){var a=n[r],c=Mn(t,a);e(c,a)&&be(o,Pn(a,t),c)}return o}function dl(t){return function(n){return Mn(n,t)}}function yi(t,n,e,r){var u=r?Nf:Gn,o=-1,a=n.length,c=t;for(t===n&&(n=St(n)),e&&(c=rt(t,Rt(e)));++o<a;)for(var d=0,y=n[o],m=e?e(y):y;(d=u(c,m,d,r))>-1;)c!==t&&Ve.call(c,d,1),Ve.call(t,d,1);return t}function xs(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;pn(u)?Ve.call(t,u,1):Ai(t,u)}}return t}function mi(t,n){return t+nr(ns()*(n-t+1))}function pl(t,n,e,r){for(var u=-1,o=ct(tr((n-t)/(e||1)),0),a=g(o);o--;)a[r?o:++u]=t,t+=e;return a}function xi(t,n){var e="";if(!t||n<1||n>nn)return e;do n%2&&(e+=t),n=nr(n/2),n&&(t+=t);while(n);return e}function K(t,n){return Bi(Qs(t,n,Ct),t+"")}function gl(t){return is(ie(t))}function _l(t,n){var e=ie(t);return wr(e,Bn(n,0,e.length))}function be(t,n,e,r){if(!it(t))return t;n=Pn(n,t);for(var u=-1,o=n.length,a=o-1,c=t;c!=null&&++u<o;){var d=un(n[u]),y=e;if(d==="__proto__"||d==="constructor"||d==="prototype")return t;if(u!=a){var m=c[d];y=r?r(m,d,c):i,y===i&&(y=it(m)?m:pn(n[u+1])?[]:{})}me(c,d,y),c=c[d]}return t}var Ss=er?function(t,n){return er.set(t,n),t}:Ct,vl=je?function(t,n){return je(t,"toString",{configurable:!0,enumerable:!1,value:Zi(n),writable:!0})}:Ct;function wl(t){return wr(ie(t))}function $t(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 yl(t,n){var e;return Cn(t,function(r,u,o){return e=n(r,u,o),!e}),!!e}function fr(t,n,e){var r=0,u=t==null?r:t.length;if(typeof n=="number"&&n===n&&u<=Fe){for(;r<u;){var o=r+u>>>1,a=t[o];a!==null&&!Et(a)&&(e?a<=n:a<n)?r=o+1:u=o}return u}return Si(t,n,Ct,e)}function Si(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,d=Et(n),y=n===i;u<o;){var m=nr((u+o)/2),S=e(t[m]),A=S!==i,P=S===null,O=S===S,B=Et(S);if(a)var W=r||O;else y?W=O&&(r||A):c?W=O&&A&&(r||!P):d?W=O&&A&&!P&&(r||!B):P||B?W=!1:W=r?S<=n:S<n;W?u=m+1:o=m}return vt(o,Lr)}function As(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,d)){var d=c;o[u++]=a===0?0:a}}return o}function bs(t){return typeof t=="number"?t:Et(t)?qn:+t}function Tt(t){if(typeof t=="string")return t;if(U(t))return rt(t,Tt)+"";if(Et(t))return es?es.call(t):"";var n=t+"";return n=="0"&&1/t==-on?"-0":n}function In(t,n,e){var r=-1,u=ke,o=t.length,a=!0,c=[],d=c;if(e)a=!1,u=Qr;else if(o>=_){var y=n?null:El(t);if(y)return He(y);a=!1,u=pe,d=new Nn}else d=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=d.length;A--;)if(d[A]===S)continue t;n&&d.push(S),c.push(m)}else u(d,S,e)||(d!==c&&d.push(S),c.push(m))}return c}function Ai(t,n){return n=Pn(n,t),t=Vs(t,n),t==null||delete t[un(Kt(n))]}function Cs(t,n,e,r){return be(t,n,e(Mn(t,n)),r)}function cr(t,n,e,r){for(var u=t.length,o=r?u:-1;(r?o--:++o<u)&&n(t[o],o,t););return e?$t(t,r?0:o,r?o+1:u):$t(t,r?o+1:0,r?u:o)}function Is(t,n){var e=t;return e instanceof G&&(e=e.value()),Vr(n,function(r,u){return u.func.apply(u.thisArg,Sn([r],u.args))},e)}function bi(t,n,e){var r=t.length;if(r<2)return r?In(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 In(gt(o,1),n,e)}function Ps(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 Ci(t){return st(t)?t:[]}function Ii(t){return typeof t=="function"?t:Ct}function Pn(t,n){return U(t)?t:Fi(t,n)?[t]:eo(X(t))}var ml=K;function Rn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:$t(t,n,e)}var Rs=oc||function(t){return pt.clearTimeout(t)};function Ts(t,n){if(n)return t.slice();var e=t.length,r=Xu?Xu(e):new t.constructor(e);return t.copy(r),r}function Pi(t){var n=new t.constructor(t.byteLength);return new Xe(n).set(new Xe(t)),n}function xl(t,n){var e=n?Pi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function Sl(t){var n=new t.constructor(t.source,hu.exec(t));return n.lastIndex=t.lastIndex,n}function Al(t){return ye?j(ye.call(t)):{}}function Es(t,n){var e=n?Pi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Ls(t,n){if(t!==n){var e=t!==i,r=t===null,u=t===t,o=Et(t),a=n!==i,c=n===null,d=n===n,y=Et(n);if(!c&&!y&&!o&&t>n||o&&a&&d&&!c&&!y||r&&a&&d||!e&&d||!u)return 1;if(!r&&!o&&!y&&t<n||y&&e&&u&&!r&&!o||c&&e&&u||!a&&u||!d)return-1}return 0}function bl(t,n,e){for(var r=-1,u=t.criteria,o=n.criteria,a=u.length,c=e.length;++r<a;){var d=Ls(u[r],o[r]);if(d){if(r>=c)return d;var y=e[r];return d*(y=="desc"?-1:1)}}return t.index-n.index}function Os(t,n,e,r){for(var u=-1,o=t.length,a=e.length,c=-1,d=n.length,y=ct(o-a,0),m=g(d+y),S=!r;++c<d;)m[c]=n[c];for(;++u<a;)(S||u<o)&&(m[e[u]]=t[u]);for(;y--;)m[c++]=t[u++];return m}function Ws(t,n,e,r){for(var u=-1,o=t.length,a=-1,c=e.length,d=-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;++d<y;)S[P+d]=n[d];for(;++a<c;)(A||u<o)&&(S[P+e[a]]=t[u++]);return S}function St(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],d=r?r(e[c],t[c],c,e,t):i;d===i&&(d=t[c]),u?ln(e,c,d):me(e,c,d)}return e}function Cl(t,n){return rn(t,Di(t),n)}function Il(t,n){return rn(t,Gs(t),n)}function lr(t,n){return function(e,r){var u=U(e)?Lf:Zc,o=n?n():{};return u(e,t,E(r,2),o)}}function te(t){return K(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&&mt(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 Ds(t,n){return function(e,r){if(e==null)return e;if(!At(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 Fs(t){return function(n,e,r){for(var u=-1,o=j(n),a=r(n),c=a.length;c--;){var d=a[t?c:++u];if(e(o[d],d,o)===!1)break}return n}}function Pl(t,n,e){var r=n&q,u=Ce(t);function o(){var a=this&&this!==pt&&this instanceof o?u:t;return a.apply(r?e:this,arguments)}return o}function Us(t){return function(n){n=X(n);var e=Jn(n)?Xt(n):i,r=e?e[0]:n.charAt(0),u=e?Rn(e,1).join(""):n.slice(1);return r[t]()+u}}function ne(t){return function(n){return Vr(Fo(Do(n).replace(vf,"")),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 it(r)?r:e}}function Rl(t,n,e){var r=Ce(t);function u(){for(var o=arguments.length,a=g(o),c=o,d=ee(u);c--;)a[c]=arguments[c];var y=o<3&&a[0]!==d&&a[o-1]!==d?[]:An(a,d);if(o-=y.length,o<e)return Ks(t,n,hr,u.placeholder,i,a,y,i,i,e-o);var m=this&&this!==pt&&this instanceof u?r:t;return Pt(m,this,a)}return u}function Ns(t){return function(n,e,r){var u=j(n);if(!At(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 Bs(t){return dn(function(n){var e=n.length,r=e,u=Bt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new Nt(x);if(u&&!a&&_r(o)=="wrapper")var a=new Bt([],!0)}for(r=a?r:e;++r<e;){o=n[r];var c=_r(o),d=c=="wrapper"?Oi(o):i;d&&Ui(d[0])&&d[1]==(Wt|dt|Ht|tn)&&!d[4].length&&d[9]==1?a=a[_r(d[0])].apply(a,d[3]):a=o.length==1&&Ui(o)?a[c]():a.thru(o)}return function(){var y=arguments,m=y[0];if(a&&y.length==1&&U(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 hr(t,n,e,r,u,o,a,c,d,y){var m=n&Wt,S=n&q,A=n&wn,P=n&(dt|_t),O=n&zt,B=A?i:Ce(t);function W(){for(var H=arguments.length,J=g(H),Lt=H;Lt--;)J[Lt]=arguments[Lt];if(P)var xt=ee(W),Ot=$f(J,xt);if(r&&(J=Os(J,r,u,P)),o&&(J=Ws(J,o,a,P)),H-=Ot,P&&H<y){var ot=An(J,xt);return Ks(t,n,hr,W.placeholder,e,J,ot,c,d,y-H)}var jt=S?e:this,vn=A?jt[t]:t;return H=J.length,c?J=Zl(J,c):O&&H>1&&J.reverse(),m&&d<H&&(J.length=d),this&&this!==pt&&this instanceof W&&(vn=B||Ce(vn)),vn.apply(jt,J)}return W}function Ms(t,n){return function(e,r){return el(e,t,n(r),{})}}function dr(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=Tt(e),r=Tt(r)):(e=bs(e),r=bs(r)),u=t(e,r)}return u}}function Ri(t){return dn(function(n){return n=rt(n,Rt(E())),K(function(e){var r=this;return t(n,function(u){return Pt(u,r,e)})})})}function pr(t,n){n=n===i?" ":Tt(n);var e=n.length;if(e<2)return e?xi(n,t):n;var r=xi(n,tr(t/Zn(n)));return Jn(n)?Rn(Xt(r),0,t).join(""):r.slice(0,t)}function Tl(t,n,e,r){var u=n&q,o=Ce(t);function a(){for(var c=-1,d=arguments.length,y=-1,m=r.length,S=g(m+d),A=this&&this!==pt&&this instanceof a?o:t;++y<m;)S[y]=r[y];for(;d--;)S[y++]=arguments[++c];return Pt(A,u?e:this,S)}return a}function $s(t){return function(n,e,r){return r&&typeof r!="number"&&mt(n,e,r)&&(e=r=i),n=_n(n),e===i?(e=n,n=0):e=_n(e),r=r===i?n<e?1:-1:_n(r),pl(n,e,r,t)}}function gr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=kt(n),e=kt(e)),t(n,e)}}function Ks(t,n,e,r,u,o,a,c,d,y){var m=n&dt,S=m?a:i,A=m?i:a,P=m?o:i,O=m?i:o;n|=m?Ht:On,n&=~(m?On:Ht),n&sn||(n&=-4);var B=[t,n,u,P,S,O,A,c,d,y],W=e.apply(i,B);return Ui(t)&&js(W,B),W.placeholder=r,to(W,t,n)}function Ti(t){var n=ft[t];return function(e,r){if(e=kt(e),r=r==null?0:vt(N(r),292),r&&ts(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 El=Qn&&1/He(new Qn([,-0]))[1]==on?function(t){return new Qn(t)}:Qi;function ks(t){return function(n){var e=wt(n);return e==Zt?ui(n):e==Yt?Jf(n):Mf(n,t(n))}}function hn(t,n,e,r,u,o,a,c){var d=n&wn;if(!d&&typeof t!="function")throw new Nt(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&On){var m=r,S=u;r=u=i}var A=d?i:Oi(t),P=[t,n,e,r,u,m,S,o,a,c];if(A&&zl(P,A),t=P[0],n=P[1],e=P[2],r=P[3],u=P[4],c=P[9]=P[9]===i?d?0:t.length:ct(P[9]-y,0),!c&&n&(dt|_t)&&(n&=-25),!n||n==q)var O=Pl(t,n,e);else n==dt||n==_t?O=Rl(t,n,c):(n==Ht||n==(q|Ht))&&!u.length?O=Tl(t,n,e,r):O=hr.apply(i,P);var B=A?Ss:js;return to(B(O,P),t,n)}function qs(t,n,e,r){return t===i||Vt(t,Xn[e])&&!V.call(r,e)?n:t}function Hs(t,n,e,r,u,o){return it(t)&&it(n)&&(o.set(n,t),ar(t,n,i,Hs,o),o.delete(n)),t}function Ll(t){return Re(t)?i:t}function zs(t,n,e,r,u,o){var a=e&k,c=t.length,d=n.length;if(c!=d&&!(a&&d>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&tt?new Nn:i;for(o.set(t,n),o.set(n,t);++S<c;){var O=t[S],B=n[S];if(r)var W=a?r(B,O,S,n,t,o):r(O,B,S,t,n,o);if(W!==i){if(W)continue;A=!1;break}if(P){if(!jr(n,function(H,J){if(!pe(P,J)&&(O===H||u(O,H,e,r,o)))return P.push(J)})){A=!1;break}}else if(!(O===B||u(O,B,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function Ol(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 Xe(t),new Xe(n)));case Gt:case mn:case fe:return Vt(+t,+n);case Ue:return t.name==n.name&&t.message==n.message;case ce:case le:return t==n+"";case Zt:var c=ui;case Yt:var d=r&k;if(c||(c=He),t.size!=n.size&&!d)return!1;var y=a.get(t);if(y)return y==n;r|=tt,a.set(t,n);var m=zs(c(t),c(n),r,u,o,a);return a.delete(t),m;case Be:if(ye)return ye.call(t)==ye.call(n)}return!1}function Wl(t,n,e,r,u,o){var a=e&k,c=Ei(t),d=c.length,y=Ei(n),m=y.length;if(d!=m&&!a)return!1;for(var S=d;S--;){var A=c[S];if(!(a?A in n:V.call(n,A)))return!1}var P=o.get(t),O=o.get(n);if(P&&O)return P==n&&O==t;var B=!0;o.set(t,n),o.set(n,t);for(var W=a;++S<d;){A=c[S];var H=t[A],J=n[A];if(r)var Lt=a?r(J,H,A,n,t,o):r(H,J,A,t,n,o);if(!(Lt===i?H===J||u(H,J,e,r,o):Lt)){B=!1;break}W||(W=A=="constructor")}if(B&&!W){var xt=t.constructor,Ot=n.constructor;xt!=Ot&&"constructor"in t&&"constructor"in n&&!(typeof xt=="function"&&xt instanceof xt&&typeof Ot=="function"&&Ot instanceof Ot)&&(B=!1)}return o.delete(t),o.delete(n),B}function dn(t){return Bi(Qs(t,i,so),t+"")}function Ei(t){return ls(t,ht,Di)}function Li(t){return ls(t,bt,Gs)}var Oi=er?function(t){return er.get(t)}:Qi;function _r(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 E(){var t=s.iteratee||Yi;return t=t===Yi?ps:t,arguments.length?t(arguments[0],arguments[1]):t}function vr(t,n){var e=t.__data__;return Kl(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Wi(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],u=t[r];n[e]=[r,u,Ys(u)]}return n}function $n(t,n){var e=Hf(t,n);return ds(e)?e:i}function Dl(t){var n=V.call(t,Fn),e=t[Fn];try{t[Fn]=i;var r=!0}catch{}var u=Ze.call(t);return r&&(n?t[Fn]=e:delete t[Fn]),u}var Di=oi?function(t){return t==null?[]:(t=j(t),xn(oi(t),function(n){return Vu.call(t,n)}))}:Vi,Gs=oi?function(t){for(var n=[];t;)Sn(n,Di(t)),t=Qe(t);return n}:Vi,wt=yt;(ai&&wt(new ai(new ArrayBuffer(1)))!=Hn||_e&&wt(new _e)!=Zt||fi&&wt(fi.resolve())!=au||Qn&&wt(new Qn)!=Yt||ve&&wt(new ve)!=he)&&(wt=function(t){var n=yt(t),e=n==an?t.constructor:i,r=e?Kn(e):"";if(r)switch(r){case _c:return Hn;case vc:return Zt;case wc:return au;case yc:return Yt;case mc:return he}return n});function Fl(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=vt(n,t+a);break;case"takeRight":t=ct(t,n-a);break}}return{start:t,end:n}}function Ul(t){var n=t.match(Ka);return n?n[1].split(ka):[]}function Js(t,n,e){n=Pn(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&&br(u)&&pn(a,u)&&(U(t)||kn(t)))}function Nl(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 Zs(t){return typeof t.constructor=="function"&&!Ie(t)?jn(Qe(t)):{}}function Bl(t,n,e){var r=t.constructor;switch(n){case de:return Pi(t);case Gt:case mn:return new r(+t);case Hn:return xl(t,e);case Wr:case Dr:case Fr:case Ur:case Nr:case Br:case Mr:case $r:case Kr:return Es(t,e);case Zt:return new r;case fe:case le:return new r(t);case ce:return Sl(t);case Yt:return new r;case Be:return Al(t)}}function Ml(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($a,`{
9
9
  /* [wrapped with `+n+`] */
10
- `)}function $l(t){return U(t)||kn(t)||!!(ju&&t&&t[ju])}function pn(t,n){var e=typeof t;return n=n??nn,!!n&&(e=="number"||e!="symbol"&&Qa.test(t))&&t>-1&&t%1==0&&t<n}function mt(t,n,e){if(!it(e))return!1;var r=typeof n;return(r=="number"?At(e)&&pn(n,e.length):r=="string"&&n in e)?Vt(e[n],t):!1}function Fi(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Et(t)?!0:Ua.test(t)||!Fa.test(t)||n!=null&&t in j(n)}function Kl(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Ui(t){var n=_r(t),e=s[n];if(typeof e!="function"||!(n in G.prototype))return!1;if(t===e)return!0;var r=Oi(e);return!!r&&t===r[0]}function kl(t){return!!Yu&&Yu in t}var ql=Ge?gn:ji;function Re(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Xn;return t===e}function Ys(t){return t===t&&!it(t)}function Xs(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function Hl(t){var n=Sr(t,function(r){return e.size===M&&e.clear(),r}),e=n.cache;return n}function zl(t,n){var e=t[1],r=n[1],u=e|r,o=u<(q|wn|Wt),a=r==Wt&&e==dt||r==Wt&&e==tn&&t[7].length<=n[8]||r==(Wt|tn)&&n[7].length<=n[8]&&e==dt;if(!(o||a))return t;r&q&&(t[2]=n[2],u|=e&q?0:sn);var c=n[3];if(c){var d=t[3];t[3]=d?Os(d,c,n[4]):c,t[4]=d?An(t[3],R):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?Ws(d,c,n[6]):c,t[6]=d?An(t[5],R):n[6]),c=n[7],c&&(t[7]=c),r&Wt&&(t[8]=t[8]==null?n[8]:vt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=u,t}function Gl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function Jl(t){return Ze.call(t)}function Qs(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),It(t,this,c)}}function Vs(t,n){return n.length<2?t:Mn(t,$t(n,0,-1))}function Zl(t,n){for(var e=t.length,r=vt(n.length,e),u=St(t);r--;){var o=n[r];t[r]=pn(o,e)?u[o]:i}return t}function Ni(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var js=no(Ss),Ie=fc||function(t,n){return pt.setTimeout(t,n)},Bi=no(vl);function to(t,n,e){var r=n+"";return Bi(t,Ml(r,Yl(Ul(r),e)))}function no(t){var n=0,e=0;return function(){var r=dc(),u=We-(r-e);if(e=r,u>0){if(++n>=Rt)return arguments[0]}else n=0;return t.apply(i,arguments)}}function wr(t,n){var e=-1,r=t.length,u=r-1;for(n=n===i?r:n;++e<n;){var o=mi(e,u),a=t[o];t[o]=t[e],t[e]=a}return t.length=n,t}var eo=Hl(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Na,function(e,r,u,o){n.push(u?o.replace(za,"$1"):r||e)}),n});function un(t){if(typeof t=="string"||Et(t))return t;var n=t+"";return n=="0"&&1/t==-on?"-0":n}function Kn(t){if(t!=null){try{return Je.call(t)}catch{}try{return t+""}catch{}}return""}function Yl(t,n){return Ut(Or,function(e){var r="_."+e[0];n&e[1]&&!ke(t,r)&&t.push(r)}),t.sort()}function ro(t){if(t instanceof G)return t.clone();var n=new Bt(t.__wrapped__,t.__chain__);return n.__actions__=St(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Xl(t,n,e){(e?mt(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(tr(r/n));u<r;)a[o++]=$t(t,u,u+=n);return a}function Ql(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 Vl(){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 Sn(U(e)?St(e):[e],gt(n,1))}var jl=K(function(t,n){return st(t)?xe(t,gt(n,1,st,!0)):[]}),th=K(function(t,n){var e=Kt(n);return st(e)&&(e=i),st(t)?xe(t,gt(n,1,st,!0),E(e,2)):[]}),nh=K(function(t,n){var e=Kt(n);return st(e)&&(e=i),st(t)?xe(t,gt(n,1,st,!0),i,e):[]});function eh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),$t(t,n<0?0:n,r)):[]}function rh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,0,n<0?0:n)):[]}function ih(t,n){return t&&t.length?cr(t,E(n,3),!0,!0):[]}function uh(t,n){return t&&t.length?cr(t,E(n,3),!0):[]}function sh(t,n,e,r){var u=t==null?0:t.length;return u?(e&&typeof e!="number"&&mt(t,n,e)&&(e=0,r=u),Vc(t,n,e,r)):[]}function io(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,E(n,3),u)}function uo(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):vt(u,r-1)),qe(t,E(n,3),u,!0)}function so(t){var n=t==null?0:t.length;return n?gt(t,1):[]}function oh(t){var n=t==null?0:t.length;return n?gt(t,on):[]}function ah(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:N(n),gt(t,n)):[]}function fh(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 oo(t){return t&&t.length?t[0]:i}function ch(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 lh(t){var n=t==null?0:t.length;return n?$t(t,0,-1):[]}var hh=K(function(t){var n=rt(t,Ci);return n.length&&n[0]===t[0]?gi(n):[]}),dh=K(function(t){var n=Kt(t),e=rt(t,Ci);return n===Kt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?gi(e,E(n,2)):[]}),ph=K(function(t){var n=Kt(t),e=rt(t,Ci);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?gi(e,i,n):[]});function gh(t,n){return t==null?"":lc.call(t,n)}function Kt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function _h(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):vt(u,r-1)),n===n?Yf(t,n,u):qe(t,Ku,u,!0)}function vh(t,n){return t&&t.length?ws(t,N(n)):i}var wh=K(ao);function ao(t,n){return t&&t.length&&n&&n.length?yi(t,n):t}function yh(t,n,e){return t&&t.length&&n&&n.length?yi(t,n,E(e,2)):t}function mh(t,n,e){return t&&t.length&&n&&n.length?yi(t,n,i,e):t}var xh=dn(function(t,n){var e=t==null?0:t.length,r=li(t,n);return xs(t,rt(n,function(u){return pn(u,e)?+u:u}).sort(Ls)),r});function Sh(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 xs(t,u),e}function Mi(t){return t==null?t:gc.call(t)}function Ah(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&mt(t,n,e)?(n=0,e=r):(n=n==null?0:N(n),e=e===i?r:N(e)),$t(t,n,e)):[]}function bh(t,n){return fr(t,n)}function Ch(t,n,e){return Si(t,n,E(e,2))}function Rh(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n);if(r<e&&Vt(t[r],n))return r}return-1}function Ih(t,n){return fr(t,n,!0)}function Ph(t,n,e){return Si(t,n,E(e,2),!0)}function Th(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n,!0)-1;if(Vt(t[r],n))return r}return-1}function Eh(t){return t&&t.length?As(t):[]}function Lh(t,n){return t&&t.length?As(t,E(n,2)):[]}function Oh(t){var n=t==null?0:t.length;return n?$t(t,1,n):[]}function Wh(t,n,e){return t&&t.length?(n=e||n===i?1:N(n),$t(t,0,n<0?0:n)):[]}function Dh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,n<0?0:n,r)):[]}function Fh(t,n){return t&&t.length?cr(t,E(n,3),!1,!0):[]}function Uh(t,n){return t&&t.length?cr(t,E(n,3)):[]}var Nh=K(function(t){return Rn(gt(t,1,st,!0))}),Bh=K(function(t){var n=Kt(t);return st(n)&&(n=i),Rn(gt(t,1,st,!0),E(n,2))}),Mh=K(function(t){var n=Kt(t);return n=typeof n=="function"?n:i,Rn(gt(t,1,st,!0),i,n)});function $h(t){return t&&t.length?Rn(t):[]}function Kh(t,n){return t&&t.length?Rn(t,E(n,2)):[]}function kh(t,n){return n=typeof n=="function"?n:i,t&&t.length?Rn(t,i,n):[]}function $i(t){if(!(t&&t.length))return[];var n=0;return t=xn(t,function(e){if(st(e))return n=ct(e.length,n),!0}),ri(n,function(e){return rt(t,ti(e))})}function fo(t,n){if(!(t&&t.length))return[];var e=$i(t);return n==null?e:rt(e,function(r){return It(n,i,r)})}var qh=K(function(t,n){return st(t)?xe(t,n):[]}),Hh=K(function(t){return bi(xn(t,st))}),zh=K(function(t){var n=Kt(t);return st(n)&&(n=i),bi(xn(t,st),E(n,2))}),Gh=K(function(t){var n=Kt(t);return n=typeof n=="function"?n:i,bi(xn(t,st),i,n)}),Jh=K($i);function Zh(t,n){return Is(t||[],n||[],me)}function Yh(t,n){return Is(t||[],n||[],be)}var Xh=K(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,fo(t,e)});function co(t){var n=s(t);return n.__chain__=!0,n}function Qh(t,n){return n(t),t}function yr(t,n){return n(t)}var Vh=dn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,u=function(o){return li(o,t)};return n>1||this.__actions__.length||!(r instanceof G)||!pn(e)?this.thru(u):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:yr,args:[u],thisArg:i}),new Bt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function jh(){return co(this)}function td(){return new Bt(this.value(),this.__chain__)}function nd(){this.__values__===i&&(this.__values__=Co(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function ed(){return this}function rd(t){for(var n,e=this;e instanceof ir;){var r=ro(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 id(){var t=this.__wrapped__;if(t instanceof G){var n=t;return this.__actions__.length&&(n=new G(this)),n=n.reverse(),n.__actions__.push({func:yr,args:[Mi],thisArg:i}),new Bt(n,this.__chain__)}return this.thru(Mi)}function ud(){return Rs(this.__wrapped__,this.__actions__)}var sd=lr(function(t,n,e){V.call(t,e)?++t[e]:ln(t,e,1)});function od(t,n,e){var r=U(t)?Mu:Qc;return e&&mt(t,n,e)&&(n=i),r(t,E(n,3))}function ad(t,n){var e=U(t)?xn:fs;return e(t,E(n,3))}var fd=Ns(io),cd=Ns(uo);function ld(t,n){return gt(mr(t,n),1)}function hd(t,n){return gt(mr(t,n),on)}function dd(t,n,e){return e=e===i?1:N(e),gt(mr(t,n),e)}function lo(t,n){var e=U(t)?Ut:Cn;return e(t,E(n,3))}function ho(t,n){var e=U(t)?Of:as;return e(t,E(n,3))}var pd=lr(function(t,n,e){V.call(t,e)?t[e].push(n):ln(t,e,[n])});function gd(t,n,e,r){t=At(t)?t:ie(t),e=e&&!r?N(e):0;var u=t.length;return e<0&&(e=ct(u+e,0)),Cr(t)?e<=u&&t.indexOf(n,e)>-1:!!u&&Gn(t,n,e)>-1}var _d=K(function(t,n,e){var r=-1,u=typeof n=="function",o=At(t)?g(t.length):[];return Cn(t,function(a){o[++r]=u?It(n,a,e):Se(a,n,e)}),o}),vd=lr(function(t,n,e){ln(t,e,n)});function mr(t,n){var e=U(t)?rt:gs;return e(t,E(n,3))}function wd(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),ys(t,n,e))}var yd=lr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function md(t,n,e){var r=U(t)?Vr:qu,u=arguments.length<3;return r(t,E(n,4),e,u,Cn)}function xd(t,n,e){var r=U(t)?Wf:qu,u=arguments.length<3;return r(t,E(n,4),e,u,as)}function Sd(t,n){var e=U(t)?xn:fs;return e(t,Ar(E(n,3)))}function Ad(t){var n=U(t)?is:gl;return n(t)}function bd(t,n,e){(e?mt(t,n,e):n===i)?n=1:n=N(n);var r=U(t)?Gc:_l;return r(t,n)}function Cd(t){var n=U(t)?Jc:wl;return n(t)}function Rd(t){if(t==null)return 0;if(At(t))return Cr(t)?Zn(t):t.length;var n=wt(t);return n==Zt||n==Yt?t.size:vi(t).length}function Id(t,n,e){var r=U(t)?jr:yl;return e&&mt(t,n,e)&&(n=i),r(t,E(n,3))}var Pd=K(function(t,n){if(t==null)return[];var e=n.length;return e>1&&mt(t,n[0],n[1])?n=[]:e>2&&mt(n[0],n[1],n[2])&&(n=[n[0]]),ys(t,gt(n,1),[])}),xr=ac||function(){return pt.Date.now()};function Td(t,n){if(typeof n!="function")throw new Nt(x);return t=N(t),function(){if(--t<1)return n.apply(this,arguments)}}function po(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,hn(t,Wt,i,i,i,i,n)}function go(t,n){var e;if(typeof n!="function")throw new Nt(x);return t=N(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var Ki=K(function(t,n,e){var r=q;if(e.length){var u=An(e,ee(Ki));r|=Ht}return hn(t,r,n,e,u)}),_o=K(function(t,n,e){var r=q|wn;if(e.length){var u=An(e,ee(_o));r|=Ht}return hn(n,r,t,e,u)});function vo(t,n,e){n=e?i:n;var r=hn(t,dt,i,i,i,i,i,n);return r.placeholder=vo.placeholder,r}function wo(t,n,e){n=e?i:n;var r=hn(t,_t,i,i,i,i,i,n);return r.placeholder=wo.placeholder,r}function yo(t,n,e){var r,u,o,a,c,d,y=0,m=!1,S=!1,A=!0;if(typeof t!="function")throw new Nt(x);n=kt(n)||0,it(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ct(kt(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function I(ot){var jt=r,vn=u;return r=u=i,y=ot,a=t.apply(vn,jt),a}function O(ot){return y=ot,c=Ie(H,n),m?I(ot):a}function B(ot){var jt=ot-d,vn=ot-y,Bo=n-jt;return S?vt(Bo,o-vn):Bo}function W(ot){var jt=ot-d,vn=ot-y;return d===i||jt>=n||jt<0||S&&vn>=o}function H(){var ot=xr();if(W(ot))return J(ot);c=Ie(H,B(ot))}function J(ot){return c=i,A&&r?I(ot):(r=u=i,a)}function Lt(){c!==i&&Ps(c),y=0,r=d=u=c=i}function xt(){return c===i?a:J(xr())}function Ot(){var ot=xr(),jt=W(ot);if(r=arguments,u=this,d=ot,jt){if(c===i)return O(d);if(S)return Ps(c),c=Ie(H,n),I(d)}return c===i&&(c=Ie(H,n)),a}return Ot.cancel=Lt,Ot.flush=xt,Ot}var Ed=K(function(t,n){return os(t,1,n)}),Ld=K(function(t,n,e){return os(t,kt(n)||0,e)});function Od(t){return hn(t,zt)}function Sr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new Nt(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(Sr.Cache||cn),e}Sr.Cache=cn;function Ar(t){if(typeof t!="function")throw new Nt(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 Wd(t){return go(2,t)}var Dd=ml(function(t,n){n=n.length==1&&U(n[0])?rt(n[0],Pt(E())):rt(gt(n,1),Pt(E()));var e=n.length;return K(function(r){for(var u=-1,o=vt(r.length,e);++u<o;)r[u]=n[u].call(this,r[u]);return It(t,this,r)})}),ki=K(function(t,n){var e=An(n,ee(ki));return hn(t,Ht,i,n,e)}),mo=K(function(t,n){var e=An(n,ee(mo));return hn(t,On,i,n,e)}),Fd=dn(function(t,n){return hn(t,tn,i,i,i,n)});function Ud(t,n){if(typeof t!="function")throw new Nt(x);return n=n===i?n:N(n),K(t,n)}function Nd(t,n){if(typeof t!="function")throw new Nt(x);return n=n==null?0:ct(N(n),0),K(function(e){var r=e[n],u=Pn(e,0,n);return r&&Sn(u,r),It(t,this,u)})}function Bd(t,n,e){var r=!0,u=!0;if(typeof t!="function")throw new Nt(x);return it(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),yo(t,n,{leading:r,maxWait:n,trailing:u})}function Md(t){return po(t,1)}function $d(t,n){return ki(Ri(n),t)}function Kd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function kd(t){return Mt(t,T)}function qd(t,n){return n=typeof n=="function"?n:i,Mt(t,T,n)}function Hd(t){return Mt(t,z|T)}function zd(t,n){return n=typeof n=="function"?n:i,Mt(t,z|T,n)}function Gd(t,n){return n==null||ss(t,n,ht(n))}function Vt(t,n){return t===n||t!==t&&n!==n}var Jd=gr(pi),Zd=gr(function(t,n){return t>=n}),kn=hs(function(){return arguments}())?hs:function(t){return ut(t)&&V.call(t,"callee")&&!Vu.call(t,"callee")},U=g.isArray,Yd=Wu?Pt(Wu):rl;function At(t){return t!=null&&br(t.length)&&!gn(t)}function st(t){return ut(t)&&At(t)}function Xd(t){return t===!0||t===!1||ut(t)&&yt(t)==Gt}var Tn=cc||ji,Qd=Du?Pt(Du):il;function Vd(t){return ut(t)&&t.nodeType===1&&!Pe(t)}function jd(t){if(t==null)return!0;if(At(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||Tn(t)||re(t)||kn(t)))return!t.length;var n=wt(t);if(n==Zt||n==Yt)return!t.size;if(Re(t))return!vi(t).length;for(var e in t)if(V.call(t,e))return!1;return!0}function tp(t,n){return Ae(t,n)}function np(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(!ut(t))return!1;var n=yt(t);return n==Ue||n==Jt||typeof t.message=="string"&&typeof t.name=="string"&&!Pe(t)}function ep(t){return typeof t=="number"&&ts(t)}function gn(t){if(!it(t))return!1;var n=yt(t);return n==Ne||n==ou||n==yn||n==Ca}function xo(t){return typeof t=="number"&&t==N(t)}function br(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=nn}function it(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function ut(t){return t!=null&&typeof t=="object"}var So=Fu?Pt(Fu):sl;function rp(t,n){return t===n||_i(t,n,Wi(n))}function ip(t,n,e){return e=typeof e=="function"?e:i,_i(t,n,Wi(n),e)}function up(t){return Ao(t)&&t!=+t}function sp(t){if(ql(t))throw new F(v);return ds(t)}function op(t){return t===null}function ap(t){return t==null}function Ao(t){return typeof t=="number"||ut(t)&&yt(t)==fe}function Pe(t){if(!ut(t)||yt(t)!=an)return!1;var n=Qe(t);if(n===null)return!0;var e=V.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Je.call(e)==ic}var Hi=Uu?Pt(Uu):ol;function fp(t){return xo(t)&&t>=-nn&&t<=nn}var bo=Nu?Pt(Nu):al;function Cr(t){return typeof t=="string"||!U(t)&&ut(t)&&yt(t)==le}function Et(t){return typeof t=="symbol"||ut(t)&&yt(t)==Be}var re=Bu?Pt(Bu):fl;function cp(t){return t===i}function lp(t){return ut(t)&&wt(t)==he}function hp(t){return ut(t)&&yt(t)==Ia}var dp=gr(wi),pp=gr(function(t,n){return t<=n});function Co(t){if(!t)return[];if(At(t))return Cr(t)?Xt(t):St(t);if(ge&&t[ge])return Gf(t[ge]());var n=wt(t),e=n==Zt?ui:n==Yt?He:ie;return e(t)}function _n(t){if(!t)return t===0?t:0;if(t=kt(t),t===on||t===-on){var n=t<0?-1:1;return n*Er}return t===t?t:0}function N(t){var n=_n(t),e=n%1;return n===n?e?n-e:n:0}function Ro(t){return t?Bn(N(t),0,Dt):0}function kt(t){if(typeof t=="number")return t;if(Et(t))return qn;if(it(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=it(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Hu(t);var e=Za.test(t);return e||Xa.test(t)?Tf(t.slice(2),e?2:8):Ja.test(t)?qn:+t}function Io(t){return rn(t,bt(t))}function gp(t){return t?Bn(N(t),-nn,nn):t===0?t:0}function X(t){return t==null?"":Tt(t)}var _p=te(function(t,n){if(Re(n)||At(n)){rn(n,ht(n),t);return}for(var e in n)V.call(n,e)&&me(t,e,n[e])}),Po=te(function(t,n){rn(n,bt(n),t)}),Rr=te(function(t,n,e,r){rn(n,bt(n),t,r)}),vp=te(function(t,n,e,r){rn(n,ht(n),t,r)}),wp=dn(li);function yp(t,n){var e=jn(t);return n==null?e:us(e,n)}var mp=K(function(t,n){t=j(t);var e=-1,r=n.length,u=r>2?n[2]:i;for(u&&mt(n[0],n[1],u)&&(r=1);++e<r;)for(var o=n[e],a=bt(o),c=-1,d=a.length;++c<d;){var y=a[c],m=t[y];(m===i||Vt(m,Xn[y])&&!V.call(t,y))&&(t[y]=o[y])}return t}),xp=K(function(t){return t.push(i,Hs),It(To,i,t)});function Sp(t,n){return $u(t,E(n,3),en)}function Ap(t,n){return $u(t,E(n,3),di)}function bp(t,n){return t==null?t:hi(t,E(n,3),bt)}function Cp(t,n){return t==null?t:cs(t,E(n,3),bt)}function Rp(t,n){return t&&en(t,E(n,3))}function Ip(t,n){return t&&di(t,E(n,3))}function Pp(t){return t==null?[]:or(t,ht(t))}function Tp(t){return t==null?[]:or(t,bt(t))}function zi(t,n,e){var r=t==null?i:Mn(t,n);return r===i?e:r}function Ep(t,n){return t!=null&&Js(t,n,jc)}function Gi(t,n){return t!=null&&Js(t,n,tl)}var Lp=Ms(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),t[n]=e},Zi(Ct)),Op=Ms(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),V.call(t,n)?t[n].push(e):t[n]=[e]},E),Wp=K(Se);function ht(t){return At(t)?rs(t):vi(t)}function bt(t){return At(t)?rs(t,!0):cl(t)}function Dp(t,n){var e={};return n=E(n,3),en(t,function(r,u,o){ln(e,n(r,u,o),r)}),e}function Fp(t,n){var e={};return n=E(n,3),en(t,function(r,u,o){ln(e,u,n(r,u,o))}),e}var Up=te(function(t,n,e){ar(t,n,e)}),To=te(function(t,n,e,r){ar(t,n,e,r)}),Np=dn(function(t,n){var e={};if(t==null)return e;var r=!1;n=rt(n,function(o){return o=In(o,t),r||(r=o.length>1),o}),rn(t,Li(t),e),r&&(e=Mt(e,z|D|T,Ll));for(var u=n.length;u--;)Ai(e,n[u]);return e});function Bp(t,n){return Eo(t,Ar(E(n)))}var Mp=dn(function(t,n){return t==null?{}:hl(t,n)});function Eo(t,n){if(t==null)return{};var e=rt(Li(t),function(r){return[r]});return n=E(n),ms(t,e,function(r,u){return n(r,u[0])})}function $p(t,n,e){n=In(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=gn(o)?o.call(t):o}return t}function Kp(t,n,e){return t==null?t:be(t,n,e)}function kp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:be(t,n,e,r)}var Lo=ks(ht),Oo=ks(bt);function qp(t,n,e){var r=U(t),u=r||Tn(t)||re(t);if(n=E(n,4),e==null){var o=t&&t.constructor;u?e=r?new o:[]:it(t)?e=gn(o)?jn(Qe(t)):{}:e={}}return(u?Ut:en)(t,function(a,c,d){return n(e,a,c,d)}),e}function Hp(t,n){return t==null?!0:Ai(t,n)}function zp(t,n,e){return t==null?t:Cs(t,n,Ri(e))}function Gp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Cs(t,n,Ri(e),r)}function ie(t){return t==null?[]:ii(t,ht(t))}function Jp(t){return t==null?[]:ii(t,bt(t))}function Zp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=kt(e),e=e===e?e:0),n!==i&&(n=kt(n),n=n===n?n:0),Bn(kt(t),n,e)}function Yp(t,n,e){return n=_n(n),e===i?(e=n,n=0):e=_n(e),t=kt(t),nl(t,n,e)}function Xp(t,n,e){if(e&&typeof e!="boolean"&&mt(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=_n(t),n===i?(n=t,t=0):n=_n(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var u=ns();return vt(t+u*(n-t+Pf("1e-"+((u+"").length-1))),n)}return mi(t,n)}var Qp=ne(function(t,n,e){return n=n.toLowerCase(),t+(e?Wo(n):n)});function Wo(t){return Ji(X(t).toLowerCase())}function Do(t){return t=X(t),t&&t.replace(Va,Kf).replace(wf,"")}function Vp(t,n,e){t=X(t),n=Tt(n);var r=t.length;e=e===i?r:Bn(N(e),0,r);var u=e;return e-=n.length,e>=0&&t.slice(e,u)==n}function jp(t){return t=X(t),t&&Oa.test(t)?t.replace(cu,kf):t}function tg(t){return t=X(t),t&&Ba.test(t)?t.replace(kr,"\\$&"):t}var ng=ne(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),eg=ne(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),rg=Us("toLowerCase");function ig(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 pr(nr(u),e)+t+pr(tr(u),e)}function ug(t,n,e){t=X(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?t+pr(n-r,e):t}function sg(t,n,e){t=X(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?pr(n-r,e)+t:t}function og(t,n,e){return e||n==null?n=0:n&&(n=+n),pc(X(t).replace(qr,""),n||0)}function ag(t,n,e){return(e?mt(t,n,e):n===i)?n=1:n=N(n),xi(X(t),n)}function fg(){var t=arguments,n=X(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var cg=ne(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function lg(t,n,e){return e&&typeof e!="number"&&mt(t,n,e)&&(n=e=i),e=e===i?Dt:e>>>0,e?(t=X(t),t&&(typeof n=="string"||n!=null&&!Hi(n))&&(n=Tt(n),!n&&Jn(t))?Pn(Xt(t),0,e):t.split(n,e)):[]}var hg=ne(function(t,n,e){return t+(e?" ":"")+Ji(n)});function dg(t,n,e){return t=X(t),e=e==null?0:Bn(N(e),0,t.length),n=Tt(n),t.slice(e,e+n.length)==n}function pg(t,n,e){var r=s.templateSettings;e&&mt(t,n,e)&&(n=i),t=X(t),n=Rr({},n,r,qs);var u=Rr({},n.imports,r.imports,qs),o=ht(u),a=ii(u,o),c,d,y=0,m=n.interpolate||Me,S="__p += '",A=si((n.escape||Me).source+"|"+m.source+"|"+(m===lu?Ga:Me).source+"|"+(n.evaluate||Me).source+"|$","g"),I="//# sourceURL="+(V.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Af+"]")+`
10
+ `)}function $l(t){return U(t)||kn(t)||!!(ju&&t&&t[ju])}function pn(t,n){var e=typeof t;return n=n??nn,!!n&&(e=="number"||e!="symbol"&&Qa.test(t))&&t>-1&&t%1==0&&t<n}function mt(t,n,e){if(!it(e))return!1;var r=typeof n;return(r=="number"?At(e)&&pn(n,e.length):r=="string"&&n in e)?Vt(e[n],t):!1}function Fi(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Et(t)?!0:Ua.test(t)||!Fa.test(t)||n!=null&&t in j(n)}function Kl(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Ui(t){var n=_r(t),e=s[n];if(typeof e!="function"||!(n in G.prototype))return!1;if(t===e)return!0;var r=Oi(e);return!!r&&t===r[0]}function kl(t){return!!Yu&&Yu in t}var ql=Ge?gn:ji;function Ie(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Xn;return t===e}function Ys(t){return t===t&&!it(t)}function Xs(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function Hl(t){var n=Sr(t,function(r){return e.size===M&&e.clear(),r}),e=n.cache;return n}function zl(t,n){var e=t[1],r=n[1],u=e|r,o=u<(q|wn|Wt),a=r==Wt&&e==dt||r==Wt&&e==tn&&t[7].length<=n[8]||r==(Wt|tn)&&n[7].length<=n[8]&&e==dt;if(!(o||a))return t;r&q&&(t[2]=n[2],u|=e&q?0:sn);var c=n[3];if(c){var d=t[3];t[3]=d?Os(d,c,n[4]):c,t[4]=d?An(t[3],I):n[4]}return c=n[5],c&&(d=t[5],t[5]=d?Ws(d,c,n[6]):c,t[6]=d?An(t[5],I):n[6]),c=n[7],c&&(t[7]=c),r&Wt&&(t[8]=t[8]==null?n[8]:vt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=u,t}function Gl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function Jl(t){return Ze.call(t)}function Qs(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),Pt(t,this,c)}}function Vs(t,n){return n.length<2?t:Mn(t,$t(n,0,-1))}function Zl(t,n){for(var e=t.length,r=vt(n.length,e),u=St(t);r--;){var o=n[r];t[r]=pn(o,e)?u[o]:i}return t}function Ni(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var js=no(Ss),Pe=fc||function(t,n){return pt.setTimeout(t,n)},Bi=no(vl);function to(t,n,e){var r=n+"";return Bi(t,Ml(r,Yl(Ul(r),e)))}function no(t){var n=0,e=0;return function(){var r=dc(),u=We-(r-e);if(e=r,u>0){if(++n>=It)return arguments[0]}else n=0;return t.apply(i,arguments)}}function wr(t,n){var e=-1,r=t.length,u=r-1;for(n=n===i?r:n;++e<n;){var o=mi(e,u),a=t[o];t[o]=t[e],t[e]=a}return t.length=n,t}var eo=Hl(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Na,function(e,r,u,o){n.push(u?o.replace(za,"$1"):r||e)}),n});function un(t){if(typeof t=="string"||Et(t))return t;var n=t+"";return n=="0"&&1/t==-on?"-0":n}function Kn(t){if(t!=null){try{return Je.call(t)}catch{}try{return t+""}catch{}}return""}function Yl(t,n){return Ut(Or,function(e){var r="_."+e[0];n&e[1]&&!ke(t,r)&&t.push(r)}),t.sort()}function ro(t){if(t instanceof G)return t.clone();var n=new Bt(t.__wrapped__,t.__chain__);return n.__actions__=St(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Xl(t,n,e){(e?mt(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(tr(r/n));u<r;)a[o++]=$t(t,u,u+=n);return a}function Ql(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 Vl(){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 Sn(U(e)?St(e):[e],gt(n,1))}var jl=K(function(t,n){return st(t)?xe(t,gt(n,1,st,!0)):[]}),th=K(function(t,n){var e=Kt(n);return st(e)&&(e=i),st(t)?xe(t,gt(n,1,st,!0),E(e,2)):[]}),nh=K(function(t,n){var e=Kt(n);return st(e)&&(e=i),st(t)?xe(t,gt(n,1,st,!0),i,e):[]});function eh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),$t(t,n<0?0:n,r)):[]}function rh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,0,n<0?0:n)):[]}function ih(t,n){return t&&t.length?cr(t,E(n,3),!0,!0):[]}function uh(t,n){return t&&t.length?cr(t,E(n,3),!0):[]}function sh(t,n,e,r){var u=t==null?0:t.length;return u?(e&&typeof e!="number"&&mt(t,n,e)&&(e=0,r=u),Vc(t,n,e,r)):[]}function io(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,E(n,3),u)}function uo(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):vt(u,r-1)),qe(t,E(n,3),u,!0)}function so(t){var n=t==null?0:t.length;return n?gt(t,1):[]}function oh(t){var n=t==null?0:t.length;return n?gt(t,on):[]}function ah(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:N(n),gt(t,n)):[]}function fh(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 oo(t){return t&&t.length?t[0]:i}function ch(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 lh(t){var n=t==null?0:t.length;return n?$t(t,0,-1):[]}var hh=K(function(t){var n=rt(t,Ci);return n.length&&n[0]===t[0]?gi(n):[]}),dh=K(function(t){var n=Kt(t),e=rt(t,Ci);return n===Kt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?gi(e,E(n,2)):[]}),ph=K(function(t){var n=Kt(t),e=rt(t,Ci);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?gi(e,i,n):[]});function gh(t,n){return t==null?"":lc.call(t,n)}function Kt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function _h(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):vt(u,r-1)),n===n?Yf(t,n,u):qe(t,Ku,u,!0)}function vh(t,n){return t&&t.length?ws(t,N(n)):i}var wh=K(ao);function ao(t,n){return t&&t.length&&n&&n.length?yi(t,n):t}function yh(t,n,e){return t&&t.length&&n&&n.length?yi(t,n,E(e,2)):t}function mh(t,n,e){return t&&t.length&&n&&n.length?yi(t,n,i,e):t}var xh=dn(function(t,n){var e=t==null?0:t.length,r=li(t,n);return xs(t,rt(n,function(u){return pn(u,e)?+u:u}).sort(Ls)),r});function Sh(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 xs(t,u),e}function Mi(t){return t==null?t:gc.call(t)}function Ah(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&mt(t,n,e)?(n=0,e=r):(n=n==null?0:N(n),e=e===i?r:N(e)),$t(t,n,e)):[]}function bh(t,n){return fr(t,n)}function Ch(t,n,e){return Si(t,n,E(e,2))}function Ih(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n);if(r<e&&Vt(t[r],n))return r}return-1}function Ph(t,n){return fr(t,n,!0)}function Rh(t,n,e){return Si(t,n,E(e,2),!0)}function Th(t,n){var e=t==null?0:t.length;if(e){var r=fr(t,n,!0)-1;if(Vt(t[r],n))return r}return-1}function Eh(t){return t&&t.length?As(t):[]}function Lh(t,n){return t&&t.length?As(t,E(n,2)):[]}function Oh(t){var n=t==null?0:t.length;return n?$t(t,1,n):[]}function Wh(t,n,e){return t&&t.length?(n=e||n===i?1:N(n),$t(t,0,n<0?0:n)):[]}function Dh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:N(n),n=r-n,$t(t,n<0?0:n,r)):[]}function Fh(t,n){return t&&t.length?cr(t,E(n,3),!1,!0):[]}function Uh(t,n){return t&&t.length?cr(t,E(n,3)):[]}var Nh=K(function(t){return In(gt(t,1,st,!0))}),Bh=K(function(t){var n=Kt(t);return st(n)&&(n=i),In(gt(t,1,st,!0),E(n,2))}),Mh=K(function(t){var n=Kt(t);return n=typeof n=="function"?n:i,In(gt(t,1,st,!0),i,n)});function $h(t){return t&&t.length?In(t):[]}function Kh(t,n){return t&&t.length?In(t,E(n,2)):[]}function kh(t,n){return n=typeof n=="function"?n:i,t&&t.length?In(t,i,n):[]}function $i(t){if(!(t&&t.length))return[];var n=0;return t=xn(t,function(e){if(st(e))return n=ct(e.length,n),!0}),ri(n,function(e){return rt(t,ti(e))})}function fo(t,n){if(!(t&&t.length))return[];var e=$i(t);return n==null?e:rt(e,function(r){return Pt(n,i,r)})}var qh=K(function(t,n){return st(t)?xe(t,n):[]}),Hh=K(function(t){return bi(xn(t,st))}),zh=K(function(t){var n=Kt(t);return st(n)&&(n=i),bi(xn(t,st),E(n,2))}),Gh=K(function(t){var n=Kt(t);return n=typeof n=="function"?n:i,bi(xn(t,st),i,n)}),Jh=K($i);function Zh(t,n){return Ps(t||[],n||[],me)}function Yh(t,n){return Ps(t||[],n||[],be)}var Xh=K(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,fo(t,e)});function co(t){var n=s(t);return n.__chain__=!0,n}function Qh(t,n){return n(t),t}function yr(t,n){return n(t)}var Vh=dn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,u=function(o){return li(o,t)};return n>1||this.__actions__.length||!(r instanceof G)||!pn(e)?this.thru(u):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:yr,args:[u],thisArg:i}),new Bt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function jh(){return co(this)}function td(){return new Bt(this.value(),this.__chain__)}function nd(){this.__values__===i&&(this.__values__=Co(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function ed(){return this}function rd(t){for(var n,e=this;e instanceof ir;){var r=ro(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 id(){var t=this.__wrapped__;if(t instanceof G){var n=t;return this.__actions__.length&&(n=new G(this)),n=n.reverse(),n.__actions__.push({func:yr,args:[Mi],thisArg:i}),new Bt(n,this.__chain__)}return this.thru(Mi)}function ud(){return Is(this.__wrapped__,this.__actions__)}var sd=lr(function(t,n,e){V.call(t,e)?++t[e]:ln(t,e,1)});function od(t,n,e){var r=U(t)?Mu:Qc;return e&&mt(t,n,e)&&(n=i),r(t,E(n,3))}function ad(t,n){var e=U(t)?xn:fs;return e(t,E(n,3))}var fd=Ns(io),cd=Ns(uo);function ld(t,n){return gt(mr(t,n),1)}function hd(t,n){return gt(mr(t,n),on)}function dd(t,n,e){return e=e===i?1:N(e),gt(mr(t,n),e)}function lo(t,n){var e=U(t)?Ut:Cn;return e(t,E(n,3))}function ho(t,n){var e=U(t)?Of:as;return e(t,E(n,3))}var pd=lr(function(t,n,e){V.call(t,e)?t[e].push(n):ln(t,e,[n])});function gd(t,n,e,r){t=At(t)?t:ie(t),e=e&&!r?N(e):0;var u=t.length;return e<0&&(e=ct(u+e,0)),Cr(t)?e<=u&&t.indexOf(n,e)>-1:!!u&&Gn(t,n,e)>-1}var _d=K(function(t,n,e){var r=-1,u=typeof n=="function",o=At(t)?g(t.length):[];return Cn(t,function(a){o[++r]=u?Pt(n,a,e):Se(a,n,e)}),o}),vd=lr(function(t,n,e){ln(t,e,n)});function mr(t,n){var e=U(t)?rt:gs;return e(t,E(n,3))}function wd(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),ys(t,n,e))}var yd=lr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function md(t,n,e){var r=U(t)?Vr:qu,u=arguments.length<3;return r(t,E(n,4),e,u,Cn)}function xd(t,n,e){var r=U(t)?Wf:qu,u=arguments.length<3;return r(t,E(n,4),e,u,as)}function Sd(t,n){var e=U(t)?xn:fs;return e(t,Ar(E(n,3)))}function Ad(t){var n=U(t)?is:gl;return n(t)}function bd(t,n,e){(e?mt(t,n,e):n===i)?n=1:n=N(n);var r=U(t)?Gc:_l;return r(t,n)}function Cd(t){var n=U(t)?Jc:wl;return n(t)}function Id(t){if(t==null)return 0;if(At(t))return Cr(t)?Zn(t):t.length;var n=wt(t);return n==Zt||n==Yt?t.size:vi(t).length}function Pd(t,n,e){var r=U(t)?jr:yl;return e&&mt(t,n,e)&&(n=i),r(t,E(n,3))}var Rd=K(function(t,n){if(t==null)return[];var e=n.length;return e>1&&mt(t,n[0],n[1])?n=[]:e>2&&mt(n[0],n[1],n[2])&&(n=[n[0]]),ys(t,gt(n,1),[])}),xr=ac||function(){return pt.Date.now()};function Td(t,n){if(typeof n!="function")throw new Nt(x);return t=N(t),function(){if(--t<1)return n.apply(this,arguments)}}function po(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,hn(t,Wt,i,i,i,i,n)}function go(t,n){var e;if(typeof n!="function")throw new Nt(x);return t=N(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var Ki=K(function(t,n,e){var r=q;if(e.length){var u=An(e,ee(Ki));r|=Ht}return hn(t,r,n,e,u)}),_o=K(function(t,n,e){var r=q|wn;if(e.length){var u=An(e,ee(_o));r|=Ht}return hn(n,r,t,e,u)});function vo(t,n,e){n=e?i:n;var r=hn(t,dt,i,i,i,i,i,n);return r.placeholder=vo.placeholder,r}function wo(t,n,e){n=e?i:n;var r=hn(t,_t,i,i,i,i,i,n);return r.placeholder=wo.placeholder,r}function yo(t,n,e){var r,u,o,a,c,d,y=0,m=!1,S=!1,A=!0;if(typeof t!="function")throw new Nt(x);n=kt(n)||0,it(e)&&(m=!!e.leading,S="maxWait"in e,o=S?ct(kt(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function P(ot){var jt=r,vn=u;return r=u=i,y=ot,a=t.apply(vn,jt),a}function O(ot){return y=ot,c=Pe(H,n),m?P(ot):a}function B(ot){var jt=ot-d,vn=ot-y,Bo=n-jt;return S?vt(Bo,o-vn):Bo}function W(ot){var jt=ot-d,vn=ot-y;return d===i||jt>=n||jt<0||S&&vn>=o}function H(){var ot=xr();if(W(ot))return J(ot);c=Pe(H,B(ot))}function J(ot){return c=i,A&&r?P(ot):(r=u=i,a)}function Lt(){c!==i&&Rs(c),y=0,r=d=u=c=i}function xt(){return c===i?a:J(xr())}function Ot(){var ot=xr(),jt=W(ot);if(r=arguments,u=this,d=ot,jt){if(c===i)return O(d);if(S)return Rs(c),c=Pe(H,n),P(d)}return c===i&&(c=Pe(H,n)),a}return Ot.cancel=Lt,Ot.flush=xt,Ot}var Ed=K(function(t,n){return os(t,1,n)}),Ld=K(function(t,n,e){return os(t,kt(n)||0,e)});function Od(t){return hn(t,zt)}function Sr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new Nt(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(Sr.Cache||cn),e}Sr.Cache=cn;function Ar(t){if(typeof t!="function")throw new Nt(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 Wd(t){return go(2,t)}var Dd=ml(function(t,n){n=n.length==1&&U(n[0])?rt(n[0],Rt(E())):rt(gt(n,1),Rt(E()));var e=n.length;return K(function(r){for(var u=-1,o=vt(r.length,e);++u<o;)r[u]=n[u].call(this,r[u]);return Pt(t,this,r)})}),ki=K(function(t,n){var e=An(n,ee(ki));return hn(t,Ht,i,n,e)}),mo=K(function(t,n){var e=An(n,ee(mo));return hn(t,On,i,n,e)}),Fd=dn(function(t,n){return hn(t,tn,i,i,i,n)});function Ud(t,n){if(typeof t!="function")throw new Nt(x);return n=n===i?n:N(n),K(t,n)}function Nd(t,n){if(typeof t!="function")throw new Nt(x);return n=n==null?0:ct(N(n),0),K(function(e){var r=e[n],u=Rn(e,0,n);return r&&Sn(u,r),Pt(t,this,u)})}function Bd(t,n,e){var r=!0,u=!0;if(typeof t!="function")throw new Nt(x);return it(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),yo(t,n,{leading:r,maxWait:n,trailing:u})}function Md(t){return po(t,1)}function $d(t,n){return ki(Ii(n),t)}function Kd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function kd(t){return Mt(t,T)}function qd(t,n){return n=typeof n=="function"?n:i,Mt(t,T,n)}function Hd(t){return Mt(t,z|T)}function zd(t,n){return n=typeof n=="function"?n:i,Mt(t,z|T,n)}function Gd(t,n){return n==null||ss(t,n,ht(n))}function Vt(t,n){return t===n||t!==t&&n!==n}var Jd=gr(pi),Zd=gr(function(t,n){return t>=n}),kn=hs(function(){return arguments}())?hs:function(t){return ut(t)&&V.call(t,"callee")&&!Vu.call(t,"callee")},U=g.isArray,Yd=Wu?Rt(Wu):rl;function At(t){return t!=null&&br(t.length)&&!gn(t)}function st(t){return ut(t)&&At(t)}function Xd(t){return t===!0||t===!1||ut(t)&&yt(t)==Gt}var Tn=cc||ji,Qd=Du?Rt(Du):il;function Vd(t){return ut(t)&&t.nodeType===1&&!Re(t)}function jd(t){if(t==null)return!0;if(At(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||Tn(t)||re(t)||kn(t)))return!t.length;var n=wt(t);if(n==Zt||n==Yt)return!t.size;if(Ie(t))return!vi(t).length;for(var e in t)if(V.call(t,e))return!1;return!0}function tp(t,n){return Ae(t,n)}function np(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(!ut(t))return!1;var n=yt(t);return n==Ue||n==Jt||typeof t.message=="string"&&typeof t.name=="string"&&!Re(t)}function ep(t){return typeof t=="number"&&ts(t)}function gn(t){if(!it(t))return!1;var n=yt(t);return n==Ne||n==ou||n==yn||n==Ca}function xo(t){return typeof t=="number"&&t==N(t)}function br(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=nn}function it(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function ut(t){return t!=null&&typeof t=="object"}var So=Fu?Rt(Fu):sl;function rp(t,n){return t===n||_i(t,n,Wi(n))}function ip(t,n,e){return e=typeof e=="function"?e:i,_i(t,n,Wi(n),e)}function up(t){return Ao(t)&&t!=+t}function sp(t){if(ql(t))throw new F(v);return ds(t)}function op(t){return t===null}function ap(t){return t==null}function Ao(t){return typeof t=="number"||ut(t)&&yt(t)==fe}function Re(t){if(!ut(t)||yt(t)!=an)return!1;var n=Qe(t);if(n===null)return!0;var e=V.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Je.call(e)==ic}var Hi=Uu?Rt(Uu):ol;function fp(t){return xo(t)&&t>=-nn&&t<=nn}var bo=Nu?Rt(Nu):al;function Cr(t){return typeof t=="string"||!U(t)&&ut(t)&&yt(t)==le}function Et(t){return typeof t=="symbol"||ut(t)&&yt(t)==Be}var re=Bu?Rt(Bu):fl;function cp(t){return t===i}function lp(t){return ut(t)&&wt(t)==he}function hp(t){return ut(t)&&yt(t)==Pa}var dp=gr(wi),pp=gr(function(t,n){return t<=n});function Co(t){if(!t)return[];if(At(t))return Cr(t)?Xt(t):St(t);if(ge&&t[ge])return Gf(t[ge]());var n=wt(t),e=n==Zt?ui:n==Yt?He:ie;return e(t)}function _n(t){if(!t)return t===0?t:0;if(t=kt(t),t===on||t===-on){var n=t<0?-1:1;return n*Er}return t===t?t:0}function N(t){var n=_n(t),e=n%1;return n===n?e?n-e:n:0}function Io(t){return t?Bn(N(t),0,Dt):0}function kt(t){if(typeof t=="number")return t;if(Et(t))return qn;if(it(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=it(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Hu(t);var e=Za.test(t);return e||Xa.test(t)?Tf(t.slice(2),e?2:8):Ja.test(t)?qn:+t}function Po(t){return rn(t,bt(t))}function gp(t){return t?Bn(N(t),-nn,nn):t===0?t:0}function X(t){return t==null?"":Tt(t)}var _p=te(function(t,n){if(Ie(n)||At(n)){rn(n,ht(n),t);return}for(var e in n)V.call(n,e)&&me(t,e,n[e])}),Ro=te(function(t,n){rn(n,bt(n),t)}),Ir=te(function(t,n,e,r){rn(n,bt(n),t,r)}),vp=te(function(t,n,e,r){rn(n,ht(n),t,r)}),wp=dn(li);function yp(t,n){var e=jn(t);return n==null?e:us(e,n)}var mp=K(function(t,n){t=j(t);var e=-1,r=n.length,u=r>2?n[2]:i;for(u&&mt(n[0],n[1],u)&&(r=1);++e<r;)for(var o=n[e],a=bt(o),c=-1,d=a.length;++c<d;){var y=a[c],m=t[y];(m===i||Vt(m,Xn[y])&&!V.call(t,y))&&(t[y]=o[y])}return t}),xp=K(function(t){return t.push(i,Hs),Pt(To,i,t)});function Sp(t,n){return $u(t,E(n,3),en)}function Ap(t,n){return $u(t,E(n,3),di)}function bp(t,n){return t==null?t:hi(t,E(n,3),bt)}function Cp(t,n){return t==null?t:cs(t,E(n,3),bt)}function Ip(t,n){return t&&en(t,E(n,3))}function Pp(t,n){return t&&di(t,E(n,3))}function Rp(t){return t==null?[]:or(t,ht(t))}function Tp(t){return t==null?[]:or(t,bt(t))}function zi(t,n,e){var r=t==null?i:Mn(t,n);return r===i?e:r}function Ep(t,n){return t!=null&&Js(t,n,jc)}function Gi(t,n){return t!=null&&Js(t,n,tl)}var Lp=Ms(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),t[n]=e},Zi(Ct)),Op=Ms(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Ze.call(n)),V.call(t,n)?t[n].push(e):t[n]=[e]},E),Wp=K(Se);function ht(t){return At(t)?rs(t):vi(t)}function bt(t){return At(t)?rs(t,!0):cl(t)}function Dp(t,n){var e={};return n=E(n,3),en(t,function(r,u,o){ln(e,n(r,u,o),r)}),e}function Fp(t,n){var e={};return n=E(n,3),en(t,function(r,u,o){ln(e,u,n(r,u,o))}),e}var Up=te(function(t,n,e){ar(t,n,e)}),To=te(function(t,n,e,r){ar(t,n,e,r)}),Np=dn(function(t,n){var e={};if(t==null)return e;var r=!1;n=rt(n,function(o){return o=Pn(o,t),r||(r=o.length>1),o}),rn(t,Li(t),e),r&&(e=Mt(e,z|D|T,Ll));for(var u=n.length;u--;)Ai(e,n[u]);return e});function Bp(t,n){return Eo(t,Ar(E(n)))}var Mp=dn(function(t,n){return t==null?{}:hl(t,n)});function Eo(t,n){if(t==null)return{};var e=rt(Li(t),function(r){return[r]});return n=E(n),ms(t,e,function(r,u){return n(r,u[0])})}function $p(t,n,e){n=Pn(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=gn(o)?o.call(t):o}return t}function Kp(t,n,e){return t==null?t:be(t,n,e)}function kp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:be(t,n,e,r)}var Lo=ks(ht),Oo=ks(bt);function qp(t,n,e){var r=U(t),u=r||Tn(t)||re(t);if(n=E(n,4),e==null){var o=t&&t.constructor;u?e=r?new o:[]:it(t)?e=gn(o)?jn(Qe(t)):{}:e={}}return(u?Ut:en)(t,function(a,c,d){return n(e,a,c,d)}),e}function Hp(t,n){return t==null?!0:Ai(t,n)}function zp(t,n,e){return t==null?t:Cs(t,n,Ii(e))}function Gp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Cs(t,n,Ii(e),r)}function ie(t){return t==null?[]:ii(t,ht(t))}function Jp(t){return t==null?[]:ii(t,bt(t))}function Zp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=kt(e),e=e===e?e:0),n!==i&&(n=kt(n),n=n===n?n:0),Bn(kt(t),n,e)}function Yp(t,n,e){return n=_n(n),e===i?(e=n,n=0):e=_n(e),t=kt(t),nl(t,n,e)}function Xp(t,n,e){if(e&&typeof e!="boolean"&&mt(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=_n(t),n===i?(n=t,t=0):n=_n(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var u=ns();return vt(t+u*(n-t+Rf("1e-"+((u+"").length-1))),n)}return mi(t,n)}var Qp=ne(function(t,n,e){return n=n.toLowerCase(),t+(e?Wo(n):n)});function Wo(t){return Ji(X(t).toLowerCase())}function Do(t){return t=X(t),t&&t.replace(Va,Kf).replace(wf,"")}function Vp(t,n,e){t=X(t),n=Tt(n);var r=t.length;e=e===i?r:Bn(N(e),0,r);var u=e;return e-=n.length,e>=0&&t.slice(e,u)==n}function jp(t){return t=X(t),t&&Oa.test(t)?t.replace(cu,kf):t}function tg(t){return t=X(t),t&&Ba.test(t)?t.replace(kr,"\\$&"):t}var ng=ne(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),eg=ne(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),rg=Us("toLowerCase");function ig(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 pr(nr(u),e)+t+pr(tr(u),e)}function ug(t,n,e){t=X(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?t+pr(n-r,e):t}function sg(t,n,e){t=X(t),n=N(n);var r=n?Zn(t):0;return n&&r<n?pr(n-r,e)+t:t}function og(t,n,e){return e||n==null?n=0:n&&(n=+n),pc(X(t).replace(qr,""),n||0)}function ag(t,n,e){return(e?mt(t,n,e):n===i)?n=1:n=N(n),xi(X(t),n)}function fg(){var t=arguments,n=X(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var cg=ne(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function lg(t,n,e){return e&&typeof e!="number"&&mt(t,n,e)&&(n=e=i),e=e===i?Dt:e>>>0,e?(t=X(t),t&&(typeof n=="string"||n!=null&&!Hi(n))&&(n=Tt(n),!n&&Jn(t))?Rn(Xt(t),0,e):t.split(n,e)):[]}var hg=ne(function(t,n,e){return t+(e?" ":"")+Ji(n)});function dg(t,n,e){return t=X(t),e=e==null?0:Bn(N(e),0,t.length),n=Tt(n),t.slice(e,e+n.length)==n}function pg(t,n,e){var r=s.templateSettings;e&&mt(t,n,e)&&(n=i),t=X(t),n=Ir({},n,r,qs);var u=Ir({},n.imports,r.imports,qs),o=ht(u),a=ii(u,o),c,d,y=0,m=n.interpolate||Me,S="__p += '",A=si((n.escape||Me).source+"|"+m.source+"|"+(m===lu?Ga:Me).source+"|"+(n.evaluate||Me).source+"|$","g"),P="//# sourceURL="+(V.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Af+"]")+`
11
11
  `;t.replace(A,function(W,H,J,Lt,xt,Ot){return J||(J=Lt),S+=t.slice(y,Ot).replace(ja,qf),H&&(c=!0,S+=`' +
12
12
  __e(`+H+`) +
13
13
  '`),xt&&(d=!0,S+=`';
@@ -18,11 +18,11 @@ __p += '`),J&&(S+=`' +
18
18
  `;var O=V.call(n,"variable")&&n.variable;if(!O)S=`with (obj) {
19
19
  `+S+`
20
20
  }
21
- `;else if(Ha.test(O))throw new F(P);S=(d?S.replace(Pa,""):S).replace(Ta,"$1").replace(Ea,"$1;"),S="function("+(O||"obj")+`) {
21
+ `;else if(Ha.test(O))throw new F(R);S=(d?S.replace(Ra,""):S).replace(Ta,"$1").replace(Ea,"$1;"),S="function("+(O||"obj")+`) {
22
22
  `+(O?"":`obj || (obj = {});
23
23
  `)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(d?`, __j = Array.prototype.join;
24
24
  function print() { __p += __j.call(arguments, '') }
25
25
  `:`;
26
26
  `)+S+`return __p
27
- }`;var B=Uo(function(){return Y(o,I+"return "+S).apply(i,a)});if(B.source=S,qi(B))throw B;return B}function gg(t){return X(t).toLowerCase()}function _g(t){return X(t).toUpperCase()}function vg(t,n,e){if(t=X(t),t&&(e||n===i))return Hu(t);if(!t||!(n=Tt(n)))return t;var r=Xt(t),u=Xt(n),o=zu(r,u),a=Gu(r,u)+1;return Pn(r,o,a).join("")}function wg(t,n,e){if(t=X(t),t&&(e||n===i))return t.slice(0,Zu(t)+1);if(!t||!(n=Tt(n)))return t;var r=Xt(t),u=Gu(r,Xt(n))+1;return Pn(r,0,u).join("")}function yg(t,n,e){if(t=X(t),t&&(e||n===i))return t.replace(qr,"");if(!t||!(n=Tt(n)))return t;var r=Xt(t),u=zu(r,Xt(n));return Pn(r,u).join("")}function mg(t,n){var e=Le,r=Oe;if(it(n)){var u="separator"in n?n.separator:u;e="length"in n?N(n.length):e,r="omission"in n?Tt(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 d=a?Pn(a,0,c).join(""):t.slice(0,c);if(u===i)return d+r;if(a&&(c+=d.length-c),Hi(u)){if(t.slice(c).search(u)){var y,m=d;for(u.global||(u=si(u.source,X(hu.exec(u))+"g")),u.lastIndex=0;y=u.exec(m);)var S=y.index;d=d.slice(0,S===i?c:S)}}else if(t.indexOf(Tt(u),c)!=c){var A=d.lastIndexOf(u);A>-1&&(d=d.slice(0,A))}return d+r}function xg(t){return t=X(t),t&&La.test(t)?t.replace(fu,Xf):t}var Sg=ne(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Ji=Us("toUpperCase");function Fo(t,n,e){return t=X(t),n=e?i:n,n===i?zf(t)?jf(t):Uf(t):t.match(n)||[]}var Uo=K(function(t,n){try{return It(t,i,n)}catch(e){return qi(e)?e:new F(e)}}),Ag=dn(function(t,n){return Ut(n,function(e){e=un(e),ln(t,e,Ki(t[e],t))}),t});function bg(t){var n=t==null?0:t.length,e=E();return t=n?rt(t,function(r){if(typeof r[1]!="function")throw new Nt(x);return[e(r[0]),r[1]]}):[],K(function(r){for(var u=-1;++u<n;){var o=t[u];if(It(o[0],this,r))return It(o[1],this,r)}})}function Cg(t){return Xc(Mt(t,z))}function Zi(t){return function(){return t}}function Rg(t,n){return t==null||t!==t?n:t}var Ig=Bs(),Pg=Bs(!0);function Ct(t){return t}function Yi(t){return ps(typeof t=="function"?t:Mt(t,z))}function Tg(t){return _s(Mt(t,z))}function Eg(t,n){return vs(t,Mt(n,z))}var Lg=K(function(t,n){return function(e){return Se(e,t,n)}}),Og=K(function(t,n){return function(e){return Se(t,e,n)}});function Xi(t,n,e){var r=ht(n),u=or(n,r);e==null&&!(it(n)&&(u.length||!r.length))&&(e=n,n=t,t=this,u=or(n,ht(n)));var o=!(it(e)&&"chain"in e)||!!e.chain,a=gn(t);return Ut(u,function(c){var d=n[c];t[c]=d,a&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=St(this.__actions__);return S.push({func:d,args:arguments,thisArg:t}),m.__chain__=y,m}return d.apply(t,Sn([this.value()],arguments))})}),t}function Wg(){return pt._===this&&(pt._=uc),this}function Qi(){}function Dg(t){return t=N(t),K(function(n){return ws(n,t)})}var Fg=Pi(rt),Ug=Pi(Mu),Ng=Pi(jr);function No(t){return Fi(t)?ti(un(t)):dl(t)}function Bg(t){return function(n){return t==null?i:Mn(t,n)}}var Mg=$s(),$g=$s(!0);function Vi(){return[]}function ji(){return!1}function Kg(){return{}}function kg(){return""}function qg(){return!0}function Hg(t,n){if(t=N(t),t<1||t>nn)return[];var e=Dt,r=vt(t,Dt);n=E(n),t-=Dt;for(var u=ri(r,n);++e<t;)n(e);return u}function zg(t){return U(t)?rt(t,un):Et(t)?[t]:St(eo(X(t)))}function Gg(t){var n=++rc;return X(t)+n}var Jg=dr(function(t,n){return t+n},0),Zg=Ti("ceil"),Yg=dr(function(t,n){return t/n},1),Xg=Ti("floor");function Qg(t){return t&&t.length?sr(t,Ct,pi):i}function Vg(t,n){return t&&t.length?sr(t,E(n,2),pi):i}function jg(t){return ku(t,Ct)}function t_(t,n){return ku(t,E(n,2))}function n_(t){return t&&t.length?sr(t,Ct,wi):i}function e_(t,n){return t&&t.length?sr(t,E(n,2),wi):i}var r_=dr(function(t,n){return t*n},1),i_=Ti("round"),u_=dr(function(t,n){return t-n},0);function s_(t){return t&&t.length?ei(t,Ct):0}function o_(t,n){return t&&t.length?ei(t,E(n,2)):0}return s.after=Td,s.ary=po,s.assign=_p,s.assignIn=Po,s.assignInWith=Rr,s.assignWith=vp,s.at=wp,s.before=go,s.bind=Ki,s.bindAll=Ag,s.bindKey=_o,s.castArray=Kd,s.chain=co,s.chunk=Xl,s.compact=Ql,s.concat=Vl,s.cond=bg,s.conforms=Cg,s.constant=Zi,s.countBy=sd,s.create=yp,s.curry=vo,s.curryRight=wo,s.debounce=yo,s.defaults=mp,s.defaultsDeep=xp,s.defer=Ed,s.delay=Ld,s.difference=jl,s.differenceBy=th,s.differenceWith=nh,s.drop=eh,s.dropRight=rh,s.dropRightWhile=ih,s.dropWhile=uh,s.fill=sh,s.filter=ad,s.flatMap=ld,s.flatMapDeep=hd,s.flatMapDepth=dd,s.flatten=so,s.flattenDeep=oh,s.flattenDepth=ah,s.flip=Od,s.flow=Ig,s.flowRight=Pg,s.fromPairs=fh,s.functions=Pp,s.functionsIn=Tp,s.groupBy=pd,s.initial=lh,s.intersection=hh,s.intersectionBy=dh,s.intersectionWith=ph,s.invert=Lp,s.invertBy=Op,s.invokeMap=_d,s.iteratee=Yi,s.keyBy=vd,s.keys=ht,s.keysIn=bt,s.map=mr,s.mapKeys=Dp,s.mapValues=Fp,s.matches=Tg,s.matchesProperty=Eg,s.memoize=Sr,s.merge=Up,s.mergeWith=To,s.method=Lg,s.methodOf=Og,s.mixin=Xi,s.negate=Ar,s.nthArg=Dg,s.omit=Np,s.omitBy=Bp,s.once=Wd,s.orderBy=wd,s.over=Fg,s.overArgs=Dd,s.overEvery=Ug,s.overSome=Ng,s.partial=ki,s.partialRight=mo,s.partition=yd,s.pick=Mp,s.pickBy=Eo,s.property=No,s.propertyOf=Bg,s.pull=wh,s.pullAll=ao,s.pullAllBy=yh,s.pullAllWith=mh,s.pullAt=xh,s.range=Mg,s.rangeRight=$g,s.rearg=Fd,s.reject=Sd,s.remove=Sh,s.rest=Ud,s.reverse=Mi,s.sampleSize=bd,s.set=Kp,s.setWith=kp,s.shuffle=Cd,s.slice=Ah,s.sortBy=Pd,s.sortedUniq=Eh,s.sortedUniqBy=Lh,s.split=lg,s.spread=Nd,s.tail=Oh,s.take=Wh,s.takeRight=Dh,s.takeRightWhile=Fh,s.takeWhile=Uh,s.tap=Qh,s.throttle=Bd,s.thru=yr,s.toArray=Co,s.toPairs=Lo,s.toPairsIn=Oo,s.toPath=zg,s.toPlainObject=Io,s.transform=qp,s.unary=Md,s.union=Nh,s.unionBy=Bh,s.unionWith=Mh,s.uniq=$h,s.uniqBy=Kh,s.uniqWith=kh,s.unset=Hp,s.unzip=$i,s.unzipWith=fo,s.update=zp,s.updateWith=Gp,s.values=ie,s.valuesIn=Jp,s.without=qh,s.words=Fo,s.wrap=$d,s.xor=Hh,s.xorBy=zh,s.xorWith=Gh,s.zip=Jh,s.zipObject=Zh,s.zipObjectDeep=Yh,s.zipWith=Xh,s.entries=Lo,s.entriesIn=Oo,s.extend=Po,s.extendWith=Rr,Xi(s,s),s.add=Jg,s.attempt=Uo,s.camelCase=Qp,s.capitalize=Wo,s.ceil=Zg,s.clamp=Zp,s.clone=kd,s.cloneDeep=Hd,s.cloneDeepWith=zd,s.cloneWith=qd,s.conformsTo=Gd,s.deburr=Do,s.defaultTo=Rg,s.divide=Yg,s.endsWith=Vp,s.eq=Vt,s.escape=jp,s.escapeRegExp=tg,s.every=od,s.find=fd,s.findIndex=io,s.findKey=Sp,s.findLast=cd,s.findLastIndex=uo,s.findLastKey=Ap,s.floor=Xg,s.forEach=lo,s.forEachRight=ho,s.forIn=bp,s.forInRight=Cp,s.forOwn=Rp,s.forOwnRight=Ip,s.get=zi,s.gt=Jd,s.gte=Zd,s.has=Ep,s.hasIn=Gi,s.head=oo,s.identity=Ct,s.includes=gd,s.indexOf=ch,s.inRange=Yp,s.invoke=Wp,s.isArguments=kn,s.isArray=U,s.isArrayBuffer=Yd,s.isArrayLike=At,s.isArrayLikeObject=st,s.isBoolean=Xd,s.isBuffer=Tn,s.isDate=Qd,s.isElement=Vd,s.isEmpty=jd,s.isEqual=tp,s.isEqualWith=np,s.isError=qi,s.isFinite=ep,s.isFunction=gn,s.isInteger=xo,s.isLength=br,s.isMap=So,s.isMatch=rp,s.isMatchWith=ip,s.isNaN=up,s.isNative=sp,s.isNil=ap,s.isNull=op,s.isNumber=Ao,s.isObject=it,s.isObjectLike=ut,s.isPlainObject=Pe,s.isRegExp=Hi,s.isSafeInteger=fp,s.isSet=bo,s.isString=Cr,s.isSymbol=Et,s.isTypedArray=re,s.isUndefined=cp,s.isWeakMap=lp,s.isWeakSet=hp,s.join=gh,s.kebabCase=ng,s.last=Kt,s.lastIndexOf=_h,s.lowerCase=eg,s.lowerFirst=rg,s.lt=dp,s.lte=pp,s.max=Qg,s.maxBy=Vg,s.mean=jg,s.meanBy=t_,s.min=n_,s.minBy=e_,s.stubArray=Vi,s.stubFalse=ji,s.stubObject=Kg,s.stubString=kg,s.stubTrue=qg,s.multiply=r_,s.nth=vh,s.noConflict=Wg,s.noop=Qi,s.now=xr,s.pad=ig,s.padEnd=ug,s.padStart=sg,s.parseInt=og,s.random=Xp,s.reduce=md,s.reduceRight=xd,s.repeat=ag,s.replace=fg,s.result=$p,s.round=i_,s.runInContext=l,s.sample=Ad,s.size=Rd,s.snakeCase=cg,s.some=Id,s.sortedIndex=bh,s.sortedIndexBy=Ch,s.sortedIndexOf=Rh,s.sortedLastIndex=Ih,s.sortedLastIndexBy=Ph,s.sortedLastIndexOf=Th,s.startCase=hg,s.startsWith=dg,s.subtract=u_,s.sum=s_,s.sumBy=o_,s.template=pg,s.times=Hg,s.toFinite=_n,s.toInteger=N,s.toLength=Ro,s.toLower=gg,s.toNumber=kt,s.toSafeInteger=gp,s.toString=X,s.toUpper=_g,s.trim=vg,s.trimEnd=wg,s.trimStart=yg,s.truncate=mg,s.unescape=xg,s.uniqueId=Gg,s.upperCase=Sg,s.upperFirst=Ji,s.each=lo,s.eachRight=ho,s.first=oo,Xi(s,function(){var t={};return en(s,function(n,e){V.call(s.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),s.VERSION=p,Ut(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){s[t].placeholder=s}),Ut(["drop","take"],function(t,n){G.prototype[t]=function(e){e=e===i?1:ct(N(e),0);var r=this.__filtered__&&!n?new G(this):this.clone();return r.__filtered__?r.__takeCount__=vt(e,r.__takeCount__):r.__views__.push({size:vt(e,Dt),type:t+(r.__dir__<0?"Right":"")}),r},G.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ut(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==Wn||e==lt;G.prototype[t]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:E(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Ut(["head","last"],function(t,n){var e="take"+(n?"Right":"");G.prototype[t]=function(){return this[e](1).value()[0]}}),Ut(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");G.prototype[t]=function(){return this.__filtered__?new G(this):this[e](1)}}),G.prototype.compact=function(){return this.filter(Ct)},G.prototype.find=function(t){return this.filter(t).head()},G.prototype.findLast=function(t){return this.reverse().find(t)},G.prototype.invokeMap=K(function(t,n){return typeof t=="function"?new G(this):this.map(function(e){return Se(e,t,n)})}),G.prototype.reject=function(t){return this.filter(Ar(E(t)))},G.prototype.slice=function(t,n){t=N(t);var e=this;return e.__filtered__&&(t>0||n<0)?new G(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)},G.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},G.prototype.toArray=function(){return this.take(Dt)},en(G.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,d=a instanceof G,y=c[0],m=d||U(a),S=function(H){var J=u.apply(s,Sn([H],c));return r&&A?J[0]:J};m&&e&&typeof y=="function"&&y.length!=1&&(d=m=!1);var A=this.__chain__,I=!!this.__actions__.length,O=o&&!A,B=d&&!I;if(!o&&m){a=B?a:new G(this);var W=t.apply(a,c);return W.__actions__.push({func:yr,args:[S],thisArg:i}),new Bt(W,A)}return O&&B?t.apply(this,c):(W=this.thru(S),O?r?W.value()[0]:W.value():W)})}),Ut(["pop","push","shift","sort","splice","unshift"],function(t){var n=ze[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(U(o)?o:[],u)}return this[e](function(a){return n.apply(U(a)?a:[],u)})}}),en(G.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[hr(i,wn).name]=[{name:"wrapper",func:i}],G.prototype.clone=xc,G.prototype.reverse=Sc,G.prototype.value=Ac,s.prototype.at=Vh,s.prototype.chain=jh,s.prototype.commit=td,s.prototype.next=nd,s.prototype.plant=rd,s.prototype.reverse=id,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=ud,s.prototype.first=s.prototype.head,ge&&(s.prototype[ge]=ed),s},Yn=tc();Dn?((Dn.exports=Yn)._=Yn,Yr._=Yn):pt._=Yn}).call(oe)}(Te,Te.exports);var Zo=Te.exports;const Yo=Jo(Zo);class Xo{constructor(f){L(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 Qo{constructor(f,i){L(this,"transaction");L(this,"manager");this.transaction=f,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(f,i){var P;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=Yo.get(i,"schema.config.parameters.properties",{}),R=(b&&Object.keys(b).length>0?Object.keys(b):((P=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:P[1].split(",").map(D=>D.trim()).filter(Boolean))||[]).map(D=>v[D]),z=await x.apply(null,R);await this.complete(z)}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 tu extends se{constructor(i){super();L(this,"status");L(this,"autostart");L(this,"session");L(this,"config");L(this,"notify",!0);L(this,"_tools");L(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 Xo(this.config),_=new Qo(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 Vo(h,f){if(Array.isArray(h))return h;if(typeof h=="object"&&h!==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(h).map(x=>{switch(x){case"rest":return jo(h[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"webrtc":return ta(h[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"websocket":return na(h[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 tu({apiUrl:`${p}://${i}`,apiKey:f.apiKey,agentId:f.agentId,tools:f.tools,logger:f.logger})),v}throw new Error("Invalid protocols configuration")}function jo(h,f){return h===!0?new Ir({apiUrl:`${f.baseEndpointProtocol}://${f.baseEndpoint}`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Ir(h):null}function ta(h,f){return h===!0?new Tr({webrtcUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/webrtc`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Tr(h):null}function na(h,f){return h===!0?new Pr({webSocketUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/websocket`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Pr(h):null}function ea(h,f,i,p,_){return v=>{v.type==="message"?ra(v.payload,h,f,i,_):v.type==="reasoning"?ia(v.payload,h,f,_):v.type==="transaction"&&ua(v.payload,h,p)}}function ra(h,f,i,p,_){h.createdAt||(h.createdAt=new Date),(h==null?void 0:h.finishReason)==="stop"&&!(h!=null&&h.functionResponse)&&!(h!=null&&h.thought)&&p(!1),h.thought&&(h.type="reasoning"),h.protocol=f.getName(),i(v=>{const x=En([...v,h]);return _?_(x):x})}function ia(h,f,i,p){const _={type:"reasoning",text:h.thought,role:"assistant",finishReason:"stop",protocol:f.getName(),createdAt:new Date};i(v=>{const x=En([...v,_]);return p?p(x):x})}function ua(h,f,i){i.filter(p=>p!==f).forEach(p=>p.onTransaction(h))}function nu(h){return new Promise((f,i)=>{const p=new FileReader;p.readAsDataURL(h),p.onload=()=>{const v=p.result.split(";base64,")[1];f(v)},p.onerror=_=>{i(_)}})}function sa(h){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 h){const p=f[i.getName()];if(p)return p(i)}return null}function oa(h,f,i,p,_){return async v=>{const x=v.content.find(T=>T.type==="text"),P=v.attachments&&v.attachments.length>0;if(!x&&!P)throw new Error("Message must contain text or attachments");if(!h.some(T=>T.getName()!=="transaction"&&T.status==="connected")){f(T=>{const k={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},tt=[...T,k];return p?p(tt):tt});return}const M=(x==null?void 0:x.type)==="text"?x.text??"":"",R={role:"user",type:"text",text:M,createdAt:new Date};f(T=>{const k=En([...T,R]);return p?p(k):k}),i(!0);const z=h.sort((T,k)=>k.getPriority()-T.getPriority()).find(T=>T.status==="connected"),D=[];if(v.attachments)for(const T of v.attachments)if(T.contentType.startsWith("image/")&&T.file)D.push({role:"user",image:{contentType:T.contentType,content:await nu(T.file)},text:"",type:"text",createdAt:new Date});else if(T.content){const k=T.content.find(q=>q.type==="text");k&&"text"in k&&D.push({role:"user",file:{name:T.name,contentType:T.contentType},text:k.text,type:"text",createdAt:new Date});const tt=T.content.find(q=>q.type==="file");tt&&"data"in tt&&D.push({role:"user",file:{name:T.name,base64:tt.data,contentType:T.contentType},text:"",type:"text",createdAt:new Date})}else T.file&&D.push({role:"user",file:{name:T.name,base64:await nu(T.file),contentType:T.contentType||"application/octet-stream"},text:"",type:"text",createdAt:new Date});M&&D.push({role:"user",text:M,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",D),await(z==null?void 0:z.sendPacket({type:"request",payload:D}))}}function aa(h,f,i,p,_,v){return async x=>{var k;if(((k=x.content[0])==null?void 0:k.type)!=="text")throw new Error("Only text messages are supported");const P=h.sort((tt,q)=>q.getPriority()-tt.getPriority()).find(tt=>tt.status==="connected");if(!P){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 M=f.findIndex(tt=>tt.id===b);if(M===-1){v==null||v.debug("Parent message not found:",b);return}const R=f.slice(0,M+1),z={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},D=En([...R,z]);i(_?_(D):D),p(!0);const T=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",T),await P.sendPacket({type:"request",payload:T})}}function fa(h,f,i,p,_,v){return async(x,P)=>{const b=h.sort((k,tt)=>tt.getPriority()-k.getPriority()).find(k=>k.status==="connected");if(!b){v==null||v.debug("No protocol available for reload");return}const M=P.parentId??x;if(!M){v==null||v.debug("No parent ID provided for reload");return}const R=f.findIndex(k=>k.id===M);if(R===-1){v==null||v.debug("Parent message not found:",M);return}const z=f[R];i(k=>{const tt=k.slice(0,R+1);return _?_(tt):tt});let D;if(z.role==="assistant"||z.role==="function"){for(let k=R-1;k>=0;k--)if(f[k].role==="user"){D=f[k];break}}else z.role==="user"&&(D=z);if(!D){v==null||v.debug("No user message found to regenerate from");return}p(!0);const T=[];D.image&&T.push({role:"user",image:D.image,text:"",type:"text",createdAt:new Date}),T.push({role:"user",text:D.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:M,sourceId:P.sourceId,custom:P.runConfig.custom}),await b.sendPacket({type:"request",payload:T})}}function ca(h,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 _}),h.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const ae=Z.createContext(void 0);function la(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return h}function eu(h){const f=Z.useContext(ae);if(!f)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=f.protocols.find(_=>_.getName()===h);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 ha(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return sa(h.protocols)}function da(){return eu("webrtc")}function pa(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return h.getMessages()}const ru="DEFAULT_THREAD_ID";function ga(){const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let f="";for(let i=0;i<8;i++)f+=h.charAt(Math.floor(Math.random()*h.length));return f}function _a(h,f,i,p,_,v,x,P,b,M){return{threadId:h,threads:f.filter(R=>R.status==="regular").map(R=>({id:R.threadId,threadId:R.threadId,title:R.title||`Session ${R.threadId}`,status:R.status})),archivedThreads:f.filter(R=>R.status==="archived").map(R=>({id:R.threadId,threadId:R.threadId,title:R.title||`Archived Chat ${R.threadId}`,status:R.status})),onSwitchToNewThread:()=>{const R=ga(),z={threadId:R,status:"regular",title:`Session ${R}`};p(D=>[z,...D]),i(R),v==null||v(R)},onSwitchToThread:R=>{i(R),x==null||x(R)},onArchive:R=>{p(z=>z.map(D=>D.threadId===R?{...D,status:"archived"}:D)),P==null||P(R),R!==ru&&_.archive(R)},onUnarchive:R=>{p(z=>z.map(D=>D.threadId===R?{...D,status:"regular"}:D)),b==null||b(R)},onDelete:async R=>{if(p(z=>z.filter(D=>D.threadId!==R)),h===R){const z=f.filter(D=>D.threadId!==R&&D.status==="regular");z.length>0&&i(z[0].threadId)}M==null||M(R),R!==ru&&await _.delete(R)}}}class iu{constructor(f){L(this,"endpoint");L(this,"apiKey");L(this,"pageSize");L(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 P=await x.text();throw(_=this.logger)==null||_.warn("PersonaSessionStorage: failed to set session visibility",x.status,P),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 va({dev:h=!1,baseUrl:f,protocols:i,logger:p,children:_,session:v="new",transformMessages:x,threads:P=!1,sessionStorage:b,onThreadCreate:M,onThreadSwitch:R,onThreadRename:z,onThreadArchive:D,onThreadUnarchive:T,onThreadDelete:k,enableAttachments:tt=!1,...q}){const[wn,sn]=Z.useState(!1),[dt,_t]=Z.useState([]),[Ht,On]=Z.useState(new Map),Wt=Z.useRef(!1),tn=Z.useRef(!1),zt=Z.useMemo(()=>b||new iu({apiKey:q.apiKey,endpoint:f||"https://persona.applica.guru/api"}),[b,f,q.apiKey]),[Le,Oe]=Z.useState([]),[Rt,We]=Z.useState(""),Wn=Z.useRef(typeof v=="string"?v:"new"),De=Z.useRef(!1);Z.useEffect(()=>{!P||De.current||(De.current=!0,zt.list(q.agentId,q.userId).then($=>{($==null?void 0:$.length)>0&&(Oe($),We($[0].threadId))}).catch($=>p==null?void 0:p.error("Failed to load threads:",$)))},[P,zt,q.agentId,q.userId,p]);const lt=Z.useMemo(()=>Vo(i,{dev:h||!1,baseUrl:f,apiKey:q.apiKey,agentId:q.agentId,userId:q.userId,tools:q.tools,logger:p}),[i,h,f,q.apiKey,q.agentId,q.userId,q.tools,p]);Z.useEffect(()=>{Wt.current||(Wt.current=!0,p==null||p.debug("Setting up protocols:",lt.map($=>$.getName())),lt.forEach($=>{$.setSession(Wn.current),$.clearListeners(),$.addStatusChangeListener(at=>{p==null||p.debug(`${$.getName()} status: ${at}`),On(yn=>{const Gt=new Map(yn);return Gt.set($.getName(),at),Gt}),at==="connected"&&!tn.current&&(q.context&&$.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:q.context}}).catch(()=>{}),q.tools&&Array.isArray(q.tools)&&$.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:q.tools.map(yn=>yn.schema)}}}).catch(()=>{}))}),$.addPacketListener(ea($,_t,sn,lt,x)),$.autostart&&$.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${$.getName()}`),$.connect(Wn.current).catch(()=>{}),sn(!1))}))},[]),Z.useEffect(()=>{P||!v||v==="new"||zt.sync(v).then($=>{if($.length>0){const at=En($);_t(x?x(at):at),p==null||p.debug(`Loaded ${$.length} messages for session ${v}`)}}).catch($=>{p==null||p.error("Failed to load session messages:",$)})},[]),Z.useEffect(()=>{if(!P||!Rt){_t([]);return}if(tn.current||Rt===Wn.current)return;tn.current=!0,p==null||p.info("Switching to thread:",Rt),(async()=>{try{const at=lt.filter(Jt=>Jt.status==="connected");at.length>0&&await Promise.allSettled(at.map(Jt=>Jt.disconnect())),Wn.current=Rt,await Promise.allSettled(lt.map(Jt=>Jt.setSession(Rt)));const yn=await zt.sync(Rt),Gt=En(yn);_t(x?x(Gt):Gt),p==null||p.debug(`Loaded ${yn.length} messages for thread ${Rt}`);const mn=lt.filter(Jt=>Jt.autostart);mn.length>0&&await Promise.allSettled(mn.map(Jt=>Jt.connect(Rt)))}catch(at){p==null||p.error("Failed to switch thread:",at),_t([])}finally{tn.current=!1}})()},[Rt,P,lt,zt,x,p]);const on=Z.useCallback(oa(lt,_t,sn,x,p),[lt,x,p]),nn=Z.useCallback(aa(lt,dt,_t,sn,x,p),[lt,dt,x,p]),Er=Z.useCallback(fa(lt,dt,_t,sn,x,p),[lt,dt,x,p]),qn=Z.useCallback(ca(lt,_t,sn,x),[lt,x]),Dt=Z.useCallback($=>{const at=En([...$]);_t(x?x(at):at)},[x]),Lr=Z.useCallback(()=>dt,[dt]),Fe=Z.useMemo(()=>{if(P)return _a(Rt,Le,We,Oe,zt,M,R,D,T,k)},[P,Rt,Le,zt,M,R,D,T,k,p]),Or=ue.useExternalStoreRuntime({isRunning:wn,messages:dt,convertMessage:zo,setMessages:Dt,onNew:on,onEdit:nn,onCancel:qn,onReload:Er,adapters:{...tt?{attachments:new ue.CompositeAttachmentAdapter([new ue.SimpleImageAttachmentAdapter,new ue.SimpleTextAttachmentAdapter,new $o])}:{},...Fe?{threadList:Fe}:{}}});return qt.jsx(ae.Provider,{value:{protocols:lt,protocolsStatus:Ht,getMessages:Lr},children:qt.jsx(ue.AssistantRuntimeProvider,{runtime:Or,children:_})})}function wa({children:h,...f}){return qt.jsx(va,{...f,children:h})}class ya{constructor(){L(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 Ln(h,f,i){return{type:h,description:f,...i}}function uu(h){const f=Object.entries(h.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:h.name,description:h.description,config:{timeout:h.timeout||60,parameters:{type:"object",title:h.title||`${h.name} parameters`,required:f,properties:h.parameters},output:{type:"object",title:`${h.name} output`,properties:h.output}}}}function Ee(h){return{schema:uu(h),implementation:h.implementation}}function su(h,f,i,p,_,v){const x={name:h,description:f,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return Ee(x)}const ma=su("sum","Sum two numbers",function(f,i){return{result:f+i}},{a:Ln("number","First number to sum",{required:!0}),b:Ln("number","Second number to sum",{required:!0})},{result:Ln("number","Sum of two numbers")}),xa=Ee({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:Ln("number","First number to sum"),b:Ln("number","Seconth number to sum")},output:{result:Ln("number","Sum of two numbers")},implementation:function(f,i){return{result:f+i}}});function Sa(h){const f=[],i={};return h.forEach(p=>{const{schema:_,implementation:v}=Ee(p);f.push(_),i[p.name]=v}),{schemas:f,implementations:i}}function Aa(h,f){const{required:i,properties:p}=f.config.parameters;for(const _ of i)if(!(_ in h))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(h)){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}return Q.PersonaConsoleLogger=ya,Q.PersonaProtocolBase=se,Q.PersonaRESTProtocol=Ir,Q.PersonaRuntimeProvider=wa,Q.PersonaSessionStorage=iu,Q.PersonaTransactionProtocol=tu,Q.PersonaWebRTCProtocol=Tr,Q.PersonaWebSocketProtocol=Pr,Q.createParameter=Ln,Q.createTool=Ee,Q.createToolFromFunction=su,Q.createToolRegistry=Sa,Q.generateToolSchema=uu,Q.navigateToToolExample=xa,Q.sumTool=ma,Q.usePersonaRuntime=la,Q.usePersonaRuntimeEndpoint=ha,Q.usePersonaRuntimeMessages=pa,Q.usePersonaRuntimeProtocol=eu,Q.usePersonaRuntimeWebRTCProtocol=da,Q.validateToolParameters=Aa,Object.defineProperty(Q,Symbol.toStringTag,{value:"Module"}),Q}({},React,React,AssistantUI);
27
+ }`;var B=Uo(function(){return Y(o,P+"return "+S).apply(i,a)});if(B.source=S,qi(B))throw B;return B}function gg(t){return X(t).toLowerCase()}function _g(t){return X(t).toUpperCase()}function vg(t,n,e){if(t=X(t),t&&(e||n===i))return Hu(t);if(!t||!(n=Tt(n)))return t;var r=Xt(t),u=Xt(n),o=zu(r,u),a=Gu(r,u)+1;return Rn(r,o,a).join("")}function wg(t,n,e){if(t=X(t),t&&(e||n===i))return t.slice(0,Zu(t)+1);if(!t||!(n=Tt(n)))return t;var r=Xt(t),u=Gu(r,Xt(n))+1;return Rn(r,0,u).join("")}function yg(t,n,e){if(t=X(t),t&&(e||n===i))return t.replace(qr,"");if(!t||!(n=Tt(n)))return t;var r=Xt(t),u=zu(r,Xt(n));return Rn(r,u).join("")}function mg(t,n){var e=Le,r=Oe;if(it(n)){var u="separator"in n?n.separator:u;e="length"in n?N(n.length):e,r="omission"in n?Tt(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 d=a?Rn(a,0,c).join(""):t.slice(0,c);if(u===i)return d+r;if(a&&(c+=d.length-c),Hi(u)){if(t.slice(c).search(u)){var y,m=d;for(u.global||(u=si(u.source,X(hu.exec(u))+"g")),u.lastIndex=0;y=u.exec(m);)var S=y.index;d=d.slice(0,S===i?c:S)}}else if(t.indexOf(Tt(u),c)!=c){var A=d.lastIndexOf(u);A>-1&&(d=d.slice(0,A))}return d+r}function xg(t){return t=X(t),t&&La.test(t)?t.replace(fu,Xf):t}var Sg=ne(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Ji=Us("toUpperCase");function Fo(t,n,e){return t=X(t),n=e?i:n,n===i?zf(t)?jf(t):Uf(t):t.match(n)||[]}var Uo=K(function(t,n){try{return Pt(t,i,n)}catch(e){return qi(e)?e:new F(e)}}),Ag=dn(function(t,n){return Ut(n,function(e){e=un(e),ln(t,e,Ki(t[e],t))}),t});function bg(t){var n=t==null?0:t.length,e=E();return t=n?rt(t,function(r){if(typeof r[1]!="function")throw new Nt(x);return[e(r[0]),r[1]]}):[],K(function(r){for(var u=-1;++u<n;){var o=t[u];if(Pt(o[0],this,r))return Pt(o[1],this,r)}})}function Cg(t){return Xc(Mt(t,z))}function Zi(t){return function(){return t}}function Ig(t,n){return t==null||t!==t?n:t}var Pg=Bs(),Rg=Bs(!0);function Ct(t){return t}function Yi(t){return ps(typeof t=="function"?t:Mt(t,z))}function Tg(t){return _s(Mt(t,z))}function Eg(t,n){return vs(t,Mt(n,z))}var Lg=K(function(t,n){return function(e){return Se(e,t,n)}}),Og=K(function(t,n){return function(e){return Se(t,e,n)}});function Xi(t,n,e){var r=ht(n),u=or(n,r);e==null&&!(it(n)&&(u.length||!r.length))&&(e=n,n=t,t=this,u=or(n,ht(n)));var o=!(it(e)&&"chain"in e)||!!e.chain,a=gn(t);return Ut(u,function(c){var d=n[c];t[c]=d,a&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),S=m.__actions__=St(this.__actions__);return S.push({func:d,args:arguments,thisArg:t}),m.__chain__=y,m}return d.apply(t,Sn([this.value()],arguments))})}),t}function Wg(){return pt._===this&&(pt._=uc),this}function Qi(){}function Dg(t){return t=N(t),K(function(n){return ws(n,t)})}var Fg=Ri(rt),Ug=Ri(Mu),Ng=Ri(jr);function No(t){return Fi(t)?ti(un(t)):dl(t)}function Bg(t){return function(n){return t==null?i:Mn(t,n)}}var Mg=$s(),$g=$s(!0);function Vi(){return[]}function ji(){return!1}function Kg(){return{}}function kg(){return""}function qg(){return!0}function Hg(t,n){if(t=N(t),t<1||t>nn)return[];var e=Dt,r=vt(t,Dt);n=E(n),t-=Dt;for(var u=ri(r,n);++e<t;)n(e);return u}function zg(t){return U(t)?rt(t,un):Et(t)?[t]:St(eo(X(t)))}function Gg(t){var n=++rc;return X(t)+n}var Jg=dr(function(t,n){return t+n},0),Zg=Ti("ceil"),Yg=dr(function(t,n){return t/n},1),Xg=Ti("floor");function Qg(t){return t&&t.length?sr(t,Ct,pi):i}function Vg(t,n){return t&&t.length?sr(t,E(n,2),pi):i}function jg(t){return ku(t,Ct)}function t_(t,n){return ku(t,E(n,2))}function n_(t){return t&&t.length?sr(t,Ct,wi):i}function e_(t,n){return t&&t.length?sr(t,E(n,2),wi):i}var r_=dr(function(t,n){return t*n},1),i_=Ti("round"),u_=dr(function(t,n){return t-n},0);function s_(t){return t&&t.length?ei(t,Ct):0}function o_(t,n){return t&&t.length?ei(t,E(n,2)):0}return s.after=Td,s.ary=po,s.assign=_p,s.assignIn=Ro,s.assignInWith=Ir,s.assignWith=vp,s.at=wp,s.before=go,s.bind=Ki,s.bindAll=Ag,s.bindKey=_o,s.castArray=Kd,s.chain=co,s.chunk=Xl,s.compact=Ql,s.concat=Vl,s.cond=bg,s.conforms=Cg,s.constant=Zi,s.countBy=sd,s.create=yp,s.curry=vo,s.curryRight=wo,s.debounce=yo,s.defaults=mp,s.defaultsDeep=xp,s.defer=Ed,s.delay=Ld,s.difference=jl,s.differenceBy=th,s.differenceWith=nh,s.drop=eh,s.dropRight=rh,s.dropRightWhile=ih,s.dropWhile=uh,s.fill=sh,s.filter=ad,s.flatMap=ld,s.flatMapDeep=hd,s.flatMapDepth=dd,s.flatten=so,s.flattenDeep=oh,s.flattenDepth=ah,s.flip=Od,s.flow=Pg,s.flowRight=Rg,s.fromPairs=fh,s.functions=Rp,s.functionsIn=Tp,s.groupBy=pd,s.initial=lh,s.intersection=hh,s.intersectionBy=dh,s.intersectionWith=ph,s.invert=Lp,s.invertBy=Op,s.invokeMap=_d,s.iteratee=Yi,s.keyBy=vd,s.keys=ht,s.keysIn=bt,s.map=mr,s.mapKeys=Dp,s.mapValues=Fp,s.matches=Tg,s.matchesProperty=Eg,s.memoize=Sr,s.merge=Up,s.mergeWith=To,s.method=Lg,s.methodOf=Og,s.mixin=Xi,s.negate=Ar,s.nthArg=Dg,s.omit=Np,s.omitBy=Bp,s.once=Wd,s.orderBy=wd,s.over=Fg,s.overArgs=Dd,s.overEvery=Ug,s.overSome=Ng,s.partial=ki,s.partialRight=mo,s.partition=yd,s.pick=Mp,s.pickBy=Eo,s.property=No,s.propertyOf=Bg,s.pull=wh,s.pullAll=ao,s.pullAllBy=yh,s.pullAllWith=mh,s.pullAt=xh,s.range=Mg,s.rangeRight=$g,s.rearg=Fd,s.reject=Sd,s.remove=Sh,s.rest=Ud,s.reverse=Mi,s.sampleSize=bd,s.set=Kp,s.setWith=kp,s.shuffle=Cd,s.slice=Ah,s.sortBy=Rd,s.sortedUniq=Eh,s.sortedUniqBy=Lh,s.split=lg,s.spread=Nd,s.tail=Oh,s.take=Wh,s.takeRight=Dh,s.takeRightWhile=Fh,s.takeWhile=Uh,s.tap=Qh,s.throttle=Bd,s.thru=yr,s.toArray=Co,s.toPairs=Lo,s.toPairsIn=Oo,s.toPath=zg,s.toPlainObject=Po,s.transform=qp,s.unary=Md,s.union=Nh,s.unionBy=Bh,s.unionWith=Mh,s.uniq=$h,s.uniqBy=Kh,s.uniqWith=kh,s.unset=Hp,s.unzip=$i,s.unzipWith=fo,s.update=zp,s.updateWith=Gp,s.values=ie,s.valuesIn=Jp,s.without=qh,s.words=Fo,s.wrap=$d,s.xor=Hh,s.xorBy=zh,s.xorWith=Gh,s.zip=Jh,s.zipObject=Zh,s.zipObjectDeep=Yh,s.zipWith=Xh,s.entries=Lo,s.entriesIn=Oo,s.extend=Ro,s.extendWith=Ir,Xi(s,s),s.add=Jg,s.attempt=Uo,s.camelCase=Qp,s.capitalize=Wo,s.ceil=Zg,s.clamp=Zp,s.clone=kd,s.cloneDeep=Hd,s.cloneDeepWith=zd,s.cloneWith=qd,s.conformsTo=Gd,s.deburr=Do,s.defaultTo=Ig,s.divide=Yg,s.endsWith=Vp,s.eq=Vt,s.escape=jp,s.escapeRegExp=tg,s.every=od,s.find=fd,s.findIndex=io,s.findKey=Sp,s.findLast=cd,s.findLastIndex=uo,s.findLastKey=Ap,s.floor=Xg,s.forEach=lo,s.forEachRight=ho,s.forIn=bp,s.forInRight=Cp,s.forOwn=Ip,s.forOwnRight=Pp,s.get=zi,s.gt=Jd,s.gte=Zd,s.has=Ep,s.hasIn=Gi,s.head=oo,s.identity=Ct,s.includes=gd,s.indexOf=ch,s.inRange=Yp,s.invoke=Wp,s.isArguments=kn,s.isArray=U,s.isArrayBuffer=Yd,s.isArrayLike=At,s.isArrayLikeObject=st,s.isBoolean=Xd,s.isBuffer=Tn,s.isDate=Qd,s.isElement=Vd,s.isEmpty=jd,s.isEqual=tp,s.isEqualWith=np,s.isError=qi,s.isFinite=ep,s.isFunction=gn,s.isInteger=xo,s.isLength=br,s.isMap=So,s.isMatch=rp,s.isMatchWith=ip,s.isNaN=up,s.isNative=sp,s.isNil=ap,s.isNull=op,s.isNumber=Ao,s.isObject=it,s.isObjectLike=ut,s.isPlainObject=Re,s.isRegExp=Hi,s.isSafeInteger=fp,s.isSet=bo,s.isString=Cr,s.isSymbol=Et,s.isTypedArray=re,s.isUndefined=cp,s.isWeakMap=lp,s.isWeakSet=hp,s.join=gh,s.kebabCase=ng,s.last=Kt,s.lastIndexOf=_h,s.lowerCase=eg,s.lowerFirst=rg,s.lt=dp,s.lte=pp,s.max=Qg,s.maxBy=Vg,s.mean=jg,s.meanBy=t_,s.min=n_,s.minBy=e_,s.stubArray=Vi,s.stubFalse=ji,s.stubObject=Kg,s.stubString=kg,s.stubTrue=qg,s.multiply=r_,s.nth=vh,s.noConflict=Wg,s.noop=Qi,s.now=xr,s.pad=ig,s.padEnd=ug,s.padStart=sg,s.parseInt=og,s.random=Xp,s.reduce=md,s.reduceRight=xd,s.repeat=ag,s.replace=fg,s.result=$p,s.round=i_,s.runInContext=l,s.sample=Ad,s.size=Id,s.snakeCase=cg,s.some=Pd,s.sortedIndex=bh,s.sortedIndexBy=Ch,s.sortedIndexOf=Ih,s.sortedLastIndex=Ph,s.sortedLastIndexBy=Rh,s.sortedLastIndexOf=Th,s.startCase=hg,s.startsWith=dg,s.subtract=u_,s.sum=s_,s.sumBy=o_,s.template=pg,s.times=Hg,s.toFinite=_n,s.toInteger=N,s.toLength=Io,s.toLower=gg,s.toNumber=kt,s.toSafeInteger=gp,s.toString=X,s.toUpper=_g,s.trim=vg,s.trimEnd=wg,s.trimStart=yg,s.truncate=mg,s.unescape=xg,s.uniqueId=Gg,s.upperCase=Sg,s.upperFirst=Ji,s.each=lo,s.eachRight=ho,s.first=oo,Xi(s,function(){var t={};return en(s,function(n,e){V.call(s.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),s.VERSION=p,Ut(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){s[t].placeholder=s}),Ut(["drop","take"],function(t,n){G.prototype[t]=function(e){e=e===i?1:ct(N(e),0);var r=this.__filtered__&&!n?new G(this):this.clone();return r.__filtered__?r.__takeCount__=vt(e,r.__takeCount__):r.__views__.push({size:vt(e,Dt),type:t+(r.__dir__<0?"Right":"")}),r},G.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ut(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==Wn||e==lt;G.prototype[t]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:E(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Ut(["head","last"],function(t,n){var e="take"+(n?"Right":"");G.prototype[t]=function(){return this[e](1).value()[0]}}),Ut(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");G.prototype[t]=function(){return this.__filtered__?new G(this):this[e](1)}}),G.prototype.compact=function(){return this.filter(Ct)},G.prototype.find=function(t){return this.filter(t).head()},G.prototype.findLast=function(t){return this.reverse().find(t)},G.prototype.invokeMap=K(function(t,n){return typeof t=="function"?new G(this):this.map(function(e){return Se(e,t,n)})}),G.prototype.reject=function(t){return this.filter(Ar(E(t)))},G.prototype.slice=function(t,n){t=N(t);var e=this;return e.__filtered__&&(t>0||n<0)?new G(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)},G.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},G.prototype.toArray=function(){return this.take(Dt)},en(G.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,d=a instanceof G,y=c[0],m=d||U(a),S=function(H){var J=u.apply(s,Sn([H],c));return r&&A?J[0]:J};m&&e&&typeof y=="function"&&y.length!=1&&(d=m=!1);var A=this.__chain__,P=!!this.__actions__.length,O=o&&!A,B=d&&!P;if(!o&&m){a=B?a:new G(this);var W=t.apply(a,c);return W.__actions__.push({func:yr,args:[S],thisArg:i}),new Bt(W,A)}return O&&B?t.apply(this,c):(W=this.thru(S),O?r?W.value()[0]:W.value():W)})}),Ut(["pop","push","shift","sort","splice","unshift"],function(t){var n=ze[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(U(o)?o:[],u)}return this[e](function(a){return n.apply(U(a)?a:[],u)})}}),en(G.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[hr(i,wn).name]=[{name:"wrapper",func:i}],G.prototype.clone=xc,G.prototype.reverse=Sc,G.prototype.value=Ac,s.prototype.at=Vh,s.prototype.chain=jh,s.prototype.commit=td,s.prototype.next=nd,s.prototype.plant=rd,s.prototype.reverse=id,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=ud,s.prototype.first=s.prototype.head,ge&&(s.prototype[ge]=ed),s},Yn=tc();Dn?((Dn.exports=Yn)._=Yn,Yr._=Yn):pt._=Yn}).call(oe)}(Te,Te.exports);var Zo=Te.exports;const Yo=Jo(Zo);class Xo{constructor(f){L(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 Qo{constructor(f,i){L(this,"transaction");L(this,"manager");this.transaction=f,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(f,i){var R;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=Yo.get(i,"schema.config.parameters.properties",{}),I=(b&&Object.keys(b).length>0?Object.keys(b):((R=x.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:R[1].split(",").map(D=>D.trim()).filter(Boolean))||[]).map(D=>v[D]),z=await x.apply(null,I);await this.complete(z)}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 tu extends se{constructor(i){super();L(this,"status");L(this,"autostart");L(this,"session");L(this,"config");L(this,"notify",!0);L(this,"_tools");L(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 Xo(this.config),_=new Qo(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 Vo(h,f){if(Array.isArray(h))return h;if(typeof h=="object"&&h!==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(h).map(x=>{switch(x){case"rest":return jo(h[x],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"webrtc":return ta(h[x],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"websocket":return na(h[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 tu({apiUrl:`${p}://${i}`,apiKey:f.apiKey,agentId:f.agentId,tools:f.tools,logger:f.logger})),v}throw new Error("Invalid protocols configuration")}function jo(h,f){return h===!0?new Pr({apiUrl:`${f.baseEndpointProtocol}://${f.baseEndpoint}`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Pr(h):null}function ta(h,f){return h===!0?new Tr({webrtcUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/webrtc`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Tr(h):null}function na(h,f){return h===!0?new Rr({webSocketUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/websocket`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof h=="object"&&h!==null?new Rr(h):null}function ea(h,f,i,p,_){return v=>{v.type==="message"?ra(v.payload,h,f,i,_):v.type==="reasoning"?ia(v.payload,h,f,_):v.type==="transaction"&&ua(v.payload,h,p)}}function ra(h,f,i,p,_){h.createdAt||(h.createdAt=new Date),(h==null?void 0:h.finishReason)==="stop"&&!(h!=null&&h.functionResponse)&&!(h!=null&&h.thought)&&p(!1),h.thought&&(h.type="reasoning"),h.protocol=f.getName(),i(v=>{const x=En([...v,h]);return _?_(x):x})}function ia(h,f,i,p){const _={type:"reasoning",text:h.thought,role:"assistant",finishReason:"stop",protocol:f.getName(),createdAt:new Date};i(v=>{const x=En([...v,_]);return p?p(x):x})}function ua(h,f,i){i.filter(p=>p!==f).forEach(p=>p.onTransaction(h))}function nu(h){return new Promise((f,i)=>{const p=new FileReader;p.readAsDataURL(h),p.onload=()=>{const v=p.result.split(";base64,")[1];f(v)},p.onerror=_=>{i(_)}})}function sa(h){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 h){const p=f[i.getName()];if(p)return p(i)}return null}function oa(h,f,i,p,_){return async v=>{const x=v.content.find(T=>T.type==="text"),R=v.attachments&&v.attachments.length>0;if(!x&&!R)throw new Error("Message must contain text or attachments");if(!h.some(T=>T.getName()!=="transaction"&&T.status==="connected")){f(T=>{const k={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},tt=[...T,k];return p?p(tt):tt});return}const M=(x==null?void 0:x.type)==="text"?x.text??"":"",I={role:"user",type:"text",text:M,createdAt:new Date};f(T=>{const k=En([...T,I]);return p?p(k):k}),i(!0);const z=h.sort((T,k)=>k.getPriority()-T.getPriority()).find(T=>T.status==="connected"),D=[];if(v.attachments)for(const T of v.attachments)if(T.contentType.startsWith("image/")&&T.file)D.push({role:"user",image:{contentType:T.contentType,content:await nu(T.file)},text:"",type:"text",createdAt:new Date});else if(T.content){const k=T.content.find(q=>q.type==="text");k&&"text"in k&&D.push({role:"user",file:{name:T.name,contentType:T.contentType},text:k.text,type:"text",createdAt:new Date});const tt=T.content.find(q=>q.type==="file");tt&&"data"in tt&&D.push({role:"user",file:{name:T.name,base64:tt.data,contentType:T.contentType},text:"",type:"text",createdAt:new Date})}else T.file&&D.push({role:"user",file:{name:T.name,base64:await nu(T.file),contentType:T.contentType||"application/octet-stream"},text:"",type:"text",createdAt:new Date});M&&D.push({role:"user",text:M,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",D),await(z==null?void 0:z.sendPacket({type:"request",payload:D}))}}function aa(h,f,i,p,_,v){return async x=>{var k;if(((k=x.content[0])==null?void 0:k.type)!=="text")throw new Error("Only text messages are supported");const R=h.sort((tt,q)=>q.getPriority()-tt.getPriority()).find(tt=>tt.status==="connected");if(!R){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 M=f.findIndex(tt=>tt.id===b);if(M===-1){v==null||v.debug("Parent message not found:",b);return}const I=f.slice(0,M+1),z={role:"user",text:x.content[0].text,type:"text",createdAt:new Date},D=En([...I,z]);i(_?_(D):D),p(!0);const T=[{role:"user",text:x.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",T),await R.sendPacket({type:"request",payload:T})}}function fa(h,f,i,p,_,v){return async(x,R)=>{const b=h.sort((k,tt)=>tt.getPriority()-k.getPriority()).find(k=>k.status==="connected");if(!b){v==null||v.debug("No protocol available for reload");return}const M=R.parentId??x;if(!M){v==null||v.debug("No parent ID provided for reload");return}const I=f.findIndex(k=>k.id===M);if(I===-1){v==null||v.debug("Parent message not found:",M);return}const z=f[I];i(k=>{const tt=k.slice(0,I+1);return _?_(tt):tt});let D;if(z.role==="assistant"||z.role==="function"){for(let k=I-1;k>=0;k--)if(f[k].role==="user"){D=f[k];break}}else z.role==="user"&&(D=z);if(!D){v==null||v.debug("No user message found to regenerate from");return}p(!0);const T=[];D.image&&T.push({role:"user",image:D.image,text:"",type:"text",createdAt:new Date}),T.push({role:"user",text:D.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:M,sourceId:R.sourceId,custom:R.runConfig.custom}),await b.sendPacket({type:"request",payload:T})}}function ca(h,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 _}),h.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const ae=Z.createContext(void 0);function la(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return h}function eu(h){const f=Z.useContext(ae);if(!f)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=f.protocols.find(_=>_.getName()===h);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 ha(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return sa(h.protocols)}function da(){return eu("webrtc")}function pa(){const h=Z.useContext(ae);if(!h)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return h.getMessages()}const ru="DEFAULT_THREAD_ID";function ga(){const h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let f="";for(let i=0;i<8;i++)f+=h.charAt(Math.floor(Math.random()*h.length));return f}function _a(h,f,i,p,_,v,x,R,b,M){return{threadId:h,threads:f.filter(I=>I.status==="regular").map(I=>({id:I.threadId,threadId:I.threadId,title:I.title||`Session ${I.threadId}`,status:I.status})),archivedThreads:f.filter(I=>I.status==="archived").map(I=>({id:I.threadId,threadId:I.threadId,title:I.title||`Archived Chat ${I.threadId}`,status:I.status})),onSwitchToNewThread:()=>{const I=ga(),z={threadId:I,status:"regular",title:`Session ${I}`};p(D=>[z,...D]),i(I),v==null||v(I)},onSwitchToThread:I=>{i(I),x==null||x(I)},onArchive:I=>{p(z=>z.map(D=>D.threadId===I?{...D,status:"archived"}:D)),R==null||R(I),I!==ru&&_.archive(I)},onUnarchive:I=>{p(z=>z.map(D=>D.threadId===I?{...D,status:"regular"}:D)),b==null||b(I)},onDelete:async I=>{if(p(z=>z.filter(D=>D.threadId!==I)),h===I){const z=f.filter(D=>D.threadId!==I&&D.status==="regular");z.length>0&&i(z[0].threadId)}M==null||M(I),I!==ru&&await _.delete(I)}}}class iu{constructor(f){L(this,"endpoint");L(this,"apiKey");L(this,"pageSize");L(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 R=await x.text();throw(_=this.logger)==null||_.warn("PersonaSessionStorage: failed to set session visibility",x.status,R),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 va({dev:h=!1,baseUrl:f,protocols:i,logger:p,children:_,session:v="new",transformMessages:x,threads:R=!1,sessionStorage:b,onThreadCreate:M,onThreadSwitch:I,onThreadRename:z,onThreadArchive:D,onThreadUnarchive:T,onThreadDelete:k,enableAttachments:tt=!1,...q}){const[wn,sn]=Z.useState(!1),[dt,_t]=Z.useState([]),[Ht,On]=Z.useState(new Map),Wt=Z.useRef(!1),tn=Z.useRef(!1),zt=Z.useMemo(()=>b||new iu({apiKey:q.apiKey,endpoint:f||"https://persona.applica.guru/api"}),[b,f,q.apiKey]),[Le,Oe]=Z.useState([]),[It,We]=Z.useState(""),Wn=Z.useRef(typeof v=="string"?v:"new"),De=Z.useRef(!1);Z.useEffect(()=>{!R||De.current||(De.current=!0,zt.list(q.agentId,q.userId).then($=>{($==null?void 0:$.length)>0&&(Oe($),We($[0].threadId))}).catch($=>p==null?void 0:p.error("Failed to load threads:",$)))},[R,zt,q.agentId,q.userId,p]);const lt=Z.useMemo(()=>Vo(i,{dev:h||!1,baseUrl:f,apiKey:q.apiKey,agentId:q.agentId,userId:q.userId,tools:q.tools,logger:p}),[i,h,f,q.apiKey,q.agentId,q.userId,q.tools,p]);Z.useEffect(()=>{Wt.current||(Wt.current=!0,p==null||p.debug("Setting up protocols:",lt.map($=>$.getName())),lt.forEach($=>{$.setSession(Wn.current),$.clearListeners(),$.addStatusChangeListener(at=>{p==null||p.debug(`${$.getName()} status: ${at}`),On(yn=>{const Gt=new Map(yn);return Gt.set($.getName(),at),Gt}),at==="connected"&&!tn.current&&(q.context&&$.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:q.context}}).catch(()=>{}),q.tools&&Array.isArray(q.tools)&&$.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:q.tools.map(yn=>yn.schema)}}}).catch(()=>{}))}),$.addPacketListener(ea($,_t,sn,lt,x)),$.autostart&&$.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${$.getName()}`),$.connect(Wn.current).catch(()=>{}),sn(!1))}))},[]),Z.useEffect(()=>{R||!v||v==="new"||zt.sync(v).then($=>{if($.length>0){const at=En($);_t(x?x(at):at),p==null||p.debug(`Loaded ${$.length} messages for session ${v}`)}}).catch($=>{p==null||p.error("Failed to load session messages:",$)})},[]),Z.useEffect(()=>{if(!R||!It){_t([]);return}if(tn.current||It===Wn.current)return;tn.current=!0,p==null||p.info("Switching to thread:",It),(async()=>{try{const at=lt.filter(Jt=>Jt.status==="connected");at.length>0&&await Promise.allSettled(at.map(Jt=>Jt.disconnect())),Wn.current=It,await Promise.allSettled(lt.map(Jt=>Jt.setSession(It)));const yn=await zt.sync(It),Gt=En(yn);_t(x?x(Gt):Gt),p==null||p.debug(`Loaded ${yn.length} messages for thread ${It}`);const mn=lt.filter(Jt=>Jt.autostart);mn.length>0&&await Promise.allSettled(mn.map(Jt=>Jt.connect(It)))}catch(at){p==null||p.error("Failed to switch thread:",at),_t([])}finally{tn.current=!1}})()},[It,R,lt,zt,x,p]);const on=Z.useCallback(oa(lt,_t,sn,x,p),[lt,x,p]),nn=Z.useCallback(aa(lt,dt,_t,sn,x,p),[lt,dt,x,p]),Er=Z.useCallback(fa(lt,dt,_t,sn,x,p),[lt,dt,x,p]),qn=Z.useCallback(ca(lt,_t,sn,x),[lt,x]),Dt=Z.useCallback($=>{const at=En([...$]);_t(x?x(at):at)},[x]),Lr=Z.useCallback(()=>dt,[dt]),Fe=Z.useMemo(()=>{if(R)return _a(It,Le,We,Oe,zt,M,I,D,T,k)},[R,It,Le,zt,M,I,D,T,k,p]),Or=ue.useExternalStoreRuntime({isRunning:wn,messages:dt,convertMessage:zo,setMessages:Dt,onNew:on,onEdit:nn,onCancel:qn,onReload:Er,adapters:{...tt?{attachments:new ue.CompositeAttachmentAdapter([new ue.SimpleImageAttachmentAdapter,new ue.SimpleTextAttachmentAdapter,new $o])}:{},...Fe?{threadList:Fe}:{}}});return qt.jsx(ae.Provider,{value:{protocols:lt,protocolsStatus:Ht,getMessages:Lr},children:qt.jsx(ue.AssistantRuntimeProvider,{runtime:Or,children:_})})}function wa({children:h,...f}){return qt.jsx(va,{...f,children:h})}class ya{constructor(){L(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 Ln(h,f,i){return{type:h,description:f,...i}}function uu(h){const f=Object.entries(h.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:h.name,description:h.description,config:{timeout:h.timeout||60,parameters:{type:"object",title:h.title||`${h.name} parameters`,required:f,properties:h.parameters},output:{type:"object",title:`${h.name} output`,properties:h.output}}}}function Ee(h){return{schema:uu(h),implementation:h.implementation}}function su(h,f,i,p,_,v){const x={name:h,description:f,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return Ee(x)}const ma=su("sum","Sum two numbers",function(f,i){return{result:f+i}},{a:Ln("number","First number to sum",{required:!0}),b:Ln("number","Second number to sum",{required:!0})},{result:Ln("number","Sum of two numbers")}),xa=Ee({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:Ln("number","First number to sum"),b:Ln("number","Seconth number to sum")},output:{result:Ln("number","Sum of two numbers")},implementation:function(f,i){return{result:f+i}}});function Sa(h){const f=[],i={};return h.forEach(p=>{const{schema:_,implementation:v}=Ee(p);f.push(_),i[p.name]=v}),{schemas:f,implementations:i}}function Aa(h,f){const{required:i,properties:p}=f.config.parameters;for(const _ of i)if(!(_ in h))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(h)){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}return Q.PersonaConsoleLogger=ya,Q.PersonaProtocolBase=se,Q.PersonaRESTProtocol=Pr,Q.PersonaRuntimeProvider=wa,Q.PersonaSessionStorage=iu,Q.PersonaTransactionProtocol=tu,Q.PersonaWebRTCProtocol=Tr,Q.PersonaWebSocketProtocol=Rr,Q.createParameter=Ln,Q.createTool=Ee,Q.createToolFromFunction=su,Q.createToolRegistry=Sa,Q.generateToolSchema=uu,Q.navigateToToolExample=xa,Q.sumTool=ma,Q.usePersonaRuntime=la,Q.usePersonaRuntimeEndpoint=ha,Q.usePersonaRuntimeMessages=pa,Q.usePersonaRuntimeProtocol=eu,Q.usePersonaRuntimeWebRTCProtocol=da,Q.validateToolParameters=Aa,Object.defineProperty(Q,Symbol.toStringTag,{value:"Module"}),Q}({},React,React,AssistantUI);
28
28
  //# sourceMappingURL=bundle.iife.js.map