@applica-software-guru/persona-sdk 0.1.84 → 0.1.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -0
- package/dist/bundle.cjs.js +18 -18
- package/dist/bundle.cjs.js.map +1 -1
- package/dist/bundle.es.js +3345 -2891
- package/dist/bundle.es.js.map +1 -1
- package/dist/bundle.iife.js +17 -17
- package/dist/bundle.iife.js.map +1 -1
- package/dist/bundle.umd.js +18 -18
- package/dist/bundle.umd.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/messages.d.ts +2 -0
- package/dist/messages.d.ts.map +1 -1
- package/dist/protocol/webrtc.d.ts.map +1 -1
- package/dist/protocol/websocket.d.ts.map +1 -1
- package/dist/runtime/context.d.ts +34 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/handlers.d.ts +21 -0
- package/dist/runtime/handlers.d.ts.map +1 -0
- package/dist/runtime/listeners.d.ts +6 -0
- package/dist/runtime/listeners.d.ts.map +1 -0
- package/dist/runtime/protocols.d.ts +17 -0
- package/dist/runtime/protocols.d.ts.map +1 -0
- package/dist/runtime/threads.d.ts +35 -0
- package/dist/runtime/threads.d.ts.map +1 -0
- package/dist/runtime/utils.d.ts +10 -0
- package/dist/runtime/utils.d.ts.map +1 -0
- package/dist/runtime.d.ts +4 -22
- package/dist/runtime.d.ts.map +1 -1
- package/dist/storage/base.d.ts +19 -0
- package/dist/storage/base.d.ts.map +1 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/persona.d.ts +30 -0
- package/dist/storage/persona.d.ts.map +1 -0
- package/dist/types.d.ts +51 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
- package/playground/src/chat.tsx +51 -66
- package/playground/src/components/assistant-ui/thread-list.tsx +45 -12
- package/playground/src/components/assistant-ui/thread.tsx +34 -96
- package/playground/src/components/assistant-ui/threadlist-sidebar.tsx +59 -0
- package/playground/src/components/chat/logging.tsx +53 -0
- package/playground/src/components/ui/input.tsx +21 -0
- package/playground/src/components/ui/separator.tsx +26 -0
- package/playground/src/components/ui/sheet.tsx +139 -0
- package/playground/src/components/ui/sidebar.tsx +619 -0
- package/playground/src/components/ui/skeleton.tsx +13 -0
- package/playground/src/components/ui/tooltip.tsx +0 -2
- package/playground/src/hooks/theme.ts +70 -0
- package/playground/src/hooks/use-mobile.ts +19 -0
- package/src/index.ts +1 -0
- package/src/messages.ts +98 -8
- package/src/protocol/webrtc.ts +1 -0
- package/src/protocol/websocket.ts +5 -2
- package/src/runtime/context.ts +88 -0
- package/src/runtime/handlers.ts +276 -0
- package/src/runtime/index.ts +6 -0
- package/src/runtime/listeners.ts +79 -0
- package/src/runtime/protocols.ts +169 -0
- package/src/runtime/threads.ts +120 -0
- package/src/runtime/utils.ts +46 -0
- package/src/runtime.tsx +226 -326
- package/src/storage/base.ts +21 -0
- package/src/storage/index.ts +2 -0
- package/src/storage/persona.ts +132 -0
- package/src/types.ts +64 -2
package/dist/bundle.umd.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
(function($,pn){typeof exports=="object"&&typeof module<"u"?pn(exports,require("react/jsx-runtime"),require("react"),require("@assistant-ui/react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@assistant-ui/react"],pn):($=typeof globalThis<"u"?globalThis:$||self,pn($.personaSDK={},$.React,$.React,$.AssistantUI))})(this,function($,pn,tn,Ce){"use strict";var qd=Object.defineProperty;var Kd=($,pn,tn)=>pn in $?qd($,pn,{enumerable:!0,configurable:!0,writable:!0,value:tn}):$[pn]=tn;var E=($,pn,tn)=>Kd($,typeof pn!="symbol"?pn+"":pn,tn);function Po(y){return y.filter(p=>p.finishReason==="stop"?p.text!==null&&p.text.trim()!=="":!0)}function Hi(y){const p=[];let i=null;for(const m of y)if(m.type!=="transaction")if(m.file){i&&(p.push(i),i=null),p.push(m);continue}else m.functionCalls?(i&&p.push(i),p.push(m),i=null):m.functionResponse?p[p.length-1]={...p[p.length-1],functionResponse:m.functionResponse}:i&&m.type===i.type&&m.protocol===i.protocol&&i.role===m.role?(i.text+=m.text,i.file=i.file||m.file):(i&&p.push(i),i={...m,text:m.file?"":m.text,finishReason:m.file?void 0:m.finishReason});return i&&p.push(i),Po(p)}function Eo(y){var i;const p=y.file?[{type:"file",data:y.file.url,mimeType:y.file.contentType}]:[];return y.role==="function"?{id:y.id,role:"assistant",status:(y==null?void 0:y.functionResponse)===null?{type:"running"}:{type:"complete",reason:"stop"},content:((i=y.functionCalls)==null?void 0:i.map(w=>{var m;return{type:"tool-call",toolName:w.name,toolCallId:w.id,args:w.args,result:(m=y.functionResponse)==null?void 0:m.result}}))??[]}:{id:y.id,role:y.role,content:y.type==="reasoning"?[{type:"reasoning",text:y.text},...p]:[{type:"text",text:y.text},...p]}}class jt{constructor(){E(this,"statusChangeCallbacks",[]);E(this,"messageCallbacks",[])}addStatusChangeListener(p){this.statusChangeCallbacks.push(p)}addPacketListener(p){this.messageCallbacks.push(p)}async syncSession(p){this.session=p}async notifyPacket(p){this.messageCallbacks.forEach(i=>i(p))}async notifyPackets(p){p.forEach(i=>{this.messageCallbacks.forEach(w=>w(i))})}async setSession(p){this.session=p}async setStatus(p){const i=this.status!==p;this.status=p,i&&this.statusChangeCallbacks.forEach(w=>w(p))}clearListeners(){this.statusChangeCallbacks=[],this.messageCallbacks=[]}onTransaction(p){}}class xr extends jt{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"notify",!0);E(this,"context",{});E(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 K,rn,Rn,un,Tn;const{apiUrl:w,apiKey:m,agentId:R}=this.config,C=this.session??"new";if(i.type==="command"&&((K=i==null?void 0:i.payload)==null?void 0:K.command)=="set_initial_context"){this.context=(rn=i==null?void 0:i.payload)==null?void 0:rn.arguments;return}else if(i.type==="command"&&((Rn=i==null?void 0:i.payload)==null?void 0:Rn.command)=="set_local_tools"){const dn=(un=i==null?void 0:i.payload)==null?void 0:un.arguments.tools;(dn==null?void 0:dn.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const O=i.payload;try{const Pn=await(await fetch(`${w}/sessions/${C}/messages`,{body:JSON.stringify({agentId:R,userMessage:O,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":m}})).json();this.notifyPackets(Pn.response.messages.map(gt=>({type:"message",payload:gt})))}catch(dn){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(Tn=this.config.logger)==null||Tn.error("Error sending packet:",dn)}}}class Sr extends jt{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(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 w;(w=this.config.logger)==null||w.debug("Syncing session with WebSocket protocol:",i),this.session=i,this.webSocket&&this.status==="connected"&&(this.disconnect(),this.connect(i))}connect(i){var O;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const w=i||this.session||"new";(O=this.config.logger)==null||O.debug("Connecting to WebSocket with sessionId:",w);const m=encodeURIComponent(this.config.apiKey),R=this.config.agentId,C=`${this.config.webSocketUrl}?sessionCode=${w}&agentId=${R}&apiKey=${m}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(C),this.webSocket.addEventListener("open",()=>{this.setStatus("connected")}),this.webSocket.addEventListener("message",K=>{const rn=JSON.parse(K.data);this.notifyPacket(rn)}),this.webSocket.addEventListener("close",K=>{var rn;this.setStatus("disconnected"),this.webSocket=null,K.code!==1e3&&(this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"Oops! The connection to the server was lost. Please try again later."}}),(rn=this.config.logger)==null||rn.warn("WebSocket connection closed"))}),this.webSocket.addEventListener("error",()=>{var K;this.setStatus("disconnected"),this.webSocket=null,(K=this.config.logger)==null||K.error("WebSocket connection error")}),Promise.resolve(w)}disconnect(){var i;return(i=this.config.logger)==null||i.debug("Disconnecting WebSocket"),this.webSocket&&this.status==="connected"&&(this.webSocket.close(),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 Io{constructor(p){E(this,"config");E(this,"pc",null);E(this,"ws",null);E(this,"localStream",null);E(this,"remoteStream",new MediaStream);E(this,"audioCtx",null);E(this,"localAnalyser",null);E(this,"remoteAnalyser",null);E(this,"analyzerFrame",null);E(this,"dataChannel",null);E(this,"isConnected",!1);E(this,"visualizerCallbacks",[]);E(this,"messageCallbacks",[]);E(this,"errorCallbacks",[]);E(this,"queuedMessages",[]);this.config=p}async connect(p){var w;if(this.isConnected)return;this.isConnected=!0;try{this.localStream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(m){(w=this.config.logger)==null||w.error("Error accessing microphone:",m);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(m=>{this.pc.addTrack(m,this.localStream)}),this.pc.ontrack=m=>{m.streams[0].getTracks().forEach(C=>{this.remoteStream.addTrack(C)}),this.audioCtx||this._startAnalyzers();const R=new Audio;R.srcObject=this.remoteStream,R.play().catch(C=>{var O;(O=this.config.logger)==null||O.error("Error playing remote audio:",C)})},this.pc.onicecandidate=m=>{var R;m.candidate&&((R=this.ws)==null?void 0:R.readyState)===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"CANDIDATE",src:"client",payload:{candidate:m.candidate}}))},this.pc.ondatachannel=m=>{const R=m.channel;R.onmessage=C=>{this.messageCallbacks.forEach(O=>{O(C)})},R.onopen=()=>{var C;for(;this.queuedMessages.length>0;){const O=this.queuedMessages.shift();O&&(R.send(JSON.stringify(O)),(C=this.config.logger)==null||C.info("Sent queued message:",O))}}};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 O,K;const m=await this.pc.createOffer();await this.pc.setLocalDescription(m);const R={apiKey:this.config.apiKey,agentId:this.config.agentId,sessionCode:p};(O=this.config.logger)==null||O.debug("Opening connection to WebRTC server: ",R);const C={type:"OFFER",src:((K=crypto.randomUUID)==null?void 0:K.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:m.sdp,type:m.type},connectionId:(Date.now()%1e6).toString(),metadata:R}};this.ws.send(JSON.stringify(C))},this.ws.onmessage=async m=>{var C;const R=JSON.parse(m.data);if(R.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(R.payload.sdp));else if(R.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(R.payload.candidate))}catch(O){(C=this.config.logger)==null||C.error("Error adding ICE candidate:",O)}},this.ws.onclose=m=>{m.code!==1e3&&this.errorCallbacks.forEach(R=>{R("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var p;this.isConnected&&(this.isConnected=!1,((p=this.ws)==null?void 0:p.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(p){this.visualizerCallbacks.push(p)}addMessageCallback(p){this.messageCallbacks.push(p)}addErrorCallback(p){this.errorCallbacks.push(p)}createDataChannel(p="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(p),this.dataChannel.onopen=()=>{var i,w;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const m=this.queuedMessages.shift();m&&(this.dataChannel.send(JSON.stringify(m)),(w=this.config.logger)==null||w.info("Sent queued message:",m))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(w=>{w(i)})})}sendPacket(p){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(p);return}this.dataChannel.send(JSON.stringify(p)),(i=this.config.logger)==null||i.info("Sent message:",p)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const p=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,p.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const w=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const m=new Uint8Array(this.localAnalyser.frequencyBinCount),R=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(m),this.remoteAnalyser.getByteFrequencyData(R);const C=m.reduce((K,rn)=>K+rn,0)/m.length,O=R.reduce((K,rn)=>K+rn,0)/R.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(K=>{K({localAmplitude:C,remoteAmplitude:O})}),this.analyzerFrame=requestAnimationFrame(w)};this.analyzerFrame=requestAnimationFrame(w)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Ar extends jt{constructor(i){super();E(this,"status");E(this,"session");E(this,"autostart");E(this,"config");E(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Io(i),this.webRTCClient.addMessageCallback(w=>{const m=JSON.parse(w.data);this.notifyPacket(m)}),this.webRTCClient.addErrorCallback(w=>{var m;(m=this.config.logger)==null||m.error("WebRTC error:",w),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:w}})})}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 w;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(w=this.config.logger)==null||w.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,w,m;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(m=(w=this.config)==null?void 0:w.logger)==null||m.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var ne=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Lo(y){return y&&y.__esModule&&Object.prototype.hasOwnProperty.call(y,"default")?y.default:y}var be={exports:{}};/**
|
|
1
|
+
(function(H,vt){typeof exports=="object"&&typeof module<"u"?vt(exports,require("react/jsx-runtime"),require("react"),require("@assistant-ui/react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@assistant-ui/react"],vt):(H=typeof globalThis<"u"?globalThis:H||self,vt(H.personaSDK={},H.React,H.React,H.AssistantUI))})(this,function(H,vt,J,Ee){"use strict";var u_=Object.defineProperty;var s_=(H,vt,J)=>vt in H?u_(H,vt,{enumerable:!0,configurable:!0,writable:!0,value:J}):H[vt]=J;var D=(H,vt,J)=>s_(H,typeof vt!="symbol"?vt+"":vt,J);let No=0;function Uo(){return`msg_${Date.now()}_${No++}`}function Bo(d){return d.thought&&(d={...d,type:"reasoning"}),d.id?d.createdAt?d:{...d,createdAt:new Date}:{...d,id:Uo(),createdAt:d.createdAt||new Date}}function Mo(d){return d.filter(f=>f.finishReason==="stop"?f.text!==null&&f.text.trim()!=="":!0)}function $n(d){const f=[];let i=null;for(let _ of d)if(_=Bo(_),_.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&&f.push(i),i={..._,text:_.file?"":_.text,finishReason:_.file?void 0:_.finishReason});return i&&f.push(i),Mo(f)}function $o(d){var _,v,S;const f=d.file?[{type:"file",data:d.file.url,mimeType:d.file.contentType}]:[];let i;if((d.role==="assistant"||d.role==="function")&&(d.status?i=d.status:d.finishReason==="stop"?i={type:"complete",reason:"stop"}:d.finishReason==="function_call"?i={type:"complete",reason:"stop"}:d.finishReason||(i=void 0)),d.role==="function"){const E={id:d.id,role:"assistant",createdAt:d.createdAt,content:((_=d.functionCalls)==null?void 0:_.map(C=>{var M;return{type:"tool-call",toolName:C.name,toolCallId:C.id||`tool_${Date.now()}`,args:C.args,result:(M=d.functionResponse)==null?void 0:M.result}}))??[],metadata:{...d.metadata,custom:{protocol:d.protocol,sessionId:d.sessionId,sources:d.sources,...(v=d.metadata)==null?void 0:v.custom}}};return i?{...E,status:i}:E}const p={id:d.id,role:d.role,createdAt:d.createdAt,content:d.type==="reasoning"?[{type:"reasoning",text:d.text},...f]:[{type:"text",text:d.text},...f],metadata:{...d.metadata,custom:{protocol:d.protocol,sessionId:d.sessionId,sources:d.sources,type:d.type,...(S=d.metadata)==null?void 0:S.custom}}};return d.role==="assistant"&&i?{...p,status:i}:p}class ue{constructor(){D(this,"statusChangeCallbacks",[]);D(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=[]}onTransaction(f){}}class Pr extends ue{constructor(i){super();D(this,"status");D(this,"autostart");D(this,"session");D(this,"config");D(this,"notify",!0);D(this,"context",{});D(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 C,M,R,P,T;const{apiUrl:p,apiKey:_,agentId:v}=this.config,S=this.session??"new";if(i.type==="command"&&((C=i==null?void 0:i.payload)==null?void 0:C.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 F=(P=i==null?void 0:i.payload)==null?void 0:P.arguments.tools;(F==null?void 0:F.length)>0&&this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:"Local tools with rest protocol are not supported."}});return}const E=i.payload;try{const Y=await(await fetch(`${p}/sessions/${S}/messages`,{body:JSON.stringify({agentId:v,userMessage:E,initialContext:this.context,tools:this.tools}),method:"POST",headers:{"Content-Type":"application/json","x-persona-apikey":_}})).json();this.notifyPackets(Y.response.messages.map(q=>({type:"message",payload:q})))}catch(F){this.notifyPacket({type:"message",payload:{role:"assistant",type:"text",text:"An error occurred while processing your request. Please try again later."}}),(T=this.config.logger)==null||T.error("Error sending packet:",F)}}}class Ir extends ue{constructor(i){super();D(this,"status");D(this,"autostart");D(this,"session");D(this,"config");D(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 C;if(this.webSocket!==null&&this.status==="connected")return Promise.resolve(this.session);const p=i||this.session||"new";(C=this.config.logger)==null||C.debug("Connecting to WebSocket with sessionId:",p);const _=encodeURIComponent(this.config.apiKey),v=this.config.agentId,S=this.config.userId||"anonymous",E=`${this.config.webSocketUrl}?sessionCode=${p}&agentId=${v}&apiKey=${_}&userId=${encodeURIComponent(S)}`;return this.setStatus("connecting"),this.webSocket=new WebSocket(E),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 Ko{constructor(f){D(this,"config");D(this,"pc",null);D(this,"ws",null);D(this,"localStream",null);D(this,"remoteStream",new MediaStream);D(this,"audioCtx",null);D(this,"localAnalyser",null);D(this,"remoteAnalyser",null);D(this,"analyzerFrame",null);D(this,"dataChannel",null);D(this,"isConnected",!1);D(this,"visualizerCallbacks",[]);D(this,"messageCallbacks",[]);D(this,"errorCallbacks",[]);D(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(S=>{this.remoteStream.addTrack(S)}),this.audioCtx||this._startAnalyzers();const v=new Audio;v.srcObject=this.remoteStream,v.play().catch(S=>{var E;(E=this.config.logger)==null||E.error("Error playing remote audio:",S)})},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=S=>{this.messageCallbacks.forEach(E=>{E(S)})},v.onopen=()=>{var S;for(;this.queuedMessages.length>0;){const E=this.queuedMessages.shift();E&&(v.send(JSON.stringify(E)),(S=this.config.logger)==null||S.info("Sent queued message:",E))}}};const i=this.config.webrtcUrl||"wss://persona.applica.guru/api/webrtc";this.ws=new WebSocket(`${i}?apiKey=${encodeURIComponent(this.config.apiKey)}`),this.ws.onopen=async()=>{var E,C;const _=await this.pc.createOffer();await this.pc.setLocalDescription(_);const v={apiKey:this.config.apiKey,agentId:this.config.agentId,userId:this.config.userId||"anonymous",sessionCode:f};(E=this.config.logger)==null||E.debug("Opening connection to WebRTC server: ",v);const S={type:"OFFER",src:((C=crypto.randomUUID)==null?void 0:C.call(crypto))||"client_"+Date.now(),payload:{sdp:{sdp:_.sdp,type:_.type},connectionId:(Date.now()%1e6).toString(),metadata:v}};this.ws.send(JSON.stringify(S))},this.ws.onmessage=async _=>{var S;const v=JSON.parse(_.data);if(v.type==="ANSWER")await this.pc.setRemoteDescription(new RTCSessionDescription(v.payload.sdp));else if(v.type==="CANDIDATE")try{await this.pc.addIceCandidate(new RTCIceCandidate(v.payload.candidate))}catch(E){(S=this.config.logger)==null||S.error("Error adding ICE candidate:",E)}},this.ws.onclose=_=>{_.code!==1e3&&this.errorCallbacks.forEach(v=>{v("Oops! The connection to the server was lost. Please try again later.")}),this._stopAnalyzers()}}async disconnect(){var f;this.isConnected&&(this.isConnected=!1,((f=this.ws)==null?void 0:f.readyState)===WebSocket.OPEN&&this.ws.close(),this.pc&&this.pc.close(),this.localStream&&this.localStream.getTracks().forEach(i=>i.stop()),this.remoteStream=new MediaStream,this.audioCtx&&(await this.audioCtx.close(),this.audioCtx=null),this._stopAnalyzers())}addVisualizerCallback(f){this.visualizerCallbacks.push(f)}addMessageCallback(f){this.messageCallbacks.push(f)}addErrorCallback(f){this.errorCallbacks.push(f)}createDataChannel(f="messages"){this.pc&&(this.dataChannel=this.pc.createDataChannel(f),this.dataChannel.onopen=()=>{var i,p;for((i=this.config.logger)==null||i.info("Data channel opened");this.queuedMessages.length>0;){const _=this.queuedMessages.shift();_&&(this.dataChannel.send(JSON.stringify(_)),(p=this.config.logger)==null||p.info("Sent queued message:",_))}},this.dataChannel.onmessage=i=>{this.messageCallbacks.forEach(p=>{p(i)})})}sendPacket(f){var i;if(!this.dataChannel||this.dataChannel.readyState!=="open"){this.queuedMessages.push(f);return}this.dataChannel.send(JSON.stringify(f)),(i=this.config.logger)==null||i.info("Sent message:",f)}_startAnalyzers(){if(!this.localStream||!this.remoteStream||this.visualizerCallbacks.length===0)return;this.audioCtx=new(window.AudioContext||window.webkitAudioContext);const f=this.audioCtx.createMediaStreamSource(this.localStream),i=this.audioCtx.createMediaStreamSource(this.remoteStream);this.localAnalyser=this.audioCtx.createAnalyser(),this.remoteAnalyser=this.audioCtx.createAnalyser(),this.localAnalyser.fftSize=256,this.remoteAnalyser.fftSize=256,f.connect(this.localAnalyser),i.connect(this.remoteAnalyser);const p=()=>{if(!this.localAnalyser||!this.remoteAnalyser||this.visualizerCallbacks.length===0)return;const _=new Uint8Array(this.localAnalyser.frequencyBinCount),v=new Uint8Array(this.remoteAnalyser.frequencyBinCount);this.localAnalyser.getByteFrequencyData(_),this.remoteAnalyser.getByteFrequencyData(v);const S=_.reduce((C,M)=>C+M,0)/_.length,E=v.reduce((C,M)=>C+M,0)/v.length;this.visualizerCallbacks.length>0&&this.visualizerCallbacks.forEach(C=>{C({localAmplitude:S,remoteAmplitude:E})}),this.analyzerFrame=requestAnimationFrame(p)};this.analyzerFrame=requestAnimationFrame(p)}_stopAnalyzers(){this.analyzerFrame&&(cancelAnimationFrame(this.analyzerFrame),this.analyzerFrame=null),this.localAnalyser=null,this.remoteAnalyser=null}}class Rr extends ue{constructor(i){super();D(this,"status");D(this,"session");D(this,"autostart");D(this,"config");D(this,"webRTCClient");this.config=i,this.status="disconnected",this.session=null,this.autostart=(i==null?void 0:i.autostart)??!1,this.webRTCClient=new Ko(i),this.webRTCClient.addMessageCallback(p=>{const _=JSON.parse(p.data);this.notifyPacket(_)}),this.webRTCClient.addErrorCallback(p=>{var _;(_=this.config.logger)==null||_.error("WebRTC error:",p),this.notifyPacket({type:"message",payload:{type:"text",role:"assistant",text:p}})})}getName(){return"webrtc"}getPriority(){return 1e3}async syncSession(i){super.syncSession(i),this.status==="connected"&&(await this.disconnect(),await this.connect(i))}async connect(i){var p;return this.status==="connected"?Promise.resolve(this.session):(this.session=i||this.session||"new",this.setStatus("connecting"),(p=this.config.logger)==null||p.debug("Connecting to WebRTC with sessionId:",this.session),await this.webRTCClient.connect(this.session),this.setStatus("connected"),await this.webRTCClient.createDataChannel(),this.session)}async disconnect(){var i,p,_;if(this.status==="disconnected")return(i=this.config.logger)==null||i.warn("Already disconnected"),Promise.resolve();await this.webRTCClient.disconnect(),this.setStatus("disconnected"),(_=(p=this.config)==null?void 0:p.logger)==null||_.debug("Disconnected from WebRTC")}sendPacket(i){return this.status!=="connected"?Promise.reject(new Error("Not connected")):(this.webRTCClient.sendPacket(i),Promise.resolve())}}var se=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function qo(d){return d&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d}var Te={exports:{}};/**
|
|
2
2
|
* @license
|
|
3
3
|
* Lodash <https://lodash.com/>
|
|
4
4
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
5
5
|
* Released under MIT license <https://lodash.com/license>
|
|
6
6
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
7
7
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
8
|
-
*/be.exports,function(y,p){(function(){var i,w="4.17.21",m=200,R="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",C="Expected a function",O="Invalid `variable` option passed into `_.template`",K="__lodash_hash_undefined__",rn=500,Rn="__lodash_placeholder__",un=1,Tn=2,dn=4,Pn=1,gt=2,yn=1,xn=2,Te=4,Hn=8,bt=16,kn=32,Rt=64,F=128,en=256,H=512,Fn=30,sn="...",Un=800,Q=16,_n=1,Yo=2,Xo=3,Tt=1/0,pt=9007199254740991,Qo=17976931348623157e292,Pe=NaN,jn=4294967295,Vo=jn-1,jo=jn>>>1,na=[["ary",F],["bind",yn],["bindKey",xn],["curry",Hn],["curryRight",bt],["flip",H],["partial",kn],["partialRight",Rt],["rearg",en]],Dt="[object Arguments]",Ee="[object Array]",ta="[object AsyncFunction]",ee="[object Boolean]",re="[object Date]",ea="[object DOMException]",Ie="[object Error]",Le="[object Function]",Xi="[object GeneratorFunction]",Jn="[object Map]",ie="[object Number]",ra="[object Null]",rt="[object Object]",Qi="[object Promise]",ia="[object Proxy]",ue="[object RegExp]",Zn="[object Set]",se="[object String]",Oe="[object Symbol]",ua="[object Undefined]",oe="[object WeakMap]",sa="[object WeakSet]",ae="[object ArrayBuffer]",Nt="[object DataView]",Cr="[object Float32Array]",br="[object Float64Array]",Rr="[object Int8Array]",Tr="[object Int16Array]",Pr="[object Int32Array]",Er="[object Uint8Array]",Ir="[object Uint8ClampedArray]",Lr="[object Uint16Array]",Or="[object Uint32Array]",oa=/\b__p \+= '';/g,aa=/\b(__p \+=) '' \+/g,fa=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Vi=/&(?:amp|lt|gt|quot|#39);/g,ji=/[&<>"']/g,la=RegExp(Vi.source),ca=RegExp(ji.source),ha=/<%-([\s\S]+?)%>/g,ga=/<%([\s\S]+?)%>/g,nu=/<%=([\s\S]+?)%>/g,pa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,da=/^\w*$/,_a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Wr=/[\\^$.*+?()[\]{}|]/g,va=RegExp(Wr.source),Mr=/^\s+/,wa=/\s/,ma=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ya=/\{\n\/\* \[wrapped with (.+)\] \*/,xa=/,? & /,Sa=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Aa=/[()=,{}\[\]\/\s]/,Ca=/\\(\\)?/g,ba=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,tu=/\w*$/,Ra=/^[-+]0x[0-9a-f]+$/i,Ta=/^0b[01]+$/i,Pa=/^\[object .+?Constructor\]$/,Ea=/^0o[0-7]+$/i,Ia=/^(?:0|[1-9]\d*)$/,La=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,We=/($^)/,Oa=/['\n\r\u2028\u2029\\]/g,Me="\\ud800-\\udfff",Wa="\\u0300-\\u036f",Ma="\\ufe20-\\ufe2f",Fa="\\u20d0-\\u20ff",eu=Wa+Ma+Fa,ru="\\u2700-\\u27bf",iu="a-z\\xdf-\\xf6\\xf8-\\xff",Ua="\\xac\\xb1\\xd7\\xf7",Da="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Na="\\u2000-\\u206f",Ba=" \\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",uu="A-Z\\xc0-\\xd6\\xd8-\\xde",su="\\ufe0e\\ufe0f",ou=Ua+Da+Na+Ba,Fr="['’]",$a="["+Me+"]",au="["+ou+"]",Fe="["+eu+"]",fu="\\d+",qa="["+ru+"]",lu="["+iu+"]",cu="[^"+Me+ou+fu+ru+iu+uu+"]",Ur="\\ud83c[\\udffb-\\udfff]",Ka="(?:"+Fe+"|"+Ur+")",hu="[^"+Me+"]",Dr="(?:\\ud83c[\\udde6-\\uddff]){2}",Nr="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+uu+"]",gu="\\u200d",pu="(?:"+lu+"|"+cu+")",Ga="(?:"+Bt+"|"+cu+")",du="(?:"+Fr+"(?:d|ll|m|re|s|t|ve))?",_u="(?:"+Fr+"(?:D|LL|M|RE|S|T|VE))?",vu=Ka+"?",wu="["+su+"]?",za="(?:"+gu+"(?:"+[hu,Dr,Nr].join("|")+")"+wu+vu+")*",Ha="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ka="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",mu=wu+vu+za,Ja="(?:"+[qa,Dr,Nr].join("|")+")"+mu,Za="(?:"+[hu+Fe+"?",Fe,Dr,Nr,$a].join("|")+")",Ya=RegExp(Fr,"g"),Xa=RegExp(Fe,"g"),Br=RegExp(Ur+"(?="+Ur+")|"+Za+mu,"g"),Qa=RegExp([Bt+"?"+lu+"+"+du+"(?="+[au,Bt,"$"].join("|")+")",Ga+"+"+_u+"(?="+[au,Bt+pu,"$"].join("|")+")",Bt+"?"+pu+"+"+du,Bt+"+"+_u,ka,Ha,fu,Ja].join("|"),"g"),Va=RegExp("["+gu+Me+eu+su+"]"),ja=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nf=["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"],tf=-1,Z={};Z[Cr]=Z[br]=Z[Rr]=Z[Tr]=Z[Pr]=Z[Er]=Z[Ir]=Z[Lr]=Z[Or]=!0,Z[Dt]=Z[Ee]=Z[ae]=Z[ee]=Z[Nt]=Z[re]=Z[Ie]=Z[Le]=Z[Jn]=Z[ie]=Z[rt]=Z[ue]=Z[Zn]=Z[se]=Z[oe]=!1;var J={};J[Dt]=J[Ee]=J[ae]=J[Nt]=J[ee]=J[re]=J[Cr]=J[br]=J[Rr]=J[Tr]=J[Pr]=J[Jn]=J[ie]=J[rt]=J[ue]=J[Zn]=J[se]=J[Oe]=J[Er]=J[Ir]=J[Lr]=J[Or]=!0,J[Ie]=J[Le]=J[oe]=!1;var ef={À:"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"},rf={"&":"&","<":"<",">":">",'"':""","'":"'"},uf={"&":"&","<":"<",">":">",""":'"',"'":"'"},sf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},of=parseFloat,af=parseInt,yu=typeof ne=="object"&&ne&&ne.Object===Object&&ne,ff=typeof self=="object"&&self&&self.Object===Object&&self,ln=yu||ff||Function("return this")(),$r=p&&!p.nodeType&&p,Pt=$r&&!0&&y&&!y.nodeType&&y,xu=Pt&&Pt.exports===$r,qr=xu&&yu.process,Dn=function(){try{var l=Pt&&Pt.require&&Pt.require("util").types;return l||qr&&qr.binding&&qr.binding("util")}catch{}}(),Su=Dn&&Dn.isArrayBuffer,Au=Dn&&Dn.isDate,Cu=Dn&&Dn.isMap,bu=Dn&&Dn.isRegExp,Ru=Dn&&Dn.isSet,Tu=Dn&&Dn.isTypedArray;function En(l,g,h){switch(h.length){case 0:return l.call(g);case 1:return l.call(g,h[0]);case 2:return l.call(g,h[0],h[1]);case 3:return l.call(g,h[0],h[1],h[2])}return l.apply(g,h)}function lf(l,g,h,S){for(var I=-1,q=l==null?0:l.length;++I<q;){var on=l[I];g(S,on,h(on),l)}return S}function Nn(l,g){for(var h=-1,S=l==null?0:l.length;++h<S&&g(l[h],h,l)!==!1;);return l}function cf(l,g){for(var h=l==null?0:l.length;h--&&g(l[h],h,l)!==!1;);return l}function Pu(l,g){for(var h=-1,S=l==null?0:l.length;++h<S;)if(!g(l[h],h,l))return!1;return!0}function dt(l,g){for(var h=-1,S=l==null?0:l.length,I=0,q=[];++h<S;){var on=l[h];g(on,h,l)&&(q[I++]=on)}return q}function Ue(l,g){var h=l==null?0:l.length;return!!h&&$t(l,g,0)>-1}function Kr(l,g,h){for(var S=-1,I=l==null?0:l.length;++S<I;)if(h(g,l[S]))return!0;return!1}function Y(l,g){for(var h=-1,S=l==null?0:l.length,I=Array(S);++h<S;)I[h]=g(l[h],h,l);return I}function _t(l,g){for(var h=-1,S=g.length,I=l.length;++h<S;)l[I+h]=g[h];return l}function Gr(l,g,h,S){var I=-1,q=l==null?0:l.length;for(S&&q&&(h=l[++I]);++I<q;)h=g(h,l[I],I,l);return h}function hf(l,g,h,S){var I=l==null?0:l.length;for(S&&I&&(h=l[--I]);I--;)h=g(h,l[I],I,l);return h}function zr(l,g){for(var h=-1,S=l==null?0:l.length;++h<S;)if(g(l[h],h,l))return!0;return!1}var gf=Hr("length");function pf(l){return l.split("")}function df(l){return l.match(Sa)||[]}function Eu(l,g,h){var S;return h(l,function(I,q,on){if(g(I,q,on))return S=q,!1}),S}function De(l,g,h,S){for(var I=l.length,q=h+(S?1:-1);S?q--:++q<I;)if(g(l[q],q,l))return q;return-1}function $t(l,g,h){return g===g?Tf(l,g,h):De(l,Iu,h)}function _f(l,g,h,S){for(var I=h-1,q=l.length;++I<q;)if(S(l[I],g))return I;return-1}function Iu(l){return l!==l}function Lu(l,g){var h=l==null?0:l.length;return h?Jr(l,g)/h:Pe}function Hr(l){return function(g){return g==null?i:g[l]}}function kr(l){return function(g){return l==null?i:l[g]}}function Ou(l,g,h,S,I){return I(l,function(q,on,k){h=S?(S=!1,q):g(h,q,on,k)}),h}function vf(l,g){var h=l.length;for(l.sort(g);h--;)l[h]=l[h].value;return l}function Jr(l,g){for(var h,S=-1,I=l.length;++S<I;){var q=g(l[S]);q!==i&&(h=h===i?q:h+q)}return h}function Zr(l,g){for(var h=-1,S=Array(l);++h<l;)S[h]=g(h);return S}function wf(l,g){return Y(g,function(h){return[h,l[h]]})}function Wu(l){return l&&l.slice(0,Du(l)+1).replace(Mr,"")}function In(l){return function(g){return l(g)}}function Yr(l,g){return Y(g,function(h){return l[h]})}function fe(l,g){return l.has(g)}function Mu(l,g){for(var h=-1,S=l.length;++h<S&&$t(g,l[h],0)>-1;);return h}function Fu(l,g){for(var h=l.length;h--&&$t(g,l[h],0)>-1;);return h}function mf(l,g){for(var h=l.length,S=0;h--;)l[h]===g&&++S;return S}var yf=kr(ef),xf=kr(rf);function Sf(l){return"\\"+sf[l]}function Af(l,g){return l==null?i:l[g]}function qt(l){return Va.test(l)}function Cf(l){return ja.test(l)}function bf(l){for(var g,h=[];!(g=l.next()).done;)h.push(g.value);return h}function Xr(l){var g=-1,h=Array(l.size);return l.forEach(function(S,I){h[++g]=[I,S]}),h}function Uu(l,g){return function(h){return l(g(h))}}function vt(l,g){for(var h=-1,S=l.length,I=0,q=[];++h<S;){var on=l[h];(on===g||on===Rn)&&(l[h]=Rn,q[I++]=h)}return q}function Ne(l){var g=-1,h=Array(l.size);return l.forEach(function(S){h[++g]=S}),h}function Rf(l){var g=-1,h=Array(l.size);return l.forEach(function(S){h[++g]=[S,S]}),h}function Tf(l,g,h){for(var S=h-1,I=l.length;++S<I;)if(l[S]===g)return S;return-1}function Pf(l,g,h){for(var S=h+1;S--;)if(l[S]===g)return S;return S}function Kt(l){return qt(l)?If(l):gf(l)}function Yn(l){return qt(l)?Lf(l):pf(l)}function Du(l){for(var g=l.length;g--&&wa.test(l.charAt(g)););return g}var Ef=kr(uf);function If(l){for(var g=Br.lastIndex=0;Br.test(l);)++g;return g}function Lf(l){return l.match(Br)||[]}function Of(l){return l.match(Qa)||[]}var Wf=function l(g){g=g==null?ln:Gt.defaults(ln.Object(),g,Gt.pick(ln,nf));var h=g.Array,S=g.Date,I=g.Error,q=g.Function,on=g.Math,k=g.Object,Qr=g.RegExp,Mf=g.String,Bn=g.TypeError,Be=h.prototype,Ff=q.prototype,zt=k.prototype,$e=g["__core-js_shared__"],qe=Ff.toString,z=zt.hasOwnProperty,Uf=0,Nu=function(){var n=/[^.]+$/.exec($e&&$e.keys&&$e.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),Ke=zt.toString,Df=qe.call(k),Nf=ln._,Bf=Qr("^"+qe.call(z).replace(Wr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ge=xu?g.Buffer:i,wt=g.Symbol,ze=g.Uint8Array,Bu=Ge?Ge.allocUnsafe:i,He=Uu(k.getPrototypeOf,k),$u=k.create,qu=zt.propertyIsEnumerable,ke=Be.splice,Ku=wt?wt.isConcatSpreadable:i,le=wt?wt.iterator:i,Et=wt?wt.toStringTag:i,Je=function(){try{var n=Mt(k,"defineProperty");return n({},"",{}),n}catch{}}(),$f=g.clearTimeout!==ln.clearTimeout&&g.clearTimeout,qf=S&&S.now!==ln.Date.now&&S.now,Kf=g.setTimeout!==ln.setTimeout&&g.setTimeout,Ze=on.ceil,Ye=on.floor,Vr=k.getOwnPropertySymbols,Gf=Ge?Ge.isBuffer:i,Gu=g.isFinite,zf=Be.join,Hf=Uu(k.keys,k),an=on.max,hn=on.min,kf=S.now,Jf=g.parseInt,zu=on.random,Zf=Be.reverse,jr=Mt(g,"DataView"),ce=Mt(g,"Map"),ni=Mt(g,"Promise"),Ht=Mt(g,"Set"),he=Mt(g,"WeakMap"),ge=Mt(k,"create"),Xe=he&&new he,kt={},Yf=Ft(jr),Xf=Ft(ce),Qf=Ft(ni),Vf=Ft(Ht),jf=Ft(he),Qe=wt?wt.prototype:i,pe=Qe?Qe.valueOf:i,Hu=Qe?Qe.toString:i;function s(n){if(V(n)&&!L(n)&&!(n instanceof N)){if(n instanceof $n)return n;if(z.call(n,"__wrapped__"))return ks(n)}return new $n(n)}var Jt=function(){function n(){}return function(t){if(!X(t))return{};if($u)return $u(t);n.prototype=t;var e=new n;return n.prototype=i,e}}();function Ve(){}function $n(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}s.templateSettings={escape:ha,evaluate:ga,interpolate:nu,variable:"",imports:{_:s}},s.prototype=Ve.prototype,s.prototype.constructor=s,$n.prototype=Jt(Ve.prototype),$n.prototype.constructor=$n;function N(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=jn,this.__views__=[]}function nl(){var n=new N(this.__wrapped__);return n.__actions__=Sn(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Sn(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Sn(this.__views__),n}function tl(){if(this.__filtered__){var n=new N(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function el(){var n=this.__wrapped__.value(),t=this.__dir__,e=L(n),r=t<0,u=e?n.length:0,o=pc(0,u,this.__views__),a=o.start,f=o.end,c=f-a,d=r?f:a-1,_=this.__iteratees__,v=_.length,x=0,A=hn(c,this.__takeCount__);if(!e||!r&&u==c&&A==c)return ds(n,this.__actions__);var T=[];n:for(;c--&&x<A;){d+=t;for(var M=-1,P=n[d];++M<v;){var D=_[M],B=D.iteratee,Wn=D.type,mn=B(P);if(Wn==Yo)P=mn;else if(!mn){if(Wn==_n)continue n;break n}}T[x++]=P}return T}N.prototype=Jt(Ve.prototype),N.prototype.constructor=N;function It(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function rl(){this.__data__=ge?ge(null):{},this.size=0}function il(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function ul(n){var t=this.__data__;if(ge){var e=t[n];return e===K?i:e}return z.call(t,n)?t[n]:i}function sl(n){var t=this.__data__;return ge?t[n]!==i:z.call(t,n)}function ol(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=ge&&t===i?K:t,this}It.prototype.clear=rl,It.prototype.delete=il,It.prototype.get=ul,It.prototype.has=sl,It.prototype.set=ol;function it(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function al(){this.__data__=[],this.size=0}function fl(n){var t=this.__data__,e=je(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():ke.call(t,e,1),--this.size,!0}function ll(n){var t=this.__data__,e=je(t,n);return e<0?i:t[e][1]}function cl(n){return je(this.__data__,n)>-1}function hl(n,t){var e=this.__data__,r=je(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}it.prototype.clear=al,it.prototype.delete=fl,it.prototype.get=ll,it.prototype.has=cl,it.prototype.set=hl;function ut(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function gl(){this.size=0,this.__data__={hash:new It,map:new(ce||it),string:new It}}function pl(n){var t=cr(this,n).delete(n);return this.size-=t?1:0,t}function dl(n){return cr(this,n).get(n)}function _l(n){return cr(this,n).has(n)}function vl(n,t){var e=cr(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}ut.prototype.clear=gl,ut.prototype.delete=pl,ut.prototype.get=dl,ut.prototype.has=_l,ut.prototype.set=vl;function Lt(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new ut;++t<e;)this.add(n[t])}function wl(n){return this.__data__.set(n,K),this}function ml(n){return this.__data__.has(n)}Lt.prototype.add=Lt.prototype.push=wl,Lt.prototype.has=ml;function Xn(n){var t=this.__data__=new it(n);this.size=t.size}function yl(){this.__data__=new it,this.size=0}function xl(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}function Sl(n){return this.__data__.get(n)}function Al(n){return this.__data__.has(n)}function Cl(n,t){var e=this.__data__;if(e instanceof it){var r=e.__data__;if(!ce||r.length<m-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new ut(r)}return e.set(n,t),this.size=e.size,this}Xn.prototype.clear=yl,Xn.prototype.delete=xl,Xn.prototype.get=Sl,Xn.prototype.has=Al,Xn.prototype.set=Cl;function ku(n,t){var e=L(n),r=!e&&Ut(n),u=!e&&!r&&At(n),o=!e&&!r&&!u&&Qt(n),a=e||r||u||o,f=a?Zr(n.length,Mf):[],c=f.length;for(var d in n)(t||z.call(n,d))&&!(a&&(d=="length"||u&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||ft(d,c)))&&f.push(d);return f}function Ju(n){var t=n.length;return t?n[ci(0,t-1)]:i}function bl(n,t){return hr(Sn(n),Ot(t,0,n.length))}function Rl(n){return hr(Sn(n))}function ti(n,t,e){(e!==i&&!Qn(n[t],e)||e===i&&!(t in n))&&st(n,t,e)}function de(n,t,e){var r=n[t];(!(z.call(n,t)&&Qn(r,e))||e===i&&!(t in n))&&st(n,t,e)}function je(n,t){for(var e=n.length;e--;)if(Qn(n[e][0],t))return e;return-1}function Tl(n,t,e,r){return mt(n,function(u,o,a){t(r,u,e(u),a)}),r}function Zu(n,t){return n&&tt(t,fn(t),n)}function Pl(n,t){return n&&tt(t,Cn(t),n)}function st(n,t,e){t=="__proto__"&&Je?Je(n,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[t]=e}function ei(n,t){for(var e=-1,r=t.length,u=h(r),o=n==null;++e<r;)u[e]=o?i:Ui(n,t[e]);return u}function Ot(n,t,e){return n===n&&(e!==i&&(n=n<=e?n:e),t!==i&&(n=n>=t?n:t)),n}function qn(n,t,e,r,u,o){var a,f=t&un,c=t&Tn,d=t&dn;if(e&&(a=u?e(n,r,u,o):e(n)),a!==i)return a;if(!X(n))return n;var _=L(n);if(_){if(a=_c(n),!f)return Sn(n,a)}else{var v=gn(n),x=v==Le||v==Xi;if(At(n))return ws(n,f);if(v==rt||v==Dt||x&&!u){if(a=c||x?{}:Ds(n),!f)return c?uc(n,Pl(a,n)):ic(n,Zu(a,n))}else{if(!J[v])return u?n:{};a=vc(n,v,f)}}o||(o=new Xn);var A=o.get(n);if(A)return A;o.set(n,a),ho(n)?n.forEach(function(P){a.add(qn(P,t,e,P,n,o))}):lo(n)&&n.forEach(function(P,D){a.set(D,qn(P,t,e,D,n,o))});var T=d?c?Si:xi:c?Cn:fn,M=_?i:T(n);return Nn(M||n,function(P,D){M&&(D=P,P=n[D]),de(a,D,qn(P,t,e,D,n,o))}),a}function El(n){var t=fn(n);return function(e){return Yu(e,n,t)}}function Yu(n,t,e){var r=e.length;if(n==null)return!r;for(n=k(n);r--;){var u=e[r],o=t[u],a=n[u];if(a===i&&!(u in n)||!o(a))return!1}return!0}function Xu(n,t,e){if(typeof n!="function")throw new Bn(C);return Se(function(){n.apply(i,e)},t)}function _e(n,t,e,r){var u=-1,o=Ue,a=!0,f=n.length,c=[],d=t.length;if(!f)return c;e&&(t=Y(t,In(e))),r?(o=Kr,a=!1):t.length>=m&&(o=fe,a=!1,t=new Lt(t));n:for(;++u<f;){var _=n[u],v=e==null?_:e(_);if(_=r||_!==0?_:0,a&&v===v){for(var x=d;x--;)if(t[x]===v)continue n;c.push(_)}else o(t,v,r)||c.push(_)}return c}var mt=As(nt),Qu=As(ii,!0);function Il(n,t){var e=!0;return mt(n,function(r,u,o){return e=!!t(r,u,o),e}),e}function nr(n,t,e){for(var r=-1,u=n.length;++r<u;){var o=n[r],a=t(o);if(a!=null&&(f===i?a===a&&!On(a):e(a,f)))var f=a,c=o}return c}function Ll(n,t,e,r){var u=n.length;for(e=W(e),e<0&&(e=-e>u?0:u+e),r=r===i||r>u?u:W(r),r<0&&(r+=u),r=e>r?0:po(r);e<r;)n[e++]=t;return n}function Vu(n,t){var e=[];return mt(n,function(r,u,o){t(r,u,o)&&e.push(r)}),e}function cn(n,t,e,r,u){var o=-1,a=n.length;for(e||(e=mc),u||(u=[]);++o<a;){var f=n[o];t>0&&e(f)?t>1?cn(f,t-1,e,r,u):_t(u,f):r||(u[u.length]=f)}return u}var ri=Cs(),ju=Cs(!0);function nt(n,t){return n&&ri(n,t,fn)}function ii(n,t){return n&&ju(n,t,fn)}function tr(n,t){return dt(t,function(e){return lt(n[e])})}function Wt(n,t){t=xt(t,n);for(var e=0,r=t.length;n!=null&&e<r;)n=n[et(t[e++])];return e&&e==r?n:i}function ns(n,t,e){var r=t(n);return L(n)?r:_t(r,e(n))}function vn(n){return n==null?n===i?ua:ra:Et&&Et in k(n)?gc(n):Rc(n)}function ui(n,t){return n>t}function Ol(n,t){return n!=null&&z.call(n,t)}function Wl(n,t){return n!=null&&t in k(n)}function Ml(n,t,e){return n>=hn(t,e)&&n<an(t,e)}function si(n,t,e){for(var r=e?Kr:Ue,u=n[0].length,o=n.length,a=o,f=h(o),c=1/0,d=[];a--;){var _=n[a];a&&t&&(_=Y(_,In(t))),c=hn(_.length,c),f[a]=!e&&(t||u>=120&&_.length>=120)?new Lt(a&&_):i}_=n[0];var v=-1,x=f[0];n:for(;++v<u&&d.length<c;){var A=_[v],T=t?t(A):A;if(A=e||A!==0?A:0,!(x?fe(x,T):r(d,T,e))){for(a=o;--a;){var M=f[a];if(!(M?fe(M,T):r(n[a],T,e)))continue n}x&&x.push(T),d.push(A)}}return d}function Fl(n,t,e,r){return nt(n,function(u,o,a){t(r,e(u),o,a)}),r}function ve(n,t,e){t=xt(t,n),n=qs(n,t);var r=n==null?n:n[et(Gn(t))];return r==null?i:En(r,n,e)}function ts(n){return V(n)&&vn(n)==Dt}function Ul(n){return V(n)&&vn(n)==ae}function Dl(n){return V(n)&&vn(n)==re}function we(n,t,e,r,u){return n===t?!0:n==null||t==null||!V(n)&&!V(t)?n!==n&&t!==t:Nl(n,t,e,r,we,u)}function Nl(n,t,e,r,u,o){var a=L(n),f=L(t),c=a?Ee:gn(n),d=f?Ee:gn(t);c=c==Dt?rt:c,d=d==Dt?rt:d;var _=c==rt,v=d==rt,x=c==d;if(x&&At(n)){if(!At(t))return!1;a=!0,_=!1}if(x&&!_)return o||(o=new Xn),a||Qt(n)?Ms(n,t,e,r,u,o):cc(n,t,c,e,r,u,o);if(!(e&Pn)){var A=_&&z.call(n,"__wrapped__"),T=v&&z.call(t,"__wrapped__");if(A||T){var M=A?n.value():n,P=T?t.value():t;return o||(o=new Xn),u(M,P,e,r,o)}}return x?(o||(o=new Xn),hc(n,t,e,r,u,o)):!1}function Bl(n){return V(n)&&gn(n)==Jn}function oi(n,t,e,r){var u=e.length,o=u,a=!r;if(n==null)return!o;for(n=k(n);u--;){var f=e[u];if(a&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<o;){f=e[u];var c=f[0],d=n[c],_=f[1];if(a&&f[2]){if(d===i&&!(c in n))return!1}else{var v=new Xn;if(r)var x=r(d,_,c,n,t,v);if(!(x===i?we(_,d,Pn|gt,r,v):x))return!1}}return!0}function es(n){if(!X(n)||xc(n))return!1;var t=lt(n)?Bf:Pa;return t.test(Ft(n))}function $l(n){return V(n)&&vn(n)==ue}function ql(n){return V(n)&&gn(n)==Zn}function Kl(n){return V(n)&&wr(n.length)&&!!Z[vn(n)]}function rs(n){return typeof n=="function"?n:n==null?bn:typeof n=="object"?L(n)?ss(n[0],n[1]):us(n):Ro(n)}function ai(n){if(!xe(n))return Hf(n);var t=[];for(var e in k(n))z.call(n,e)&&e!="constructor"&&t.push(e);return t}function Gl(n){if(!X(n))return bc(n);var t=xe(n),e=[];for(var r in n)r=="constructor"&&(t||!z.call(n,r))||e.push(r);return e}function fi(n,t){return n<t}function is(n,t){var e=-1,r=An(n)?h(n.length):[];return mt(n,function(u,o,a){r[++e]=t(u,o,a)}),r}function us(n){var t=Ci(n);return t.length==1&&t[0][2]?Bs(t[0][0],t[0][1]):function(e){return e===n||oi(e,n,t)}}function ss(n,t){return Ri(n)&&Ns(t)?Bs(et(n),t):function(e){var r=Ui(e,n);return r===i&&r===t?Di(e,n):we(t,r,Pn|gt)}}function er(n,t,e,r,u){n!==t&&ri(t,function(o,a){if(u||(u=new Xn),X(o))zl(n,t,a,e,er,r,u);else{var f=r?r(Pi(n,a),o,a+"",n,t,u):i;f===i&&(f=o),ti(n,a,f)}},Cn)}function zl(n,t,e,r,u,o,a){var f=Pi(n,e),c=Pi(t,e),d=a.get(c);if(d){ti(n,e,d);return}var _=o?o(f,c,e+"",n,t,a):i,v=_===i;if(v){var x=L(c),A=!x&&At(c),T=!x&&!A&&Qt(c);_=c,x||A||T?L(f)?_=f:j(f)?_=Sn(f):A?(v=!1,_=ws(c,!0)):T?(v=!1,_=ms(c,!0)):_=[]:Ae(c)||Ut(c)?(_=f,Ut(f)?_=_o(f):(!X(f)||lt(f))&&(_=Ds(c))):v=!1}v&&(a.set(c,_),u(_,c,r,o,a),a.delete(c)),ti(n,e,_)}function os(n,t){var e=n.length;if(e)return t+=t<0?e:0,ft(t,e)?n[t]:i}function as(n,t,e){t.length?t=Y(t,function(o){return L(o)?function(a){return Wt(a,o.length===1?o[0]:o)}:o}):t=[bn];var r=-1;t=Y(t,In(b()));var u=is(n,function(o,a,f){var c=Y(t,function(d){return d(o)});return{criteria:c,index:++r,value:o}});return vf(u,function(o,a){return rc(o,a,e)})}function Hl(n,t){return fs(n,t,function(e,r){return Di(n,r)})}function fs(n,t,e){for(var r=-1,u=t.length,o={};++r<u;){var a=t[r],f=Wt(n,a);e(f,a)&&me(o,xt(a,n),f)}return o}function kl(n){return function(t){return Wt(t,n)}}function li(n,t,e,r){var u=r?_f:$t,o=-1,a=t.length,f=n;for(n===t&&(t=Sn(t)),e&&(f=Y(n,In(e)));++o<a;)for(var c=0,d=t[o],_=e?e(d):d;(c=u(f,_,c,r))>-1;)f!==n&&ke.call(f,c,1),ke.call(n,c,1);return n}function ls(n,t){for(var e=n?t.length:0,r=e-1;e--;){var u=t[e];if(e==r||u!==o){var o=u;ft(u)?ke.call(n,u,1):pi(n,u)}}return n}function ci(n,t){return n+Ye(zu()*(t-n+1))}function Jl(n,t,e,r){for(var u=-1,o=an(Ze((t-n)/(e||1)),0),a=h(o);o--;)a[r?o:++u]=n,n+=e;return a}function hi(n,t){var e="";if(!n||t<1||t>pt)return e;do t%2&&(e+=n),t=Ye(t/2),t&&(n+=n);while(t);return e}function U(n,t){return Ei($s(n,t,bn),n+"")}function Zl(n){return Ju(Vt(n))}function Yl(n,t){var e=Vt(n);return hr(e,Ot(t,0,e.length))}function me(n,t,e,r){if(!X(n))return n;t=xt(t,n);for(var u=-1,o=t.length,a=o-1,f=n;f!=null&&++u<o;){var c=et(t[u]),d=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return n;if(u!=a){var _=f[c];d=r?r(_,c,f):i,d===i&&(d=X(_)?_:ft(t[u+1])?[]:{})}de(f,c,d),f=f[c]}return n}var cs=Xe?function(n,t){return Xe.set(n,t),n}:bn,Xl=Je?function(n,t){return Je(n,"toString",{configurable:!0,enumerable:!1,value:Bi(t),writable:!0})}:bn;function Ql(n){return hr(Vt(n))}function Kn(n,t,e){var r=-1,u=n.length;t<0&&(t=-t>u?0:u+t),e=e>u?u:e,e<0&&(e+=u),u=t>e?0:e-t>>>0,t>>>=0;for(var o=h(u);++r<u;)o[r]=n[r+t];return o}function Vl(n,t){var e;return mt(n,function(r,u,o){return e=t(r,u,o),!e}),!!e}function rr(n,t,e){var r=0,u=n==null?r:n.length;if(typeof t=="number"&&t===t&&u<=jo){for(;r<u;){var o=r+u>>>1,a=n[o];a!==null&&!On(a)&&(e?a<=t:a<t)?r=o+1:u=o}return u}return gi(n,t,bn,e)}function gi(n,t,e,r){var u=0,o=n==null?0:n.length;if(o===0)return 0;t=e(t);for(var a=t!==t,f=t===null,c=On(t),d=t===i;u<o;){var _=Ye((u+o)/2),v=e(n[_]),x=v!==i,A=v===null,T=v===v,M=On(v);if(a)var P=r||T;else d?P=T&&(r||x):f?P=T&&x&&(r||!A):c?P=T&&x&&!A&&(r||!M):A||M?P=!1:P=r?v<=t:v<t;P?u=_+1:o=_}return hn(o,Vo)}function hs(n,t){for(var e=-1,r=n.length,u=0,o=[];++e<r;){var a=n[e],f=t?t(a):a;if(!e||!Qn(f,c)){var c=f;o[u++]=a===0?0:a}}return o}function gs(n){return typeof n=="number"?n:On(n)?Pe:+n}function Ln(n){if(typeof n=="string")return n;if(L(n))return Y(n,Ln)+"";if(On(n))return Hu?Hu.call(n):"";var t=n+"";return t=="0"&&1/n==-Tt?"-0":t}function yt(n,t,e){var r=-1,u=Ue,o=n.length,a=!0,f=[],c=f;if(e)a=!1,u=Kr;else if(o>=m){var d=t?null:fc(n);if(d)return Ne(d);a=!1,u=fe,c=new Lt}else c=t?[]:f;n:for(;++r<o;){var _=n[r],v=t?t(_):_;if(_=e||_!==0?_:0,a&&v===v){for(var x=c.length;x--;)if(c[x]===v)continue n;t&&c.push(v),f.push(_)}else u(c,v,e)||(c!==f&&c.push(v),f.push(_))}return f}function pi(n,t){return t=xt(t,n),n=qs(n,t),n==null||delete n[et(Gn(t))]}function ps(n,t,e,r){return me(n,t,e(Wt(n,t)),r)}function ir(n,t,e,r){for(var u=n.length,o=r?u:-1;(r?o--:++o<u)&&t(n[o],o,n););return e?Kn(n,r?0:o,r?o+1:u):Kn(n,r?o+1:0,r?u:o)}function ds(n,t){var e=n;return e instanceof N&&(e=e.value()),Gr(t,function(r,u){return u.func.apply(u.thisArg,_t([r],u.args))},e)}function di(n,t,e){var r=n.length;if(r<2)return r?yt(n[0]):[];for(var u=-1,o=h(r);++u<r;)for(var a=n[u],f=-1;++f<r;)f!=u&&(o[u]=_e(o[u]||a,n[f],t,e));return yt(cn(o,1),t,e)}function _s(n,t,e){for(var r=-1,u=n.length,o=t.length,a={};++r<u;){var f=r<o?t[r]:i;e(a,n[r],f)}return a}function _i(n){return j(n)?n:[]}function vi(n){return typeof n=="function"?n:bn}function xt(n,t){return L(n)?n:Ri(n,t)?[n]:Hs(G(n))}var jl=U;function St(n,t,e){var r=n.length;return e=e===i?r:e,!t&&e>=r?n:Kn(n,t,e)}var vs=$f||function(n){return ln.clearTimeout(n)};function ws(n,t){if(t)return n.slice();var e=n.length,r=Bu?Bu(e):new n.constructor(e);return n.copy(r),r}function wi(n){var t=new n.constructor(n.byteLength);return new ze(t).set(new ze(n)),t}function nc(n,t){var e=t?wi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function tc(n){var t=new n.constructor(n.source,tu.exec(n));return t.lastIndex=n.lastIndex,t}function ec(n){return pe?k(pe.call(n)):{}}function ms(n,t){var e=t?wi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function ys(n,t){if(n!==t){var e=n!==i,r=n===null,u=n===n,o=On(n),a=t!==i,f=t===null,c=t===t,d=On(t);if(!f&&!d&&!o&&n>t||o&&a&&c&&!f&&!d||r&&a&&c||!e&&c||!u)return 1;if(!r&&!o&&!d&&n<t||d&&e&&u&&!r&&!o||f&&e&&u||!a&&u||!c)return-1}return 0}function rc(n,t,e){for(var r=-1,u=n.criteria,o=t.criteria,a=u.length,f=e.length;++r<a;){var c=ys(u[r],o[r]);if(c){if(r>=f)return c;var d=e[r];return c*(d=="desc"?-1:1)}}return n.index-t.index}function xs(n,t,e,r){for(var u=-1,o=n.length,a=e.length,f=-1,c=t.length,d=an(o-a,0),_=h(c+d),v=!r;++f<c;)_[f]=t[f];for(;++u<a;)(v||u<o)&&(_[e[u]]=n[u]);for(;d--;)_[f++]=n[u++];return _}function Ss(n,t,e,r){for(var u=-1,o=n.length,a=-1,f=e.length,c=-1,d=t.length,_=an(o-f,0),v=h(_+d),x=!r;++u<_;)v[u]=n[u];for(var A=u;++c<d;)v[A+c]=t[c];for(;++a<f;)(x||u<o)&&(v[A+e[a]]=n[u++]);return v}function Sn(n,t){var e=-1,r=n.length;for(t||(t=h(r));++e<r;)t[e]=n[e];return t}function tt(n,t,e,r){var u=!e;e||(e={});for(var o=-1,a=t.length;++o<a;){var f=t[o],c=r?r(e[f],n[f],f,e,n):i;c===i&&(c=n[f]),u?st(e,f,c):de(e,f,c)}return e}function ic(n,t){return tt(n,bi(n),t)}function uc(n,t){return tt(n,Fs(n),t)}function ur(n,t){return function(e,r){var u=L(e)?lf:Tl,o=t?t():{};return u(e,n,b(r,2),o)}}function Zt(n){return U(function(t,e){var r=-1,u=e.length,o=u>1?e[u-1]:i,a=u>2?e[2]:i;for(o=n.length>3&&typeof o=="function"?(u--,o):i,a&&wn(e[0],e[1],a)&&(o=u<3?i:o,u=1),t=k(t);++r<u;){var f=e[r];f&&n(t,f,r,o)}return t})}function As(n,t){return function(e,r){if(e==null)return e;if(!An(e))return n(e,r);for(var u=e.length,o=t?u:-1,a=k(e);(t?o--:++o<u)&&r(a[o],o,a)!==!1;);return e}}function Cs(n){return function(t,e,r){for(var u=-1,o=k(t),a=r(t),f=a.length;f--;){var c=a[n?f:++u];if(e(o[c],c,o)===!1)break}return t}}function sc(n,t,e){var r=t&yn,u=ye(n);function o(){var a=this&&this!==ln&&this instanceof o?u:n;return a.apply(r?e:this,arguments)}return o}function bs(n){return function(t){t=G(t);var e=qt(t)?Yn(t):i,r=e?e[0]:t.charAt(0),u=e?St(e,1).join(""):t.slice(1);return r[n]()+u}}function Yt(n){return function(t){return Gr(Co(Ao(t).replace(Ya,"")),n,"")}}function ye(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var e=Jt(n.prototype),r=n.apply(e,t);return X(r)?r:e}}function oc(n,t,e){var r=ye(n);function u(){for(var o=arguments.length,a=h(o),f=o,c=Xt(u);f--;)a[f]=arguments[f];var d=o<3&&a[0]!==c&&a[o-1]!==c?[]:vt(a,c);if(o-=d.length,o<e)return Is(n,t,sr,u.placeholder,i,a,d,i,i,e-o);var _=this&&this!==ln&&this instanceof u?r:n;return En(_,this,a)}return u}function Rs(n){return function(t,e,r){var u=k(t);if(!An(t)){var o=b(e,3);t=fn(t),e=function(f){return o(u[f],f,u)}}var a=n(t,e,r);return a>-1?u[o?t[a]:a]:i}}function Ts(n){return at(function(t){var e=t.length,r=e,u=$n.prototype.thru;for(n&&t.reverse();r--;){var o=t[r];if(typeof o!="function")throw new Bn(C);if(u&&!a&&lr(o)=="wrapper")var a=new $n([],!0)}for(r=a?r:e;++r<e;){o=t[r];var f=lr(o),c=f=="wrapper"?Ai(o):i;c&&Ti(c[0])&&c[1]==(F|Hn|kn|en)&&!c[4].length&&c[9]==1?a=a[lr(c[0])].apply(a,c[3]):a=o.length==1&&Ti(o)?a[f]():a.thru(o)}return function(){var d=arguments,_=d[0];if(a&&d.length==1&&L(_))return a.plant(_).value();for(var v=0,x=e?t[v].apply(this,d):_;++v<e;)x=t[v].call(this,x);return x}})}function sr(n,t,e,r,u,o,a,f,c,d){var _=t&F,v=t&yn,x=t&xn,A=t&(Hn|bt),T=t&H,M=x?i:ye(n);function P(){for(var D=arguments.length,B=h(D),Wn=D;Wn--;)B[Wn]=arguments[Wn];if(A)var mn=Xt(P),Mn=mf(B,mn);if(r&&(B=xs(B,r,u,A)),o&&(B=Ss(B,o,a,A)),D-=Mn,A&&D<d){var nn=vt(B,mn);return Is(n,t,sr,P.placeholder,e,B,nn,f,c,d-D)}var Vn=v?e:this,ht=x?Vn[n]:n;return D=B.length,f?B=Tc(B,f):T&&D>1&&B.reverse(),_&&c<D&&(B.length=c),this&&this!==ln&&this instanceof P&&(ht=M||ye(ht)),ht.apply(Vn,B)}return P}function Ps(n,t){return function(e,r){return Fl(e,n,t(r),{})}}function or(n,t){return function(e,r){var u;if(e===i&&r===i)return t;if(e!==i&&(u=e),r!==i){if(u===i)return r;typeof e=="string"||typeof r=="string"?(e=Ln(e),r=Ln(r)):(e=gs(e),r=gs(r)),u=n(e,r)}return u}}function mi(n){return at(function(t){return t=Y(t,In(b())),U(function(e){var r=this;return n(t,function(u){return En(u,r,e)})})})}function ar(n,t){t=t===i?" ":Ln(t);var e=t.length;if(e<2)return e?hi(t,n):t;var r=hi(t,Ze(n/Kt(t)));return qt(t)?St(Yn(r),0,n).join(""):r.slice(0,n)}function ac(n,t,e,r){var u=t&yn,o=ye(n);function a(){for(var f=-1,c=arguments.length,d=-1,_=r.length,v=h(_+c),x=this&&this!==ln&&this instanceof a?o:n;++d<_;)v[d]=r[d];for(;c--;)v[d++]=arguments[++f];return En(x,u?e:this,v)}return a}function Es(n){return function(t,e,r){return r&&typeof r!="number"&&wn(t,e,r)&&(e=r=i),t=ct(t),e===i?(e=t,t=0):e=ct(e),r=r===i?t<e?1:-1:ct(r),Jl(t,e,r,n)}}function fr(n){return function(t,e){return typeof t=="string"&&typeof e=="string"||(t=zn(t),e=zn(e)),n(t,e)}}function Is(n,t,e,r,u,o,a,f,c,d){var _=t&Hn,v=_?a:i,x=_?i:a,A=_?o:i,T=_?i:o;t|=_?kn:Rt,t&=~(_?Rt:kn),t&Te||(t&=-4);var M=[n,t,u,A,v,T,x,f,c,d],P=e.apply(i,M);return Ti(n)&&Ks(P,M),P.placeholder=r,Gs(P,n,t)}function yi(n){var t=on[n];return function(e,r){if(e=zn(e),r=r==null?0:hn(W(r),292),r&&Gu(e)){var u=(G(e)+"e").split("e"),o=t(u[0]+"e"+(+u[1]+r));return u=(G(o)+"e").split("e"),+(u[0]+"e"+(+u[1]-r))}return t(e)}}var fc=Ht&&1/Ne(new Ht([,-0]))[1]==Tt?function(n){return new Ht(n)}:Ki;function Ls(n){return function(t){var e=gn(t);return e==Jn?Xr(t):e==Zn?Rf(t):wf(t,n(t))}}function ot(n,t,e,r,u,o,a,f){var c=t&xn;if(!c&&typeof n!="function")throw new Bn(C);var d=r?r.length:0;if(d||(t&=-97,r=u=i),a=a===i?a:an(W(a),0),f=f===i?f:W(f),d-=u?u.length:0,t&Rt){var _=r,v=u;r=u=i}var x=c?i:Ai(n),A=[n,t,e,r,u,_,v,o,a,f];if(x&&Cc(A,x),n=A[0],t=A[1],e=A[2],r=A[3],u=A[4],f=A[9]=A[9]===i?c?0:n.length:an(A[9]-d,0),!f&&t&(Hn|bt)&&(t&=-25),!t||t==yn)var T=sc(n,t,e);else t==Hn||t==bt?T=oc(n,t,f):(t==kn||t==(yn|kn))&&!u.length?T=ac(n,t,e,r):T=sr.apply(i,A);var M=x?cs:Ks;return Gs(M(T,A),n,t)}function Os(n,t,e,r){return n===i||Qn(n,zt[e])&&!z.call(r,e)?t:n}function Ws(n,t,e,r,u,o){return X(n)&&X(t)&&(o.set(t,n),er(n,t,i,Ws,o),o.delete(t)),n}function lc(n){return Ae(n)?i:n}function Ms(n,t,e,r,u,o){var a=e&Pn,f=n.length,c=t.length;if(f!=c&&!(a&&c>f))return!1;var d=o.get(n),_=o.get(t);if(d&&_)return d==t&&_==n;var v=-1,x=!0,A=e>?new Lt:i;for(o.set(n,t),o.set(t,n);++v<f;){var T=n[v],M=t[v];if(r)var P=a?r(M,T,v,t,n,o):r(T,M,v,n,t,o);if(P!==i){if(P)continue;x=!1;break}if(A){if(!zr(t,function(D,B){if(!fe(A,B)&&(T===D||u(T,D,e,r,o)))return A.push(B)})){x=!1;break}}else if(!(T===M||u(T,M,e,r,o))){x=!1;break}}return o.delete(n),o.delete(t),x}function cc(n,t,e,r,u,o,a){switch(e){case Nt:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case ae:return!(n.byteLength!=t.byteLength||!o(new ze(n),new ze(t)));case ee:case re:case ie:return Qn(+n,+t);case Ie:return n.name==t.name&&n.message==t.message;case ue:case se:return n==t+"";case Jn:var f=Xr;case Zn:var c=r&Pn;if(f||(f=Ne),n.size!=t.size&&!c)return!1;var d=a.get(n);if(d)return d==t;r|=gt,a.set(n,t);var _=Ms(f(n),f(t),r,u,o,a);return a.delete(n),_;case Oe:if(pe)return pe.call(n)==pe.call(t)}return!1}function hc(n,t,e,r,u,o){var a=e&Pn,f=xi(n),c=f.length,d=xi(t),_=d.length;if(c!=_&&!a)return!1;for(var v=c;v--;){var x=f[v];if(!(a?x in t:z.call(t,x)))return!1}var A=o.get(n),T=o.get(t);if(A&&T)return A==t&&T==n;var M=!0;o.set(n,t),o.set(t,n);for(var P=a;++v<c;){x=f[v];var D=n[x],B=t[x];if(r)var Wn=a?r(B,D,x,t,n,o):r(D,B,x,n,t,o);if(!(Wn===i?D===B||u(D,B,e,r,o):Wn)){M=!1;break}P||(P=x=="constructor")}if(M&&!P){var mn=n.constructor,Mn=t.constructor;mn!=Mn&&"constructor"in n&&"constructor"in t&&!(typeof mn=="function"&&mn instanceof mn&&typeof Mn=="function"&&Mn instanceof Mn)&&(M=!1)}return o.delete(n),o.delete(t),M}function at(n){return Ei($s(n,i,Ys),n+"")}function xi(n){return ns(n,fn,bi)}function Si(n){return ns(n,Cn,Fs)}var Ai=Xe?function(n){return Xe.get(n)}:Ki;function lr(n){for(var t=n.name+"",e=kt[t],r=z.call(kt,t)?e.length:0;r--;){var u=e[r],o=u.func;if(o==null||o==n)return u.name}return t}function Xt(n){var t=z.call(s,"placeholder")?s:n;return t.placeholder}function b(){var n=s.iteratee||$i;return n=n===$i?rs:n,arguments.length?n(arguments[0],arguments[1]):n}function cr(n,t){var e=n.__data__;return yc(t)?e[typeof t=="string"?"string":"hash"]:e.map}function Ci(n){for(var t=fn(n),e=t.length;e--;){var r=t[e],u=n[r];t[e]=[r,u,Ns(u)]}return t}function Mt(n,t){var e=Af(n,t);return es(e)?e:i}function gc(n){var t=z.call(n,Et),e=n[Et];try{n[Et]=i;var r=!0}catch{}var u=Ke.call(n);return r&&(t?n[Et]=e:delete n[Et]),u}var bi=Vr?function(n){return n==null?[]:(n=k(n),dt(Vr(n),function(t){return qu.call(n,t)}))}:Gi,Fs=Vr?function(n){for(var t=[];n;)_t(t,bi(n)),n=He(n);return t}:Gi,gn=vn;(jr&&gn(new jr(new ArrayBuffer(1)))!=Nt||ce&&gn(new ce)!=Jn||ni&&gn(ni.resolve())!=Qi||Ht&&gn(new Ht)!=Zn||he&&gn(new he)!=oe)&&(gn=function(n){var t=vn(n),e=t==rt?n.constructor:i,r=e?Ft(e):"";if(r)switch(r){case Yf:return Nt;case Xf:return Jn;case Qf:return Qi;case Vf:return Zn;case jf:return oe}return t});function pc(n,t,e){for(var r=-1,u=e.length;++r<u;){var o=e[r],a=o.size;switch(o.type){case"drop":n+=a;break;case"dropRight":t-=a;break;case"take":t=hn(t,n+a);break;case"takeRight":n=an(n,t-a);break}}return{start:n,end:t}}function dc(n){var t=n.match(ya);return t?t[1].split(xa):[]}function Us(n,t,e){t=xt(t,n);for(var r=-1,u=t.length,o=!1;++r<u;){var a=et(t[r]);if(!(o=n!=null&&e(n,a)))break;n=n[a]}return o||++r!=u?o:(u=n==null?0:n.length,!!u&&wr(u)&&ft(a,u)&&(L(n)||Ut(n)))}function _c(n){var t=n.length,e=new n.constructor(t);return t&&typeof n[0]=="string"&&z.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Ds(n){return typeof n.constructor=="function"&&!xe(n)?Jt(He(n)):{}}function vc(n,t,e){var r=n.constructor;switch(t){case ae:return wi(n);case ee:case re:return new r(+n);case Nt:return nc(n,e);case Cr:case br:case Rr:case Tr:case Pr:case Er:case Ir:case Lr:case Or:return ms(n,e);case Jn:return new r;case ie:case se:return new r(n);case ue:return tc(n);case Zn:return new r;case Oe:return ec(n)}}function wc(n,t){var e=t.length;if(!e)return n;var r=e-1;return t[r]=(e>1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(ma,`{
|
|
9
|
-
/* [wrapped with `+
|
|
10
|
-
`)}function mc(n){return L(n)||Ut(n)||!!(Ku&&n&&n[Ku])}function ft(n,t){var e=typeof n;return t=t??pt,!!t&&(e=="number"||e!="symbol"&&Ia.test(n))&&n>-1&&n%1==0&&n<t}function wn(n,t,e){if(!X(e))return!1;var r=typeof t;return(r=="number"?An(e)&&ft(t,e.length):r=="string"&&t in e)?Qn(e[t],n):!1}function Ri(n,t){if(L(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||On(n)?!0:da.test(n)||!pa.test(n)||t!=null&&n in k(t)}function yc(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}function Ti(n){var t=lr(n),e=s[t];if(typeof e!="function"||!(t in N.prototype))return!1;if(n===e)return!0;var r=Ai(e);return!!r&&n===r[0]}function xc(n){return!!Nu&&Nu in n}var Sc=$e?lt:zi;function xe(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||zt;return n===e}function Ns(n){return n===n&&!X(n)}function Bs(n,t){return function(e){return e==null?!1:e[n]===t&&(t!==i||n in k(e))}}function Ac(n){var t=_r(n,function(r){return e.size===rn&&e.clear(),r}),e=t.cache;return t}function Cc(n,t){var e=n[1],r=t[1],u=e|r,o=u<(yn|xn|F),a=r==F&&e==Hn||r==F&&e==en&&n[7].length<=t[8]||r==(F|en)&&t[7].length<=t[8]&&e==Hn;if(!(o||a))return n;r&yn&&(n[2]=t[2],u|=e&yn?0:Te);var f=t[3];if(f){var c=n[3];n[3]=c?xs(c,f,t[4]):f,n[4]=c?vt(n[3],Rn):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?Ss(c,f,t[6]):f,n[6]=c?vt(n[5],Rn):t[6]),f=t[7],f&&(n[7]=f),r&F&&(n[8]=n[8]==null?t[8]:hn(n[8],t[8])),n[9]==null&&(n[9]=t[9]),n[0]=t[0],n[1]=u,n}function bc(n){var t=[];if(n!=null)for(var e in k(n))t.push(e);return t}function Rc(n){return Ke.call(n)}function $s(n,t,e){return t=an(t===i?n.length-1:t,0),function(){for(var r=arguments,u=-1,o=an(r.length-t,0),a=h(o);++u<o;)a[u]=r[t+u];u=-1;for(var f=h(t+1);++u<t;)f[u]=r[u];return f[t]=e(a),En(n,this,f)}}function qs(n,t){return t.length<2?n:Wt(n,Kn(t,0,-1))}function Tc(n,t){for(var e=n.length,r=hn(t.length,e),u=Sn(n);r--;){var o=t[r];n[r]=ft(o,e)?u[o]:i}return n}function Pi(n,t){if(!(t==="constructor"&&typeof n[t]=="function")&&t!="__proto__")return n[t]}var Ks=zs(cs),Se=Kf||function(n,t){return ln.setTimeout(n,t)},Ei=zs(Xl);function Gs(n,t,e){var r=t+"";return Ei(n,wc(r,Pc(dc(r),e)))}function zs(n){var t=0,e=0;return function(){var r=kf(),u=Q-(r-e);if(e=r,u>0){if(++t>=Un)return arguments[0]}else t=0;return n.apply(i,arguments)}}function hr(n,t){var e=-1,r=n.length,u=r-1;for(t=t===i?r:t;++e<t;){var o=ci(e,u),a=n[o];n[o]=n[e],n[e]=a}return n.length=t,n}var Hs=Ac(function(n){var t=[];return n.charCodeAt(0)===46&&t.push(""),n.replace(_a,function(e,r,u,o){t.push(u?o.replace(Ca,"$1"):r||e)}),t});function et(n){if(typeof n=="string"||On(n))return n;var t=n+"";return t=="0"&&1/n==-Tt?"-0":t}function Ft(n){if(n!=null){try{return qe.call(n)}catch{}try{return n+""}catch{}}return""}function Pc(n,t){return Nn(na,function(e){var r="_."+e[0];t&e[1]&&!Ue(n,r)&&n.push(r)}),n.sort()}function ks(n){if(n instanceof N)return n.clone();var t=new $n(n.__wrapped__,n.__chain__);return t.__actions__=Sn(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function Ec(n,t,e){(e?wn(n,t,e):t===i)?t=1:t=an(W(t),0);var r=n==null?0:n.length;if(!r||t<1)return[];for(var u=0,o=0,a=h(Ze(r/t));u<r;)a[o++]=Kn(n,u,u+=t);return a}function Ic(n){for(var t=-1,e=n==null?0:n.length,r=0,u=[];++t<e;){var o=n[t];o&&(u[r++]=o)}return u}function Lc(){var n=arguments.length;if(!n)return[];for(var t=h(n-1),e=arguments[0],r=n;r--;)t[r-1]=arguments[r];return _t(L(e)?Sn(e):[e],cn(t,1))}var Oc=U(function(n,t){return j(n)?_e(n,cn(t,1,j,!0)):[]}),Wc=U(function(n,t){var e=Gn(t);return j(e)&&(e=i),j(n)?_e(n,cn(t,1,j,!0),b(e,2)):[]}),Mc=U(function(n,t){var e=Gn(t);return j(e)&&(e=i),j(n)?_e(n,cn(t,1,j,!0),i,e):[]});function Fc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:W(t),Kn(n,t<0?0:t,r)):[]}function Uc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:W(t),t=r-t,Kn(n,0,t<0?0:t)):[]}function Dc(n,t){return n&&n.length?ir(n,b(t,3),!0,!0):[]}function Nc(n,t){return n&&n.length?ir(n,b(t,3),!0):[]}function Bc(n,t,e,r){var u=n==null?0:n.length;return u?(e&&typeof e!="number"&&wn(n,t,e)&&(e=0,r=u),Ll(n,t,e,r)):[]}function Js(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=e==null?0:W(e);return u<0&&(u=an(r+u,0)),De(n,b(t,3),u)}function Zs(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=r-1;return e!==i&&(u=W(e),u=e<0?an(r+u,0):hn(u,r-1)),De(n,b(t,3),u,!0)}function Ys(n){var t=n==null?0:n.length;return t?cn(n,1):[]}function $c(n){var t=n==null?0:n.length;return t?cn(n,Tt):[]}function qc(n,t){var e=n==null?0:n.length;return e?(t=t===i?1:W(t),cn(n,t)):[]}function Kc(n){for(var t=-1,e=n==null?0:n.length,r={};++t<e;){var u=n[t];r[u[0]]=u[1]}return r}function Xs(n){return n&&n.length?n[0]:i}function Gc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=e==null?0:W(e);return u<0&&(u=an(r+u,0)),$t(n,t,u)}function zc(n){var t=n==null?0:n.length;return t?Kn(n,0,-1):[]}var Hc=U(function(n){var t=Y(n,_i);return t.length&&t[0]===n[0]?si(t):[]}),kc=U(function(n){var t=Gn(n),e=Y(n,_i);return t===Gn(e)?t=i:e.pop(),e.length&&e[0]===n[0]?si(e,b(t,2)):[]}),Jc=U(function(n){var t=Gn(n),e=Y(n,_i);return t=typeof t=="function"?t:i,t&&e.pop(),e.length&&e[0]===n[0]?si(e,i,t):[]});function Zc(n,t){return n==null?"":zf.call(n,t)}function Gn(n){var t=n==null?0:n.length;return t?n[t-1]:i}function Yc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var u=r;return e!==i&&(u=W(e),u=u<0?an(r+u,0):hn(u,r-1)),t===t?Pf(n,t,u):De(n,Iu,u,!0)}function Xc(n,t){return n&&n.length?os(n,W(t)):i}var Qc=U(Qs);function Qs(n,t){return n&&n.length&&t&&t.length?li(n,t):n}function Vc(n,t,e){return n&&n.length&&t&&t.length?li(n,t,b(e,2)):n}function jc(n,t,e){return n&&n.length&&t&&t.length?li(n,t,i,e):n}var nh=at(function(n,t){var e=n==null?0:n.length,r=ei(n,t);return ls(n,Y(t,function(u){return ft(u,e)?+u:u}).sort(ys)),r});function th(n,t){var e=[];if(!(n&&n.length))return e;var r=-1,u=[],o=n.length;for(t=b(t,3);++r<o;){var a=n[r];t(a,r,n)&&(e.push(a),u.push(r))}return ls(n,u),e}function Ii(n){return n==null?n:Zf.call(n)}function eh(n,t,e){var r=n==null?0:n.length;return r?(e&&typeof e!="number"&&wn(n,t,e)?(t=0,e=r):(t=t==null?0:W(t),e=e===i?r:W(e)),Kn(n,t,e)):[]}function rh(n,t){return rr(n,t)}function ih(n,t,e){return gi(n,t,b(e,2))}function uh(n,t){var e=n==null?0:n.length;if(e){var r=rr(n,t);if(r<e&&Qn(n[r],t))return r}return-1}function sh(n,t){return rr(n,t,!0)}function oh(n,t,e){return gi(n,t,b(e,2),!0)}function ah(n,t){var e=n==null?0:n.length;if(e){var r=rr(n,t,!0)-1;if(Qn(n[r],t))return r}return-1}function fh(n){return n&&n.length?hs(n):[]}function lh(n,t){return n&&n.length?hs(n,b(t,2)):[]}function ch(n){var t=n==null?0:n.length;return t?Kn(n,1,t):[]}function hh(n,t,e){return n&&n.length?(t=e||t===i?1:W(t),Kn(n,0,t<0?0:t)):[]}function gh(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===i?1:W(t),t=r-t,Kn(n,t<0?0:t,r)):[]}function ph(n,t){return n&&n.length?ir(n,b(t,3),!1,!0):[]}function dh(n,t){return n&&n.length?ir(n,b(t,3)):[]}var _h=U(function(n){return yt(cn(n,1,j,!0))}),vh=U(function(n){var t=Gn(n);return j(t)&&(t=i),yt(cn(n,1,j,!0),b(t,2))}),wh=U(function(n){var t=Gn(n);return t=typeof t=="function"?t:i,yt(cn(n,1,j,!0),i,t)});function mh(n){return n&&n.length?yt(n):[]}function yh(n,t){return n&&n.length?yt(n,b(t,2)):[]}function xh(n,t){return t=typeof t=="function"?t:i,n&&n.length?yt(n,i,t):[]}function Li(n){if(!(n&&n.length))return[];var t=0;return n=dt(n,function(e){if(j(e))return t=an(e.length,t),!0}),Zr(t,function(e){return Y(n,Hr(e))})}function Vs(n,t){if(!(n&&n.length))return[];var e=Li(n);return t==null?e:Y(e,function(r){return En(t,i,r)})}var Sh=U(function(n,t){return j(n)?_e(n,t):[]}),Ah=U(function(n){return di(dt(n,j))}),Ch=U(function(n){var t=Gn(n);return j(t)&&(t=i),di(dt(n,j),b(t,2))}),bh=U(function(n){var t=Gn(n);return t=typeof t=="function"?t:i,di(dt(n,j),i,t)}),Rh=U(Li);function Th(n,t){return _s(n||[],t||[],de)}function Ph(n,t){return _s(n||[],t||[],me)}var Eh=U(function(n){var t=n.length,e=t>1?n[t-1]:i;return e=typeof e=="function"?(n.pop(),e):i,Vs(n,e)});function js(n){var t=s(n);return t.__chain__=!0,t}function Ih(n,t){return t(n),n}function gr(n,t){return t(n)}var Lh=at(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,u=function(o){return ei(o,n)};return t>1||this.__actions__.length||!(r instanceof N)||!ft(e)?this.thru(u):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:gr,args:[u],thisArg:i}),new $n(r,this.__chain__).thru(function(o){return t&&!o.length&&o.push(i),o}))});function Oh(){return js(this)}function Wh(){return new $n(this.value(),this.__chain__)}function Mh(){this.__values__===i&&(this.__values__=go(this.value()));var n=this.__index__>=this.__values__.length,t=n?i:this.__values__[this.__index__++];return{done:n,value:t}}function Fh(){return this}function Uh(n){for(var t,e=this;e instanceof Ve;){var r=ks(e);r.__index__=0,r.__values__=i,t?u.__wrapped__=r:t=r;var u=r;e=e.__wrapped__}return u.__wrapped__=n,t}function Dh(){var n=this.__wrapped__;if(n instanceof N){var t=n;return this.__actions__.length&&(t=new N(this)),t=t.reverse(),t.__actions__.push({func:gr,args:[Ii],thisArg:i}),new $n(t,this.__chain__)}return this.thru(Ii)}function Nh(){return ds(this.__wrapped__,this.__actions__)}var Bh=ur(function(n,t,e){z.call(n,e)?++n[e]:st(n,e,1)});function $h(n,t,e){var r=L(n)?Pu:Il;return e&&wn(n,t,e)&&(t=i),r(n,b(t,3))}function qh(n,t){var e=L(n)?dt:Vu;return e(n,b(t,3))}var Kh=Rs(Js),Gh=Rs(Zs);function zh(n,t){return cn(pr(n,t),1)}function Hh(n,t){return cn(pr(n,t),Tt)}function kh(n,t,e){return e=e===i?1:W(e),cn(pr(n,t),e)}function no(n,t){var e=L(n)?Nn:mt;return e(n,b(t,3))}function to(n,t){var e=L(n)?cf:Qu;return e(n,b(t,3))}var Jh=ur(function(n,t,e){z.call(n,e)?n[e].push(t):st(n,e,[t])});function Zh(n,t,e,r){n=An(n)?n:Vt(n),e=e&&!r?W(e):0;var u=n.length;return e<0&&(e=an(u+e,0)),mr(n)?e<=u&&n.indexOf(t,e)>-1:!!u&&$t(n,t,e)>-1}var Yh=U(function(n,t,e){var r=-1,u=typeof t=="function",o=An(n)?h(n.length):[];return mt(n,function(a){o[++r]=u?En(t,a,e):ve(a,t,e)}),o}),Xh=ur(function(n,t,e){st(n,e,t)});function pr(n,t){var e=L(n)?Y:is;return e(n,b(t,3))}function Qh(n,t,e,r){return n==null?[]:(L(t)||(t=t==null?[]:[t]),e=r?i:e,L(e)||(e=e==null?[]:[e]),as(n,t,e))}var Vh=ur(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function jh(n,t,e){var r=L(n)?Gr:Ou,u=arguments.length<3;return r(n,b(t,4),e,u,mt)}function ng(n,t,e){var r=L(n)?hf:Ou,u=arguments.length<3;return r(n,b(t,4),e,u,Qu)}function tg(n,t){var e=L(n)?dt:Vu;return e(n,vr(b(t,3)))}function eg(n){var t=L(n)?Ju:Zl;return t(n)}function rg(n,t,e){(e?wn(n,t,e):t===i)?t=1:t=W(t);var r=L(n)?bl:Yl;return r(n,t)}function ig(n){var t=L(n)?Rl:Ql;return t(n)}function ug(n){if(n==null)return 0;if(An(n))return mr(n)?Kt(n):n.length;var t=gn(n);return t==Jn||t==Zn?n.size:ai(n).length}function sg(n,t,e){var r=L(n)?zr:Vl;return e&&wn(n,t,e)&&(t=i),r(n,b(t,3))}var og=U(function(n,t){if(n==null)return[];var e=t.length;return e>1&&wn(n,t[0],t[1])?t=[]:e>2&&wn(t[0],t[1],t[2])&&(t=[t[0]]),as(n,cn(t,1),[])}),dr=qf||function(){return ln.Date.now()};function ag(n,t){if(typeof t!="function")throw new Bn(C);return n=W(n),function(){if(--n<1)return t.apply(this,arguments)}}function eo(n,t,e){return t=e?i:t,t=n&&t==null?n.length:t,ot(n,F,i,i,i,i,t)}function ro(n,t){var e;if(typeof t!="function")throw new Bn(C);return n=W(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=i),e}}var Oi=U(function(n,t,e){var r=yn;if(e.length){var u=vt(e,Xt(Oi));r|=kn}return ot(n,r,t,e,u)}),io=U(function(n,t,e){var r=yn|xn;if(e.length){var u=vt(e,Xt(io));r|=kn}return ot(t,r,n,e,u)});function uo(n,t,e){t=e?i:t;var r=ot(n,Hn,i,i,i,i,i,t);return r.placeholder=uo.placeholder,r}function so(n,t,e){t=e?i:t;var r=ot(n,bt,i,i,i,i,i,t);return r.placeholder=so.placeholder,r}function oo(n,t,e){var r,u,o,a,f,c,d=0,_=!1,v=!1,x=!0;if(typeof n!="function")throw new Bn(C);t=zn(t)||0,X(e)&&(_=!!e.leading,v="maxWait"in e,o=v?an(zn(e.maxWait)||0,t):o,x="trailing"in e?!!e.trailing:x);function A(nn){var Vn=r,ht=u;return r=u=i,d=nn,a=n.apply(ht,Vn),a}function T(nn){return d=nn,f=Se(D,t),_?A(nn):a}function M(nn){var Vn=nn-c,ht=nn-d,To=t-Vn;return v?hn(To,o-ht):To}function P(nn){var Vn=nn-c,ht=nn-d;return c===i||Vn>=t||Vn<0||v&&ht>=o}function D(){var nn=dr();if(P(nn))return B(nn);f=Se(D,M(nn))}function B(nn){return f=i,x&&r?A(nn):(r=u=i,a)}function Wn(){f!==i&&vs(f),d=0,r=c=u=f=i}function mn(){return f===i?a:B(dr())}function Mn(){var nn=dr(),Vn=P(nn);if(r=arguments,u=this,c=nn,Vn){if(f===i)return T(c);if(v)return vs(f),f=Se(D,t),A(c)}return f===i&&(f=Se(D,t)),a}return Mn.cancel=Wn,Mn.flush=mn,Mn}var fg=U(function(n,t){return Xu(n,1,t)}),lg=U(function(n,t,e){return Xu(n,zn(t)||0,e)});function cg(n){return ot(n,H)}function _r(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new Bn(C);var e=function(){var r=arguments,u=t?t.apply(this,r):r[0],o=e.cache;if(o.has(u))return o.get(u);var a=n.apply(this,r);return e.cache=o.set(u,a)||o,a};return e.cache=new(_r.Cache||ut),e}_r.Cache=ut;function vr(n){if(typeof n!="function")throw new Bn(C);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function hg(n){return ro(2,n)}var gg=jl(function(n,t){t=t.length==1&&L(t[0])?Y(t[0],In(b())):Y(cn(t,1),In(b()));var e=t.length;return U(function(r){for(var u=-1,o=hn(r.length,e);++u<o;)r[u]=t[u].call(this,r[u]);return En(n,this,r)})}),Wi=U(function(n,t){var e=vt(t,Xt(Wi));return ot(n,kn,i,t,e)}),ao=U(function(n,t){var e=vt(t,Xt(ao));return ot(n,Rt,i,t,e)}),pg=at(function(n,t){return ot(n,en,i,i,i,t)});function dg(n,t){if(typeof n!="function")throw new Bn(C);return t=t===i?t:W(t),U(n,t)}function _g(n,t){if(typeof n!="function")throw new Bn(C);return t=t==null?0:an(W(t),0),U(function(e){var r=e[t],u=St(e,0,t);return r&&_t(u,r),En(n,this,u)})}function vg(n,t,e){var r=!0,u=!0;if(typeof n!="function")throw new Bn(C);return X(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),oo(n,t,{leading:r,maxWait:t,trailing:u})}function wg(n){return eo(n,1)}function mg(n,t){return Wi(vi(t),n)}function yg(){if(!arguments.length)return[];var n=arguments[0];return L(n)?n:[n]}function xg(n){return qn(n,dn)}function Sg(n,t){return t=typeof t=="function"?t:i,qn(n,dn,t)}function Ag(n){return qn(n,un|dn)}function Cg(n,t){return t=typeof t=="function"?t:i,qn(n,un|dn,t)}function bg(n,t){return t==null||Yu(n,t,fn(t))}function Qn(n,t){return n===t||n!==n&&t!==t}var Rg=fr(ui),Tg=fr(function(n,t){return n>=t}),Ut=ts(function(){return arguments}())?ts:function(n){return V(n)&&z.call(n,"callee")&&!qu.call(n,"callee")},L=h.isArray,Pg=Su?In(Su):Ul;function An(n){return n!=null&&wr(n.length)&&!lt(n)}function j(n){return V(n)&&An(n)}function Eg(n){return n===!0||n===!1||V(n)&&vn(n)==ee}var At=Gf||zi,Ig=Au?In(Au):Dl;function Lg(n){return V(n)&&n.nodeType===1&&!Ae(n)}function Og(n){if(n==null)return!0;if(An(n)&&(L(n)||typeof n=="string"||typeof n.splice=="function"||At(n)||Qt(n)||Ut(n)))return!n.length;var t=gn(n);if(t==Jn||t==Zn)return!n.size;if(xe(n))return!ai(n).length;for(var e in n)if(z.call(n,e))return!1;return!0}function Wg(n,t){return we(n,t)}function Mg(n,t,e){e=typeof e=="function"?e:i;var r=e?e(n,t):i;return r===i?we(n,t,i,e):!!r}function Mi(n){if(!V(n))return!1;var t=vn(n);return t==Ie||t==ea||typeof n.message=="string"&&typeof n.name=="string"&&!Ae(n)}function Fg(n){return typeof n=="number"&&Gu(n)}function lt(n){if(!X(n))return!1;var t=vn(n);return t==Le||t==Xi||t==ta||t==ia}function fo(n){return typeof n=="number"&&n==W(n)}function wr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=pt}function X(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function V(n){return n!=null&&typeof n=="object"}var lo=Cu?In(Cu):Bl;function Ug(n,t){return n===t||oi(n,t,Ci(t))}function Dg(n,t,e){return e=typeof e=="function"?e:i,oi(n,t,Ci(t),e)}function Ng(n){return co(n)&&n!=+n}function Bg(n){if(Sc(n))throw new I(R);return es(n)}function $g(n){return n===null}function qg(n){return n==null}function co(n){return typeof n=="number"||V(n)&&vn(n)==ie}function Ae(n){if(!V(n)||vn(n)!=rt)return!1;var t=He(n);if(t===null)return!0;var e=z.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&qe.call(e)==Df}var Fi=bu?In(bu):$l;function Kg(n){return fo(n)&&n>=-pt&&n<=pt}var ho=Ru?In(Ru):ql;function mr(n){return typeof n=="string"||!L(n)&&V(n)&&vn(n)==se}function On(n){return typeof n=="symbol"||V(n)&&vn(n)==Oe}var Qt=Tu?In(Tu):Kl;function Gg(n){return n===i}function zg(n){return V(n)&&gn(n)==oe}function Hg(n){return V(n)&&vn(n)==sa}var kg=fr(fi),Jg=fr(function(n,t){return n<=t});function go(n){if(!n)return[];if(An(n))return mr(n)?Yn(n):Sn(n);if(le&&n[le])return bf(n[le]());var t=gn(n),e=t==Jn?Xr:t==Zn?Ne:Vt;return e(n)}function ct(n){if(!n)return n===0?n:0;if(n=zn(n),n===Tt||n===-Tt){var t=n<0?-1:1;return t*Qo}return n===n?n:0}function W(n){var t=ct(n),e=t%1;return t===t?e?t-e:t:0}function po(n){return n?Ot(W(n),0,jn):0}function zn(n){if(typeof n=="number")return n;if(On(n))return Pe;if(X(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=X(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=Wu(n);var e=Ta.test(n);return e||Ea.test(n)?af(n.slice(2),e?2:8):Ra.test(n)?Pe:+n}function _o(n){return tt(n,Cn(n))}function Zg(n){return n?Ot(W(n),-pt,pt):n===0?n:0}function G(n){return n==null?"":Ln(n)}var Yg=Zt(function(n,t){if(xe(t)||An(t)){tt(t,fn(t),n);return}for(var e in t)z.call(t,e)&&de(n,e,t[e])}),vo=Zt(function(n,t){tt(t,Cn(t),n)}),yr=Zt(function(n,t,e,r){tt(t,Cn(t),n,r)}),Xg=Zt(function(n,t,e,r){tt(t,fn(t),n,r)}),Qg=at(ei);function Vg(n,t){var e=Jt(n);return t==null?e:Zu(e,t)}var jg=U(function(n,t){n=k(n);var e=-1,r=t.length,u=r>2?t[2]:i;for(u&&wn(t[0],t[1],u)&&(r=1);++e<r;)for(var o=t[e],a=Cn(o),f=-1,c=a.length;++f<c;){var d=a[f],_=n[d];(_===i||Qn(_,zt[d])&&!z.call(n,d))&&(n[d]=o[d])}return n}),np=U(function(n){return n.push(i,Ws),En(wo,i,n)});function tp(n,t){return Eu(n,b(t,3),nt)}function ep(n,t){return Eu(n,b(t,3),ii)}function rp(n,t){return n==null?n:ri(n,b(t,3),Cn)}function ip(n,t){return n==null?n:ju(n,b(t,3),Cn)}function up(n,t){return n&&nt(n,b(t,3))}function sp(n,t){return n&&ii(n,b(t,3))}function op(n){return n==null?[]:tr(n,fn(n))}function ap(n){return n==null?[]:tr(n,Cn(n))}function Ui(n,t,e){var r=n==null?i:Wt(n,t);return r===i?e:r}function fp(n,t){return n!=null&&Us(n,t,Ol)}function Di(n,t){return n!=null&&Us(n,t,Wl)}var lp=Ps(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Ke.call(t)),n[t]=e},Bi(bn)),cp=Ps(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Ke.call(t)),z.call(n,t)?n[t].push(e):n[t]=[e]},b),hp=U(ve);function fn(n){return An(n)?ku(n):ai(n)}function Cn(n){return An(n)?ku(n,!0):Gl(n)}function gp(n,t){var e={};return t=b(t,3),nt(n,function(r,u,o){st(e,t(r,u,o),r)}),e}function pp(n,t){var e={};return t=b(t,3),nt(n,function(r,u,o){st(e,u,t(r,u,o))}),e}var dp=Zt(function(n,t,e){er(n,t,e)}),wo=Zt(function(n,t,e,r){er(n,t,e,r)}),_p=at(function(n,t){var e={};if(n==null)return e;var r=!1;t=Y(t,function(o){return o=xt(o,n),r||(r=o.length>1),o}),tt(n,Si(n),e),r&&(e=qn(e,un|Tn|dn,lc));for(var u=t.length;u--;)pi(e,t[u]);return e});function vp(n,t){return mo(n,vr(b(t)))}var wp=at(function(n,t){return n==null?{}:Hl(n,t)});function mo(n,t){if(n==null)return{};var e=Y(Si(n),function(r){return[r]});return t=b(t),fs(n,e,function(r,u){return t(r,u[0])})}function mp(n,t,e){t=xt(t,n);var r=-1,u=t.length;for(u||(u=1,n=i);++r<u;){var o=n==null?i:n[et(t[r])];o===i&&(r=u,o=e),n=lt(o)?o.call(n):o}return n}function yp(n,t,e){return n==null?n:me(n,t,e)}function xp(n,t,e,r){return r=typeof r=="function"?r:i,n==null?n:me(n,t,e,r)}var yo=Ls(fn),xo=Ls(Cn);function Sp(n,t,e){var r=L(n),u=r||At(n)||Qt(n);if(t=b(t,4),e==null){var o=n&&n.constructor;u?e=r?new o:[]:X(n)?e=lt(o)?Jt(He(n)):{}:e={}}return(u?Nn:nt)(n,function(a,f,c){return t(e,a,f,c)}),e}function Ap(n,t){return n==null?!0:pi(n,t)}function Cp(n,t,e){return n==null?n:ps(n,t,vi(e))}function bp(n,t,e,r){return r=typeof r=="function"?r:i,n==null?n:ps(n,t,vi(e),r)}function Vt(n){return n==null?[]:Yr(n,fn(n))}function Rp(n){return n==null?[]:Yr(n,Cn(n))}function Tp(n,t,e){return e===i&&(e=t,t=i),e!==i&&(e=zn(e),e=e===e?e:0),t!==i&&(t=zn(t),t=t===t?t:0),Ot(zn(n),t,e)}function Pp(n,t,e){return t=ct(t),e===i?(e=t,t=0):e=ct(e),n=zn(n),Ml(n,t,e)}function Ep(n,t,e){if(e&&typeof e!="boolean"&&wn(n,t,e)&&(t=e=i),e===i&&(typeof t=="boolean"?(e=t,t=i):typeof n=="boolean"&&(e=n,n=i)),n===i&&t===i?(n=0,t=1):(n=ct(n),t===i?(t=n,n=0):t=ct(t)),n>t){var r=n;n=t,t=r}if(e||n%1||t%1){var u=zu();return hn(n+u*(t-n+of("1e-"+((u+"").length-1))),t)}return ci(n,t)}var Ip=Yt(function(n,t,e){return t=t.toLowerCase(),n+(e?So(t):t)});function So(n){return Ni(G(n).toLowerCase())}function Ao(n){return n=G(n),n&&n.replace(La,yf).replace(Xa,"")}function Lp(n,t,e){n=G(n),t=Ln(t);var r=n.length;e=e===i?r:Ot(W(e),0,r);var u=e;return e-=t.length,e>=0&&n.slice(e,u)==t}function Op(n){return n=G(n),n&&ca.test(n)?n.replace(ji,xf):n}function Wp(n){return n=G(n),n&&va.test(n)?n.replace(Wr,"\\$&"):n}var Mp=Yt(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),Fp=Yt(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),Up=bs("toLowerCase");function Dp(n,t,e){n=G(n),t=W(t);var r=t?Kt(n):0;if(!t||r>=t)return n;var u=(t-r)/2;return ar(Ye(u),e)+n+ar(Ze(u),e)}function Np(n,t,e){n=G(n),t=W(t);var r=t?Kt(n):0;return t&&r<t?n+ar(t-r,e):n}function Bp(n,t,e){n=G(n),t=W(t);var r=t?Kt(n):0;return t&&r<t?ar(t-r,e)+n:n}function $p(n,t,e){return e||t==null?t=0:t&&(t=+t),Jf(G(n).replace(Mr,""),t||0)}function qp(n,t,e){return(e?wn(n,t,e):t===i)?t=1:t=W(t),hi(G(n),t)}function Kp(){var n=arguments,t=G(n[0]);return n.length<3?t:t.replace(n[1],n[2])}var Gp=Yt(function(n,t,e){return n+(e?"_":"")+t.toLowerCase()});function zp(n,t,e){return e&&typeof e!="number"&&wn(n,t,e)&&(t=e=i),e=e===i?jn:e>>>0,e?(n=G(n),n&&(typeof t=="string"||t!=null&&!Fi(t))&&(t=Ln(t),!t&&qt(n))?St(Yn(n),0,e):n.split(t,e)):[]}var Hp=Yt(function(n,t,e){return n+(e?" ":"")+Ni(t)});function kp(n,t,e){return n=G(n),e=e==null?0:Ot(W(e),0,n.length),t=Ln(t),n.slice(e,e+t.length)==t}function Jp(n,t,e){var r=s.templateSettings;e&&wn(n,t,e)&&(t=i),n=G(n),t=yr({},t,r,Os);var u=yr({},t.imports,r.imports,Os),o=fn(u),a=Yr(u,o),f,c,d=0,_=t.interpolate||We,v="__p += '",x=Qr((t.escape||We).source+"|"+_.source+"|"+(_===nu?ba:We).source+"|"+(t.evaluate||We).source+"|$","g"),A="//# sourceURL="+(z.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++tf+"]")+`
|
|
11
|
-
`;
|
|
12
|
-
__e(`+
|
|
13
|
-
'`),
|
|
14
|
-
`+
|
|
15
|
-
__p += '`),
|
|
16
|
-
((__t = (`+
|
|
17
|
-
'`),
|
|
18
|
-
`;var
|
|
19
|
-
`+
|
|
8
|
+
*/Te.exports,function(d,f){(function(){var i,p="4.17.21",_=200,v="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",S="Expected a function",E="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",M=500,R="__lodash_placeholder__",P=1,T=2,F=4,Y=1,q=2,wt=1,Rt=2,tn=4,ot=8,En=16,Gt=32,vn=64,At=128,Nt=256,Kn=512,Oe=30,Et="...",We=800,qn=16,ae=1,ct=2,Er=3,sn=1/0,nn=9007199254740991,Tr=17976931348623157e292,kn=NaN,Ut=4294967295,De=Ut-1,Lr=Ut>>>1,V=[["ary",At],["bind",wt],["bindKey",Rt],["curry",ot],["curryRight",En],["flip",Kn],["partial",Gt],["partialRight",vn],["rearg",Nt]],lt="[object Arguments]",Jt="[object Array]",Tn="[object AsyncFunction]",wn="[object Boolean]",yt="[object Date]",ma="[object DOMException]",Fe="[object Error]",Ne="[object Function]",iu="[object GeneratorFunction]",Zt="[object Map]",fe="[object Number]",xa="[object Null]",on="[object Object]",uu="[object Promise]",Sa="[object Proxy]",ce="[object RegExp]",Yt="[object Set]",le="[object String]",Ue="[object Symbol]",Aa="[object Undefined]",he="[object WeakMap]",ba="[object WeakSet]",de="[object ArrayBuffer]",zn="[object DataView]",Or="[object Float32Array]",Wr="[object Float64Array]",Dr="[object Int8Array]",Fr="[object Int16Array]",Nr="[object Int32Array]",Ur="[object Uint8Array]",Br="[object Uint8ClampedArray]",Mr="[object Uint16Array]",$r="[object Uint32Array]",Ca=/\b__p \+= '';/g,Pa=/\b(__p \+=) '' \+/g,Ia=/(__e\(.*?\)|\b__t\)) \+\n'';/g,su=/&(?:amp|lt|gt|quot|#39);/g,ou=/[&<>"']/g,Ra=RegExp(su.source),Ea=RegExp(ou.source),Ta=/<%-([\s\S]+?)%>/g,La=/<%([\s\S]+?)%>/g,au=/<%=([\s\S]+?)%>/g,Oa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wa=/^\w*$/,Da=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Kr=/[\\^$.*+?()[\]{}|]/g,Fa=RegExp(Kr.source),qr=/^\s+/,Na=/\s/,Ua=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ba=/\{\n\/\* \[wrapped with (.+)\] \*/,Ma=/,? & /,$a=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ka=/[()=,{}\[\]\/\s]/,qa=/\\(\\)?/g,ka=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fu=/\w*$/,za=/^[-+]0x[0-9a-f]+$/i,Ha=/^0b[01]+$/i,Ga=/^\[object .+?Constructor\]$/,Ja=/^0o[0-7]+$/i,Za=/^(?:0|[1-9]\d*)$/,Ya=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Be=/($^)/,Xa=/['\n\r\u2028\u2029\\]/g,Me="\\ud800-\\udfff",Qa="\\u0300-\\u036f",Va="\\ufe20-\\ufe2f",ja="\\u20d0-\\u20ff",cu=Qa+Va+ja,lu="\\u2700-\\u27bf",hu="a-z\\xdf-\\xf6\\xf8-\\xff",tf="\\xac\\xb1\\xd7\\xf7",nf="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ef="\\u2000-\\u206f",rf=" \\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",du="A-Z\\xc0-\\xd6\\xd8-\\xde",pu="\\ufe0e\\ufe0f",gu=tf+nf+ef+rf,kr="['’]",uf="["+Me+"]",_u="["+gu+"]",$e="["+cu+"]",vu="\\d+",sf="["+lu+"]",wu="["+hu+"]",yu="[^"+Me+gu+vu+lu+hu+du+"]",zr="\\ud83c[\\udffb-\\udfff]",of="(?:"+$e+"|"+zr+")",mu="[^"+Me+"]",Hr="(?:\\ud83c[\\udde6-\\uddff]){2}",Gr="[\\ud800-\\udbff][\\udc00-\\udfff]",Hn="["+du+"]",xu="\\u200d",Su="(?:"+wu+"|"+yu+")",af="(?:"+Hn+"|"+yu+")",Au="(?:"+kr+"(?:d|ll|m|re|s|t|ve))?",bu="(?:"+kr+"(?:D|LL|M|RE|S|T|VE))?",Cu=of+"?",Pu="["+pu+"]?",ff="(?:"+xu+"(?:"+[mu,Hr,Gr].join("|")+")"+Pu+Cu+")*",cf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",lf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Iu=Pu+Cu+ff,hf="(?:"+[sf,Hr,Gr].join("|")+")"+Iu,df="(?:"+[mu+$e+"?",$e,Hr,Gr,uf].join("|")+")",pf=RegExp(kr,"g"),gf=RegExp($e,"g"),Jr=RegExp(zr+"(?="+zr+")|"+df+Iu,"g"),_f=RegExp([Hn+"?"+wu+"+"+Au+"(?="+[_u,Hn,"$"].join("|")+")",af+"+"+bu+"(?="+[_u,Hn+Su,"$"].join("|")+")",Hn+"?"+Su+"+"+Au,Hn+"+"+bu,lf,cf,vu,hf].join("|"),"g"),vf=RegExp("["+xu+Me+cu+pu+"]"),wf=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,yf=["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"],mf=-1,nt={};nt[Or]=nt[Wr]=nt[Dr]=nt[Fr]=nt[Nr]=nt[Ur]=nt[Br]=nt[Mr]=nt[$r]=!0,nt[lt]=nt[Jt]=nt[de]=nt[wn]=nt[zn]=nt[yt]=nt[Fe]=nt[Ne]=nt[Zt]=nt[fe]=nt[on]=nt[ce]=nt[Yt]=nt[le]=nt[he]=!1;var tt={};tt[lt]=tt[Jt]=tt[de]=tt[zn]=tt[wn]=tt[yt]=tt[Or]=tt[Wr]=tt[Dr]=tt[Fr]=tt[Nr]=tt[Zt]=tt[fe]=tt[on]=tt[ce]=tt[Yt]=tt[le]=tt[Ue]=tt[Ur]=tt[Br]=tt[Mr]=tt[$r]=!0,tt[Fe]=tt[Ne]=tt[he]=!1;var xf={À:"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"},Sf={"&":"&","<":"<",">":">",'"':""","'":"'"},Af={"&":"&","<":"<",">":">",""":'"',"'":"'"},bf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Cf=parseFloat,Pf=parseInt,Ru=typeof se=="object"&&se&&se.Object===Object&&se,If=typeof self=="object"&&self&&self.Object===Object&&self,dt=Ru||If||Function("return this")(),Zr=f&&!f.nodeType&&f,Ln=Zr&&!0&&d&&!d.nodeType&&d,Eu=Ln&&Ln.exports===Zr,Yr=Eu&&Ru.process,Bt=function(){try{var l=Ln&&Ln.require&&Ln.require("util").types;return l||Yr&&Yr.binding&&Yr.binding("util")}catch{}}(),Tu=Bt&&Bt.isArrayBuffer,Lu=Bt&&Bt.isDate,Ou=Bt&&Bt.isMap,Wu=Bt&&Bt.isRegExp,Du=Bt&&Bt.isSet,Fu=Bt&&Bt.isTypedArray;function Tt(l,w,g){switch(g.length){case 0:return l.call(w);case 1:return l.call(w,g[0]);case 2:return l.call(w,g[0],g[1]);case 3:return l.call(w,g[0],g[1],g[2])}return l.apply(w,g)}function Rf(l,w,g,b){for(var N=-1,Z=l==null?0:l.length;++N<Z;){var at=l[N];w(b,at,g(at),l)}return b}function Mt(l,w){for(var g=-1,b=l==null?0:l.length;++g<b&&w(l[g],g,l)!==!1;);return l}function Ef(l,w){for(var g=l==null?0:l.length;g--&&w(l[g],g,l)!==!1;);return l}function Nu(l,w){for(var g=-1,b=l==null?0:l.length;++g<b;)if(!w(l[g],g,l))return!1;return!0}function yn(l,w){for(var g=-1,b=l==null?0:l.length,N=0,Z=[];++g<b;){var at=l[g];w(at,g,l)&&(Z[N++]=at)}return Z}function Ke(l,w){var g=l==null?0:l.length;return!!g&&Gn(l,w,0)>-1}function Xr(l,w,g){for(var b=-1,N=l==null?0:l.length;++b<N;)if(g(w,l[b]))return!0;return!1}function et(l,w){for(var g=-1,b=l==null?0:l.length,N=Array(b);++g<b;)N[g]=w(l[g],g,l);return N}function mn(l,w){for(var g=-1,b=w.length,N=l.length;++g<b;)l[N+g]=w[g];return l}function Qr(l,w,g,b){var N=-1,Z=l==null?0:l.length;for(b&&Z&&(g=l[++N]);++N<Z;)g=w(g,l[N],N,l);return g}function Tf(l,w,g,b){var N=l==null?0:l.length;for(b&&N&&(g=l[--N]);N--;)g=w(g,l[N],N,l);return g}function Vr(l,w){for(var g=-1,b=l==null?0:l.length;++g<b;)if(w(l[g],g,l))return!0;return!1}var Lf=jr("length");function Of(l){return l.split("")}function Wf(l){return l.match($a)||[]}function Uu(l,w,g){var b;return g(l,function(N,Z,at){if(w(N,Z,at))return b=Z,!1}),b}function qe(l,w,g,b){for(var N=l.length,Z=g+(b?1:-1);b?Z--:++Z<N;)if(w(l[Z],Z,l))return Z;return-1}function Gn(l,w,g){return w===w?Hf(l,w,g):qe(l,Bu,g)}function Df(l,w,g,b){for(var N=g-1,Z=l.length;++N<Z;)if(b(l[N],w))return N;return-1}function Bu(l){return l!==l}function Mu(l,w){var g=l==null?0:l.length;return g?ni(l,w)/g:kn}function jr(l){return function(w){return w==null?i:w[l]}}function ti(l){return function(w){return l==null?i:l[w]}}function $u(l,w,g,b,N){return N(l,function(Z,at,j){g=b?(b=!1,Z):w(g,Z,at,j)}),g}function Ff(l,w){var g=l.length;for(l.sort(w);g--;)l[g]=l[g].value;return l}function ni(l,w){for(var g,b=-1,N=l.length;++b<N;){var Z=w(l[b]);Z!==i&&(g=g===i?Z:g+Z)}return g}function ei(l,w){for(var g=-1,b=Array(l);++g<l;)b[g]=w(g);return b}function Nf(l,w){return et(w,function(g){return[g,l[g]]})}function Ku(l){return l&&l.slice(0,Hu(l)+1).replace(qr,"")}function Lt(l){return function(w){return l(w)}}function ri(l,w){return et(w,function(g){return l[g]})}function pe(l,w){return l.has(w)}function qu(l,w){for(var g=-1,b=l.length;++g<b&&Gn(w,l[g],0)>-1;);return g}function ku(l,w){for(var g=l.length;g--&&Gn(w,l[g],0)>-1;);return g}function Uf(l,w){for(var g=l.length,b=0;g--;)l[g]===w&&++b;return b}var Bf=ti(xf),Mf=ti(Sf);function $f(l){return"\\"+bf[l]}function Kf(l,w){return l==null?i:l[w]}function Jn(l){return vf.test(l)}function qf(l){return wf.test(l)}function kf(l){for(var w,g=[];!(w=l.next()).done;)g.push(w.value);return g}function ii(l){var w=-1,g=Array(l.size);return l.forEach(function(b,N){g[++w]=[N,b]}),g}function zu(l,w){return function(g){return l(w(g))}}function xn(l,w){for(var g=-1,b=l.length,N=0,Z=[];++g<b;){var at=l[g];(at===w||at===R)&&(l[g]=R,Z[N++]=g)}return Z}function ke(l){var w=-1,g=Array(l.size);return l.forEach(function(b){g[++w]=b}),g}function zf(l){var w=-1,g=Array(l.size);return l.forEach(function(b){g[++w]=[b,b]}),g}function Hf(l,w,g){for(var b=g-1,N=l.length;++b<N;)if(l[b]===w)return b;return-1}function Gf(l,w,g){for(var b=g+1;b--;)if(l[b]===w)return b;return b}function Zn(l){return Jn(l)?Zf(l):Lf(l)}function Xt(l){return Jn(l)?Yf(l):Of(l)}function Hu(l){for(var w=l.length;w--&&Na.test(l.charAt(w)););return w}var Jf=ti(Af);function Zf(l){for(var w=Jr.lastIndex=0;Jr.test(l);)++w;return w}function Yf(l){return l.match(Jr)||[]}function Xf(l){return l.match(_f)||[]}var Qf=function l(w){w=w==null?dt:Yn.defaults(dt.Object(),w,Yn.pick(dt,yf));var g=w.Array,b=w.Date,N=w.Error,Z=w.Function,at=w.Math,j=w.Object,ui=w.RegExp,Vf=w.String,$t=w.TypeError,ze=g.prototype,jf=Z.prototype,Xn=j.prototype,He=w["__core-js_shared__"],Ge=jf.toString,Q=Xn.hasOwnProperty,tc=0,Gu=function(){var t=/[^.]+$/.exec(He&&He.keys&&He.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Je=Xn.toString,nc=Ge.call(j),ec=dt._,rc=ui("^"+Ge.call(Q).replace(Kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ze=Eu?w.Buffer:i,Sn=w.Symbol,Ye=w.Uint8Array,Ju=Ze?Ze.allocUnsafe:i,Xe=zu(j.getPrototypeOf,j),Zu=j.create,Yu=Xn.propertyIsEnumerable,Qe=ze.splice,Xu=Sn?Sn.isConcatSpreadable:i,ge=Sn?Sn.iterator:i,On=Sn?Sn.toStringTag:i,Ve=function(){try{var t=Un(j,"defineProperty");return t({},"",{}),t}catch{}}(),ic=w.clearTimeout!==dt.clearTimeout&&w.clearTimeout,uc=b&&b.now!==dt.Date.now&&b.now,sc=w.setTimeout!==dt.setTimeout&&w.setTimeout,je=at.ceil,tr=at.floor,si=j.getOwnPropertySymbols,oc=Ze?Ze.isBuffer:i,Qu=w.isFinite,ac=ze.join,fc=zu(j.keys,j),ft=at.max,gt=at.min,cc=b.now,lc=w.parseInt,Vu=at.random,hc=ze.reverse,oi=Un(w,"DataView"),_e=Un(w,"Map"),ai=Un(w,"Promise"),Qn=Un(w,"Set"),ve=Un(w,"WeakMap"),we=Un(j,"create"),nr=ve&&new ve,Vn={},dc=Bn(oi),pc=Bn(_e),gc=Bn(ai),_c=Bn(Qn),vc=Bn(ve),er=Sn?Sn.prototype:i,ye=er?er.valueOf:i,ju=er?er.toString:i;function s(t){if(it(t)&&!U(t)&&!(t instanceof z)){if(t instanceof Kt)return t;if(Q.call(t,"__wrapped__"))return to(t)}return new Kt(t)}var jn=function(){function t(){}return function(n){if(!rt(n))return{};if(Zu)return Zu(n);t.prototype=n;var e=new t;return t.prototype=i,e}}();function rr(){}function Kt(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=i}s.templateSettings={escape:Ta,evaluate:La,interpolate:au,variable:"",imports:{_:s}},s.prototype=rr.prototype,s.prototype.constructor=s,Kt.prototype=jn(rr.prototype),Kt.prototype.constructor=Kt;function z(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ut,this.__views__=[]}function wc(){var t=new z(this.__wrapped__);return t.__actions__=bt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=bt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=bt(this.__views__),t}function yc(){if(this.__filtered__){var t=new z(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function mc(){var t=this.__wrapped__.value(),n=this.__dir__,e=U(t),r=n<0,u=e?t.length:0,o=Ol(0,u,this.__views__),a=o.start,c=o.end,h=c-a,y=r?c:a-1,m=this.__iteratees__,x=m.length,A=0,I=gt(h,this.__takeCount__);if(!e||!r&&u==h&&I==h)return As(t,this.__actions__);var O=[];t:for(;h--&&A<I;){y+=n;for(var $=-1,W=t[y];++$<x;){var k=m[$],G=k.iteratee,Dt=k.type,St=G(W);if(Dt==ct)W=St;else if(!St){if(Dt==ae)continue t;break t}}O[A++]=W}return O}z.prototype=jn(rr.prototype),z.prototype.constructor=z;function Wn(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function xc(){this.__data__=we?we(null):{},this.size=0}function Sc(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}function Ac(t){var n=this.__data__;if(we){var e=n[t];return e===C?i:e}return Q.call(n,t)?n[t]:i}function bc(t){var n=this.__data__;return we?n[t]!==i:Q.call(n,t)}function Cc(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=we&&n===i?C:n,this}Wn.prototype.clear=xc,Wn.prototype.delete=Sc,Wn.prototype.get=Ac,Wn.prototype.has=bc,Wn.prototype.set=Cc;function an(t){var n=-1,e=t==null?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Pc(){this.__data__=[],this.size=0}function Ic(t){var n=this.__data__,e=ir(n,t);if(e<0)return!1;var r=n.length-1;return e==r?n.pop():Qe.call(n,e,1),--this.size,!0}function Rc(t){var n=this.__data__,e=ir(n,t);return e<0?i:n[e][1]}function Ec(t){return ir(this.__data__,t)>-1}function Tc(t,n){var e=this.__data__,r=ir(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}an.prototype.clear=Pc,an.prototype.delete=Ic,an.prototype.get=Rc,an.prototype.has=Ec,an.prototype.set=Tc;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 Lc(){this.size=0,this.__data__={hash:new Wn,map:new(_e||an),string:new Wn}}function Oc(t){var n=_r(this,t).delete(t);return this.size-=n?1:0,n}function Wc(t){return _r(this,t).get(t)}function Dc(t){return _r(this,t).has(t)}function Fc(t,n){var e=_r(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}fn.prototype.clear=Lc,fn.prototype.delete=Oc,fn.prototype.get=Wc,fn.prototype.has=Dc,fn.prototype.set=Fc;function Dn(t){var n=-1,e=t==null?0:t.length;for(this.__data__=new fn;++n<e;)this.add(t[n])}function Nc(t){return this.__data__.set(t,C),this}function Uc(t){return this.__data__.has(t)}Dn.prototype.add=Dn.prototype.push=Nc,Dn.prototype.has=Uc;function Qt(t){var n=this.__data__=new an(t);this.size=n.size}function Bc(){this.__data__=new an,this.size=0}function Mc(t){var n=this.__data__,e=n.delete(t);return this.size=n.size,e}function $c(t){return this.__data__.get(t)}function Kc(t){return this.__data__.has(t)}function qc(t,n){var e=this.__data__;if(e instanceof an){var r=e.__data__;if(!_e||r.length<_-1)return r.push([t,n]),this.size=++e.size,this;e=this.__data__=new fn(r)}return e.set(t,n),this.size=e.size,this}Qt.prototype.clear=Bc,Qt.prototype.delete=Mc,Qt.prototype.get=$c,Qt.prototype.has=Kc,Qt.prototype.set=qc;function ts(t,n){var e=U(t),r=!e&&Mn(t),u=!e&&!r&&In(t),o=!e&&!r&&!u&&re(t),a=e||r||u||o,c=a?ei(t.length,Vf):[],h=c.length;for(var y in t)(n||Q.call(t,y))&&!(a&&(y=="length"||u&&(y=="offset"||y=="parent")||o&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||dn(y,h)))&&c.push(y);return c}function ns(t){var n=t.length;return n?t[yi(0,n-1)]:i}function kc(t,n){return vr(bt(t),Fn(n,0,t.length))}function zc(t){return vr(bt(t))}function fi(t,n,e){(e!==i&&!Vt(t[n],e)||e===i&&!(n in t))&&cn(t,n,e)}function me(t,n,e){var r=t[n];(!(Q.call(t,n)&&Vt(r,e))||e===i&&!(n in t))&&cn(t,n,e)}function ir(t,n){for(var e=t.length;e--;)if(Vt(t[e][0],n))return e;return-1}function Hc(t,n,e,r){return An(t,function(u,o,a){n(r,u,e(u),a)}),r}function es(t,n){return t&&rn(n,ht(n),t)}function Gc(t,n){return t&&rn(n,Pt(n),t)}function cn(t,n,e){n=="__proto__"&&Ve?Ve(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}function ci(t,n){for(var e=-1,r=n.length,u=g(r),o=t==null;++e<r;)u[e]=o?i:zi(t,n[e]);return u}function Fn(t,n,e){return t===t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)),t}function qt(t,n,e,r,u,o){var a,c=n&P,h=n&T,y=n&F;if(e&&(a=u?e(t,r,u,o):e(t)),a!==i)return a;if(!rt(t))return t;var m=U(t);if(m){if(a=Dl(t),!c)return bt(t,a)}else{var x=_t(t),A=x==Ne||x==iu;if(In(t))return Ps(t,c);if(x==on||x==lt||A&&!u){if(a=h||A?{}:Hs(t),!c)return h?Al(t,Gc(a,t)):Sl(t,es(a,t))}else{if(!tt[x])return u?t:{};a=Fl(t,x,c)}}o||(o=new Qt);var I=o.get(t);if(I)return I;o.set(t,a),xo(t)?t.forEach(function(W){a.add(qt(W,n,e,W,t,o))}):yo(t)&&t.forEach(function(W,k){a.set(k,qt(W,n,e,k,t,o))});var O=y?h?Ti:Ei:h?Pt:ht,$=m?i:O(t);return Mt($||t,function(W,k){$&&(k=W,W=t[k]),me(a,k,qt(W,n,e,k,t,o))}),a}function Jc(t){var n=ht(t);return function(e){return rs(e,t,n)}}function rs(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 is(t,n,e){if(typeof t!="function")throw new $t(S);return Ie(function(){t.apply(i,e)},n)}function xe(t,n,e,r){var u=-1,o=Ke,a=!0,c=t.length,h=[],y=n.length;if(!c)return h;e&&(n=et(n,Lt(e))),r?(o=Xr,a=!1):n.length>=_&&(o=pe,a=!1,n=new Dn(n));t:for(;++u<c;){var m=t[u],x=e==null?m:e(m);if(m=r||m!==0?m:0,a&&x===x){for(var A=y;A--;)if(n[A]===x)continue t;h.push(m)}else o(n,x,r)||h.push(m)}return h}var An=Ls(en),us=Ls(hi,!0);function Zc(t,n){var e=!0;return An(t,function(r,u,o){return e=!!n(r,u,o),e}),e}function ur(t,n,e){for(var r=-1,u=t.length;++r<u;){var o=t[r],a=n(o);if(a!=null&&(c===i?a===a&&!Wt(a):e(a,c)))var c=a,h=o}return h}function Yc(t,n,e,r){var u=t.length;for(e=B(e),e<0&&(e=-e>u?0:u+e),r=r===i||r>u?u:B(r),r<0&&(r+=u),r=e>r?0:Ao(r);e<r;)t[e++]=n;return t}function ss(t,n){var e=[];return An(t,function(r,u,o){n(r,u,o)&&e.push(r)}),e}function pt(t,n,e,r,u){var o=-1,a=t.length;for(e||(e=Ul),u||(u=[]);++o<a;){var c=t[o];n>0&&e(c)?n>1?pt(c,n-1,e,r,u):mn(u,c):r||(u[u.length]=c)}return u}var li=Os(),os=Os(!0);function en(t,n){return t&&li(t,n,ht)}function hi(t,n){return t&&os(t,n,ht)}function sr(t,n){return yn(n,function(e){return pn(t[e])})}function Nn(t,n){n=Cn(n,t);for(var e=0,r=n.length;t!=null&&e<r;)t=t[un(n[e++])];return e&&e==r?t:i}function as(t,n,e){var r=n(t);return U(t)?r:mn(r,e(t))}function mt(t){return t==null?t===i?Aa:xa:On&&On in j(t)?Ll(t):zl(t)}function di(t,n){return t>n}function Xc(t,n){return t!=null&&Q.call(t,n)}function Qc(t,n){return t!=null&&n in j(t)}function Vc(t,n,e){return t>=gt(n,e)&&t<ft(n,e)}function pi(t,n,e){for(var r=e?Xr:Ke,u=t[0].length,o=t.length,a=o,c=g(o),h=1/0,y=[];a--;){var m=t[a];a&&n&&(m=et(m,Lt(n))),h=gt(m.length,h),c[a]=!e&&(n||u>=120&&m.length>=120)?new Dn(a&&m):i}m=t[0];var x=-1,A=c[0];t:for(;++x<u&&y.length<h;){var I=m[x],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 $=c[a];if(!($?pe($,O):r(t[a],O,e)))continue t}A&&A.push(O),y.push(I)}}return y}function jc(t,n,e,r){return en(t,function(u,o,a){n(r,e(u),o,a)}),r}function Se(t,n,e){n=Cn(n,t),t=Ys(t,n);var r=t==null?t:t[un(zt(n))];return r==null?i:Tt(r,t,e)}function fs(t){return it(t)&&mt(t)==lt}function tl(t){return it(t)&&mt(t)==de}function nl(t){return it(t)&&mt(t)==yt}function Ae(t,n,e,r,u){return t===n?!0:t==null||n==null||!it(t)&&!it(n)?t!==t&&n!==n:el(t,n,e,r,Ae,u)}function el(t,n,e,r,u,o){var a=U(t),c=U(n),h=a?Jt:_t(t),y=c?Jt:_t(n);h=h==lt?on:h,y=y==lt?on:y;var m=h==on,x=y==on,A=h==y;if(A&&In(t)){if(!In(n))return!1;a=!0,m=!1}if(A&&!m)return o||(o=new Qt),a||re(t)?qs(t,n,e,r,u,o):El(t,n,h,e,r,u,o);if(!(e&Y)){var I=m&&Q.call(t,"__wrapped__"),O=x&&Q.call(n,"__wrapped__");if(I||O){var $=I?t.value():t,W=O?n.value():n;return o||(o=new Qt),u($,W,e,r,o)}}return A?(o||(o=new Qt),Tl(t,n,e,r,u,o)):!1}function rl(t){return it(t)&&_t(t)==Zt}function gi(t,n,e,r){var u=e.length,o=u,a=!r;if(t==null)return!o;for(t=j(t);u--;){var c=e[u];if(a&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++u<o;){c=e[u];var h=c[0],y=t[h],m=c[1];if(a&&c[2]){if(y===i&&!(h in t))return!1}else{var x=new Qt;if(r)var A=r(y,m,h,t,n,x);if(!(A===i?Ae(m,y,Y|q,r,x):A))return!1}}return!0}function cs(t){if(!rt(t)||Ml(t))return!1;var n=pn(t)?rc:Ga;return n.test(Bn(t))}function il(t){return it(t)&&mt(t)==ce}function ul(t){return it(t)&&_t(t)==Yt}function sl(t){return it(t)&&Ar(t.length)&&!!nt[mt(t)]}function ls(t){return typeof t=="function"?t:t==null?It:typeof t=="object"?U(t)?ps(t[0],t[1]):ds(t):Do(t)}function _i(t){if(!Pe(t))return fc(t);var n=[];for(var e in j(t))Q.call(t,e)&&e!="constructor"&&n.push(e);return n}function ol(t){if(!rt(t))return kl(t);var n=Pe(t),e=[];for(var r in t)r=="constructor"&&(n||!Q.call(t,r))||e.push(r);return e}function vi(t,n){return t<n}function hs(t,n){var e=-1,r=Ct(t)?g(t.length):[];return An(t,function(u,o,a){r[++e]=n(u,o,a)}),r}function ds(t){var n=Oi(t);return n.length==1&&n[0][2]?Js(n[0][0],n[0][1]):function(e){return e===t||gi(e,t,n)}}function ps(t,n){return Di(t)&&Gs(n)?Js(un(t),n):function(e){var r=zi(e,t);return r===i&&r===n?Hi(e,t):Ae(n,r,Y|q)}}function or(t,n,e,r,u){t!==n&&li(n,function(o,a){if(u||(u=new Qt),rt(o))al(t,n,a,e,or,r,u);else{var c=r?r(Ni(t,a),o,a+"",t,n,u):i;c===i&&(c=o),fi(t,a,c)}},Pt)}function al(t,n,e,r,u,o,a){var c=Ni(t,e),h=Ni(n,e),y=a.get(h);if(y){fi(t,e,y);return}var m=o?o(c,h,e+"",t,n,a):i,x=m===i;if(x){var A=U(h),I=!A&&In(h),O=!A&&!I&&re(h);m=h,A||I||O?U(c)?m=c:ut(c)?m=bt(c):I?(x=!1,m=Ps(h,!0)):O?(x=!1,m=Is(h,!0)):m=[]:Re(h)||Mn(h)?(m=c,Mn(c)?m=bo(c):(!rt(c)||pn(c))&&(m=Hs(h))):x=!1}x&&(a.set(h,m),u(m,h,r,o,a),a.delete(h)),fi(t,e,m)}function gs(t,n){var e=t.length;if(e)return n+=n<0?e:0,dn(n,e)?t[n]:i}function _s(t,n,e){n.length?n=et(n,function(o){return U(o)?function(a){return Nn(a,o.length===1?o[0]:o)}:o}):n=[It];var r=-1;n=et(n,Lt(L()));var u=hs(t,function(o,a,c){var h=et(n,function(y){return y(o)});return{criteria:h,index:++r,value:o}});return Ff(u,function(o,a){return xl(o,a,e)})}function fl(t,n){return vs(t,n,function(e,r){return Hi(t,r)})}function vs(t,n,e){for(var r=-1,u=n.length,o={};++r<u;){var a=n[r],c=Nn(t,a);e(c,a)&&be(o,Cn(a,t),c)}return o}function cl(t){return function(n){return Nn(n,t)}}function wi(t,n,e,r){var u=r?Df:Gn,o=-1,a=n.length,c=t;for(t===n&&(n=bt(n)),e&&(c=et(t,Lt(e)));++o<a;)for(var h=0,y=n[o],m=e?e(y):y;(h=u(c,m,h,r))>-1;)c!==t&&Qe.call(c,h,1),Qe.call(t,h,1);return t}function ws(t,n){for(var e=t?n.length:0,r=e-1;e--;){var u=n[e];if(e==r||u!==o){var o=u;dn(u)?Qe.call(t,u,1):Si(t,u)}}return t}function yi(t,n){return t+tr(Vu()*(n-t+1))}function ll(t,n,e,r){for(var u=-1,o=ft(je((n-t)/(e||1)),0),a=g(o);o--;)a[r?o:++u]=t,t+=e;return a}function mi(t,n){var e="";if(!t||n<1||n>nn)return e;do n%2&&(e+=t),n=tr(n/2),n&&(t+=t);while(n);return e}function K(t,n){return Ui(Zs(t,n,It),t+"")}function hl(t){return ns(ie(t))}function dl(t,n){var e=ie(t);return vr(e,Fn(n,0,e.length))}function be(t,n,e,r){if(!rt(t))return t;n=Cn(n,t);for(var u=-1,o=n.length,a=o-1,c=t;c!=null&&++u<o;){var h=un(n[u]),y=e;if(h==="__proto__"||h==="constructor"||h==="prototype")return t;if(u!=a){var m=c[h];y=r?r(m,h,c):i,y===i&&(y=rt(m)?m:dn(n[u+1])?[]:{})}me(c,h,y),c=c[h]}return t}var ys=nr?function(t,n){return nr.set(t,n),t}:It,pl=Ve?function(t,n){return Ve(t,"toString",{configurable:!0,enumerable:!1,value:Ji(n),writable:!0})}:It;function gl(t){return vr(ie(t))}function kt(t,n,e){var r=-1,u=t.length;n<0&&(n=-n>u?0:u+n),e=e>u?u:e,e<0&&(e+=u),u=n>e?0:e-n>>>0,n>>>=0;for(var o=g(u);++r<u;)o[r]=t[r+n];return o}function _l(t,n){var e;return An(t,function(r,u,o){return e=n(r,u,o),!e}),!!e}function ar(t,n,e){var r=0,u=t==null?r:t.length;if(typeof n=="number"&&n===n&&u<=Lr){for(;r<u;){var o=r+u>>>1,a=t[o];a!==null&&!Wt(a)&&(e?a<=n:a<n)?r=o+1:u=o}return u}return xi(t,n,It,e)}function xi(t,n,e,r){var u=0,o=t==null?0:t.length;if(o===0)return 0;n=e(n);for(var a=n!==n,c=n===null,h=Wt(n),y=n===i;u<o;){var m=tr((u+o)/2),x=e(t[m]),A=x!==i,I=x===null,O=x===x,$=Wt(x);if(a)var W=r||O;else y?W=O&&(r||A):c?W=O&&A&&(r||!I):h?W=O&&A&&!I&&(r||!$):I||$?W=!1:W=r?x<=n:x<n;W?u=m+1:o=m}return gt(o,De)}function ms(t,n){for(var e=-1,r=t.length,u=0,o=[];++e<r;){var a=t[e],c=n?n(a):a;if(!e||!Vt(c,h)){var h=c;o[u++]=a===0?0:a}}return o}function xs(t){return typeof t=="number"?t:Wt(t)?kn:+t}function Ot(t){if(typeof t=="string")return t;if(U(t))return et(t,Ot)+"";if(Wt(t))return ju?ju.call(t):"";var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function bn(t,n,e){var r=-1,u=Ke,o=t.length,a=!0,c=[],h=c;if(e)a=!1,u=Xr;else if(o>=_){var y=n?null:Il(t);if(y)return ke(y);a=!1,u=pe,h=new Dn}else h=n?[]:c;t:for(;++r<o;){var m=t[r],x=n?n(m):m;if(m=e||m!==0?m:0,a&&x===x){for(var A=h.length;A--;)if(h[A]===x)continue t;n&&h.push(x),c.push(m)}else u(h,x,e)||(h!==c&&h.push(x),c.push(m))}return c}function Si(t,n){return n=Cn(n,t),t=Ys(t,n),t==null||delete t[un(zt(n))]}function Ss(t,n,e,r){return be(t,n,e(Nn(t,n)),r)}function fr(t,n,e,r){for(var u=t.length,o=r?u:-1;(r?o--:++o<u)&&n(t[o],o,t););return e?kt(t,r?0:o,r?o+1:u):kt(t,r?o+1:0,r?u:o)}function As(t,n){var e=t;return e instanceof z&&(e=e.value()),Qr(n,function(r,u){return u.func.apply(u.thisArg,mn([r],u.args))},e)}function Ai(t,n,e){var r=t.length;if(r<2)return r?bn(t[0]):[];for(var u=-1,o=g(r);++u<r;)for(var a=t[u],c=-1;++c<r;)c!=u&&(o[u]=xe(o[u]||a,t[c],n,e));return bn(pt(o,1),n,e)}function bs(t,n,e){for(var r=-1,u=t.length,o=n.length,a={};++r<u;){var c=r<o?n[r]:i;e(a,t[r],c)}return a}function bi(t){return ut(t)?t:[]}function Ci(t){return typeof t=="function"?t:It}function Cn(t,n){return U(t)?t:Di(t,n)?[t]:js(X(t))}var vl=K;function Pn(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:kt(t,n,e)}var Cs=ic||function(t){return dt.clearTimeout(t)};function Ps(t,n){if(n)return t.slice();var e=t.length,r=Ju?Ju(e):new t.constructor(e);return t.copy(r),r}function Pi(t){var n=new t.constructor(t.byteLength);return new Ye(n).set(new Ye(t)),n}function wl(t,n){var e=n?Pi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function yl(t){var n=new t.constructor(t.source,fu.exec(t));return n.lastIndex=t.lastIndex,n}function ml(t){return ye?j(ye.call(t)):{}}function Is(t,n){var e=n?Pi(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Rs(t,n){if(t!==n){var e=t!==i,r=t===null,u=t===t,o=Wt(t),a=n!==i,c=n===null,h=n===n,y=Wt(n);if(!c&&!y&&!o&&t>n||o&&a&&h&&!c&&!y||r&&a&&h||!e&&h||!u)return 1;if(!r&&!o&&!y&&t<n||y&&e&&u&&!r&&!o||c&&e&&u||!a&&u||!h)return-1}return 0}function xl(t,n,e){for(var r=-1,u=t.criteria,o=n.criteria,a=u.length,c=e.length;++r<a;){var h=Rs(u[r],o[r]);if(h){if(r>=c)return h;var y=e[r];return h*(y=="desc"?-1:1)}}return t.index-n.index}function Es(t,n,e,r){for(var u=-1,o=t.length,a=e.length,c=-1,h=n.length,y=ft(o-a,0),m=g(h+y),x=!r;++c<h;)m[c]=n[c];for(;++u<a;)(x||u<o)&&(m[e[u]]=t[u]);for(;y--;)m[c++]=t[u++];return m}function Ts(t,n,e,r){for(var u=-1,o=t.length,a=-1,c=e.length,h=-1,y=n.length,m=ft(o-c,0),x=g(m+y),A=!r;++u<m;)x[u]=t[u];for(var I=u;++h<y;)x[I+h]=n[h];for(;++a<c;)(A||u<o)&&(x[I+e[a]]=t[u++]);return x}function bt(t,n){var e=-1,r=t.length;for(n||(n=g(r));++e<r;)n[e]=t[e];return n}function rn(t,n,e,r){var u=!e;e||(e={});for(var o=-1,a=n.length;++o<a;){var c=n[o],h=r?r(e[c],t[c],c,e,t):i;h===i&&(h=t[c]),u?cn(e,c,h):me(e,c,h)}return e}function Sl(t,n){return rn(t,Wi(t),n)}function Al(t,n){return rn(t,ks(t),n)}function cr(t,n){return function(e,r){var u=U(e)?Rf:Hc,o=n?n():{};return u(e,t,L(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&&xt(e[0],e[1],a)&&(o=u<3?i:o,u=1),n=j(n);++r<u;){var c=e[r];c&&t(n,c,r,o)}return n})}function Ls(t,n){return function(e,r){if(e==null)return e;if(!Ct(e))return t(e,r);for(var u=e.length,o=n?u:-1,a=j(e);(n?o--:++o<u)&&r(a[o],o,a)!==!1;);return e}}function Os(t){return function(n,e,r){for(var u=-1,o=j(n),a=r(n),c=a.length;c--;){var h=a[t?c:++u];if(e(o[h],h,o)===!1)break}return n}}function bl(t,n,e){var r=n&wt,u=Ce(t);function o(){var a=this&&this!==dt&&this instanceof o?u:t;return a.apply(r?e:this,arguments)}return o}function Ws(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 Qr(Oo(Lo(n).replace(pf,"")),t,"")}}function Ce(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=jn(t.prototype),r=t.apply(e,n);return rt(r)?r:e}}function Cl(t,n,e){var r=Ce(t);function u(){for(var o=arguments.length,a=g(o),c=o,h=ee(u);c--;)a[c]=arguments[c];var y=o<3&&a[0]!==h&&a[o-1]!==h?[]:xn(a,h);if(o-=y.length,o<e)return Bs(t,n,lr,u.placeholder,i,a,y,i,i,e-o);var m=this&&this!==dt&&this instanceof u?r:t;return Tt(m,this,a)}return u}function Ds(t){return function(n,e,r){var u=j(n);if(!Ct(n)){var o=L(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 Fs(t){return hn(function(n){var e=n.length,r=e,u=Kt.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if(typeof o!="function")throw new $t(S);if(u&&!a&&gr(o)=="wrapper")var a=new Kt([],!0)}for(r=a?r:e;++r<e;){o=n[r];var c=gr(o),h=c=="wrapper"?Li(o):i;h&&Fi(h[0])&&h[1]==(At|ot|Gt|Nt)&&!h[4].length&&h[9]==1?a=a[gr(h[0])].apply(a,h[3]):a=o.length==1&&Fi(o)?a[c]():a.thru(o)}return function(){var y=arguments,m=y[0];if(a&&y.length==1&&U(m))return a.plant(m).value();for(var x=0,A=e?n[x].apply(this,y):m;++x<e;)A=n[x].call(this,A);return A}})}function lr(t,n,e,r,u,o,a,c,h,y){var m=n&At,x=n&wt,A=n&Rt,I=n&(ot|En),O=n&Kn,$=A?i:Ce(t);function W(){for(var k=arguments.length,G=g(k),Dt=k;Dt--;)G[Dt]=arguments[Dt];if(I)var St=ee(W),Ft=Uf(G,St);if(r&&(G=Es(G,r,u,I)),o&&(G=Ts(G,o,a,I)),k-=Ft,I&&k<y){var st=xn(G,St);return Bs(t,n,lr,W.placeholder,e,G,st,c,h,y-k)}var jt=x?e:this,_n=A?jt[t]:t;return k=G.length,c?G=Hl(G,c):O&&k>1&&G.reverse(),m&&h<k&&(G.length=h),this&&this!==dt&&this instanceof W&&(_n=$||Ce(_n)),_n.apply(jt,G)}return W}function Ns(t,n){return function(e,r){return jc(e,t,n(r),{})}}function hr(t,n){return function(e,r){var u;if(e===i&&r===i)return n;if(e!==i&&(u=e),r!==i){if(u===i)return r;typeof e=="string"||typeof r=="string"?(e=Ot(e),r=Ot(r)):(e=xs(e),r=xs(r)),u=t(e,r)}return u}}function Ii(t){return hn(function(n){return n=et(n,Lt(L())),K(function(e){var r=this;return t(n,function(u){return Tt(u,r,e)})})})}function dr(t,n){n=n===i?" ":Ot(n);var e=n.length;if(e<2)return e?mi(n,t):n;var r=mi(n,je(t/Zn(n)));return Jn(n)?Pn(Xt(r),0,t).join(""):r.slice(0,t)}function Pl(t,n,e,r){var u=n&wt,o=Ce(t);function a(){for(var c=-1,h=arguments.length,y=-1,m=r.length,x=g(m+h),A=this&&this!==dt&&this instanceof a?o:t;++y<m;)x[y]=r[y];for(;h--;)x[y++]=arguments[++c];return Tt(A,u?e:this,x)}return a}function Us(t){return function(n,e,r){return r&&typeof r!="number"&&xt(n,e,r)&&(e=r=i),n=gn(n),e===i?(e=n,n=0):e=gn(e),r=r===i?n<e?1:-1:gn(r),ll(n,e,r,t)}}function pr(t){return function(n,e){return typeof n=="string"&&typeof e=="string"||(n=Ht(n),e=Ht(e)),t(n,e)}}function Bs(t,n,e,r,u,o,a,c,h,y){var m=n&ot,x=m?a:i,A=m?i:a,I=m?o:i,O=m?i:o;n|=m?Gt:vn,n&=~(m?vn:Gt),n&tn||(n&=-4);var $=[t,n,u,I,x,O,A,c,h,y],W=e.apply(i,$);return Fi(t)&&Xs(W,$),W.placeholder=r,Qs(W,t,n)}function Ri(t){var n=at[t];return function(e,r){if(e=Ht(e),r=r==null?0:gt(B(r),292),r&&Qu(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 Il=Qn&&1/ke(new Qn([,-0]))[1]==sn?function(t){return new Qn(t)}:Xi;function Ms(t){return function(n){var e=_t(n);return e==Zt?ii(n):e==Yt?zf(n):Nf(n,t(n))}}function ln(t,n,e,r,u,o,a,c){var h=n&Rt;if(!h&&typeof t!="function")throw new $t(S);var y=r?r.length:0;if(y||(n&=-97,r=u=i),a=a===i?a:ft(B(a),0),c=c===i?c:B(c),y-=u?u.length:0,n&vn){var m=r,x=u;r=u=i}var A=h?i:Li(t),I=[t,n,e,r,u,m,x,o,a,c];if(A&&ql(I,A),t=I[0],n=I[1],e=I[2],r=I[3],u=I[4],c=I[9]=I[9]===i?h?0:t.length:ft(I[9]-y,0),!c&&n&(ot|En)&&(n&=-25),!n||n==wt)var O=bl(t,n,e);else n==ot||n==En?O=Cl(t,n,c):(n==Gt||n==(wt|Gt))&&!u.length?O=Pl(t,n,e,r):O=lr.apply(i,I);var $=A?ys:Xs;return Qs($(O,I),t,n)}function $s(t,n,e,r){return t===i||Vt(t,Xn[e])&&!Q.call(r,e)?n:t}function Ks(t,n,e,r,u,o){return rt(t)&&rt(n)&&(o.set(n,t),or(t,n,i,Ks,o),o.delete(n)),t}function Rl(t){return Re(t)?i:t}function qs(t,n,e,r,u,o){var a=e&Y,c=t.length,h=n.length;if(c!=h&&!(a&&h>c))return!1;var y=o.get(t),m=o.get(n);if(y&&m)return y==n&&m==t;var x=-1,A=!0,I=e&q?new Dn:i;for(o.set(t,n),o.set(n,t);++x<c;){var O=t[x],$=n[x];if(r)var W=a?r($,O,x,n,t,o):r(O,$,x,t,n,o);if(W!==i){if(W)continue;A=!1;break}if(I){if(!Vr(n,function(k,G){if(!pe(I,G)&&(O===k||u(O,k,e,r,o)))return I.push(G)})){A=!1;break}}else if(!(O===$||u(O,$,e,r,o))){A=!1;break}}return o.delete(t),o.delete(n),A}function El(t,n,e,r,u,o,a){switch(e){case zn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case de:return!(t.byteLength!=n.byteLength||!o(new Ye(t),new Ye(n)));case wn:case yt:case fe:return Vt(+t,+n);case Fe:return t.name==n.name&&t.message==n.message;case ce:case le:return t==n+"";case Zt:var c=ii;case Yt:var h=r&Y;if(c||(c=ke),t.size!=n.size&&!h)return!1;var y=a.get(t);if(y)return y==n;r|=q,a.set(t,n);var m=qs(c(t),c(n),r,u,o,a);return a.delete(t),m;case Ue:if(ye)return ye.call(t)==ye.call(n)}return!1}function Tl(t,n,e,r,u,o){var a=e&Y,c=Ei(t),h=c.length,y=Ei(n),m=y.length;if(h!=m&&!a)return!1;for(var x=h;x--;){var A=c[x];if(!(a?A in n:Q.call(n,A)))return!1}var I=o.get(t),O=o.get(n);if(I&&O)return I==n&&O==t;var $=!0;o.set(t,n),o.set(n,t);for(var W=a;++x<h;){A=c[x];var k=t[A],G=n[A];if(r)var Dt=a?r(G,k,A,n,t,o):r(k,G,A,t,n,o);if(!(Dt===i?k===G||u(k,G,e,r,o):Dt)){$=!1;break}W||(W=A=="constructor")}if($&&!W){var St=t.constructor,Ft=n.constructor;St!=Ft&&"constructor"in t&&"constructor"in n&&!(typeof St=="function"&&St instanceof St&&typeof Ft=="function"&&Ft instanceof Ft)&&($=!1)}return o.delete(t),o.delete(n),$}function hn(t){return Ui(Zs(t,i,ro),t+"")}function Ei(t){return as(t,ht,Wi)}function Ti(t){return as(t,Pt,ks)}var Li=nr?function(t){return nr.get(t)}:Xi;function gr(t){for(var n=t.name+"",e=Vn[n],r=Q.call(Vn,n)?e.length:0;r--;){var u=e[r],o=u.func;if(o==null||o==t)return u.name}return n}function ee(t){var n=Q.call(s,"placeholder")?s:t;return n.placeholder}function L(){var t=s.iteratee||Zi;return t=t===Zi?ls:t,arguments.length?t(arguments[0],arguments[1]):t}function _r(t,n){var e=t.__data__;return Bl(n)?e[typeof n=="string"?"string":"hash"]:e.map}function Oi(t){for(var n=ht(t),e=n.length;e--;){var r=n[e],u=t[r];n[e]=[r,u,Gs(u)]}return n}function Un(t,n){var e=Kf(t,n);return cs(e)?e:i}function Ll(t){var n=Q.call(t,On),e=t[On];try{t[On]=i;var r=!0}catch{}var u=Je.call(t);return r&&(n?t[On]=e:delete t[On]),u}var Wi=si?function(t){return t==null?[]:(t=j(t),yn(si(t),function(n){return Yu.call(t,n)}))}:Qi,ks=si?function(t){for(var n=[];t;)mn(n,Wi(t)),t=Xe(t);return n}:Qi,_t=mt;(oi&&_t(new oi(new ArrayBuffer(1)))!=zn||_e&&_t(new _e)!=Zt||ai&&_t(ai.resolve())!=uu||Qn&&_t(new Qn)!=Yt||ve&&_t(new ve)!=he)&&(_t=function(t){var n=mt(t),e=n==on?t.constructor:i,r=e?Bn(e):"";if(r)switch(r){case dc:return zn;case pc:return Zt;case gc:return uu;case _c:return Yt;case vc:return he}return n});function Ol(t,n,e){for(var r=-1,u=e.length;++r<u;){var o=e[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":n-=a;break;case"take":n=gt(n,t+a);break;case"takeRight":t=ft(t,n-a);break}}return{start:t,end:n}}function Wl(t){var n=t.match(Ba);return n?n[1].split(Ma):[]}function zs(t,n,e){n=Cn(n,t);for(var r=-1,u=n.length,o=!1;++r<u;){var a=un(n[r]);if(!(o=t!=null&&e(t,a)))break;t=t[a]}return o||++r!=u?o:(u=t==null?0:t.length,!!u&&Ar(u)&&dn(a,u)&&(U(t)||Mn(t)))}function Dl(t){var n=t.length,e=new t.constructor(n);return n&&typeof t[0]=="string"&&Q.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Hs(t){return typeof t.constructor=="function"&&!Pe(t)?jn(Xe(t)):{}}function Fl(t,n,e){var r=t.constructor;switch(n){case de:return Pi(t);case wn:case yt:return new r(+t);case zn:return wl(t,e);case Or:case Wr:case Dr:case Fr:case Nr:case Ur:case Br:case Mr:case $r:return Is(t,e);case Zt:return new r;case fe:case le:return new r(t);case ce:return yl(t);case Yt:return new r;case Ue:return ml(t)}}function Nl(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(Ua,`{
|
|
9
|
+
/* [wrapped with `+n+`] */
|
|
10
|
+
`)}function Ul(t){return U(t)||Mn(t)||!!(Xu&&t&&t[Xu])}function dn(t,n){var e=typeof t;return n=n??nn,!!n&&(e=="number"||e!="symbol"&&Za.test(t))&&t>-1&&t%1==0&&t<n}function xt(t,n,e){if(!rt(e))return!1;var r=typeof n;return(r=="number"?Ct(e)&&dn(n,e.length):r=="string"&&n in e)?Vt(e[n],t):!1}function Di(t,n){if(U(t))return!1;var e=typeof t;return e=="number"||e=="symbol"||e=="boolean"||t==null||Wt(t)?!0:Wa.test(t)||!Oa.test(t)||n!=null&&t in j(n)}function Bl(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Fi(t){var n=gr(t),e=s[n];if(typeof e!="function"||!(n in z.prototype))return!1;if(t===e)return!0;var r=Li(e);return!!r&&t===r[0]}function Ml(t){return!!Gu&&Gu in t}var $l=He?pn:Vi;function Pe(t){var n=t&&t.constructor,e=typeof n=="function"&&n.prototype||Xn;return t===e}function Gs(t){return t===t&&!rt(t)}function Js(t,n){return function(e){return e==null?!1:e[t]===n&&(n!==i||t in j(e))}}function Kl(t){var n=xr(t,function(r){return e.size===M&&e.clear(),r}),e=n.cache;return n}function ql(t,n){var e=t[1],r=n[1],u=e|r,o=u<(wt|Rt|At),a=r==At&&e==ot||r==At&&e==Nt&&t[7].length<=n[8]||r==(At|Nt)&&n[7].length<=n[8]&&e==ot;if(!(o||a))return t;r&wt&&(t[2]=n[2],u|=e&wt?0:tn);var c=n[3];if(c){var h=t[3];t[3]=h?Es(h,c,n[4]):c,t[4]=h?xn(t[3],R):n[4]}return c=n[5],c&&(h=t[5],t[5]=h?Ts(h,c,n[6]):c,t[6]=h?xn(t[5],R):n[6]),c=n[7],c&&(t[7]=c),r&At&&(t[8]=t[8]==null?n[8]:gt(t[8],n[8])),t[9]==null&&(t[9]=n[9]),t[0]=n[0],t[1]=u,t}function kl(t){var n=[];if(t!=null)for(var e in j(t))n.push(e);return n}function zl(t){return Je.call(t)}function Zs(t,n,e){return n=ft(n===i?t.length-1:n,0),function(){for(var r=arguments,u=-1,o=ft(r.length-n,0),a=g(o);++u<o;)a[u]=r[n+u];u=-1;for(var c=g(n+1);++u<n;)c[u]=r[u];return c[n]=e(a),Tt(t,this,c)}}function Ys(t,n){return n.length<2?t:Nn(t,kt(n,0,-1))}function Hl(t,n){for(var e=t.length,r=gt(n.length,e),u=bt(t);r--;){var o=n[r];t[r]=dn(o,e)?u[o]:i}return t}function Ni(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}var Xs=Vs(ys),Ie=sc||function(t,n){return dt.setTimeout(t,n)},Ui=Vs(pl);function Qs(t,n,e){var r=n+"";return Ui(t,Nl(r,Gl(Wl(r),e)))}function Vs(t){var n=0,e=0;return function(){var r=cc(),u=qn-(r-e);if(e=r,u>0){if(++n>=We)return arguments[0]}else n=0;return t.apply(i,arguments)}}function vr(t,n){var e=-1,r=t.length,u=r-1;for(n=n===i?r:n;++e<n;){var o=yi(e,u),a=t[o];t[o]=t[e],t[e]=a}return t.length=n,t}var js=Kl(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(Da,function(e,r,u,o){n.push(u?o.replace(qa,"$1"):r||e)}),n});function un(t){if(typeof t=="string"||Wt(t))return t;var n=t+"";return n=="0"&&1/t==-sn?"-0":n}function Bn(t){if(t!=null){try{return Ge.call(t)}catch{}try{return t+""}catch{}}return""}function Gl(t,n){return Mt(V,function(e){var r="_."+e[0];n&e[1]&&!Ke(t,r)&&t.push(r)}),t.sort()}function to(t){if(t instanceof z)return t.clone();var n=new Kt(t.__wrapped__,t.__chain__);return n.__actions__=bt(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function Jl(t,n,e){(e?xt(t,n,e):n===i)?n=1:n=ft(B(n),0);var r=t==null?0:t.length;if(!r||n<1)return[];for(var u=0,o=0,a=g(je(r/n));u<r;)a[o++]=kt(t,u,u+=n);return a}function Zl(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 Yl(){var t=arguments.length;if(!t)return[];for(var n=g(t-1),e=arguments[0],r=t;r--;)n[r-1]=arguments[r];return mn(U(e)?bt(e):[e],pt(n,1))}var Xl=K(function(t,n){return ut(t)?xe(t,pt(n,1,ut,!0)):[]}),Ql=K(function(t,n){var e=zt(n);return ut(e)&&(e=i),ut(t)?xe(t,pt(n,1,ut,!0),L(e,2)):[]}),Vl=K(function(t,n){var e=zt(n);return ut(e)&&(e=i),ut(t)?xe(t,pt(n,1,ut,!0),i,e):[]});function jl(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:B(n),kt(t,n<0?0:n,r)):[]}function th(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:B(n),n=r-n,kt(t,0,n<0?0:n)):[]}function nh(t,n){return t&&t.length?fr(t,L(n,3),!0,!0):[]}function eh(t,n){return t&&t.length?fr(t,L(n,3),!0):[]}function rh(t,n,e,r){var u=t==null?0:t.length;return u?(e&&typeof e!="number"&&xt(t,n,e)&&(e=0,r=u),Yc(t,n,e,r)):[]}function no(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:B(e);return u<0&&(u=ft(r+u,0)),qe(t,L(n,3),u)}function eo(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r-1;return e!==i&&(u=B(e),u=e<0?ft(r+u,0):gt(u,r-1)),qe(t,L(n,3),u,!0)}function ro(t){var n=t==null?0:t.length;return n?pt(t,1):[]}function ih(t){var n=t==null?0:t.length;return n?pt(t,sn):[]}function uh(t,n){var e=t==null?0:t.length;return e?(n=n===i?1:B(n),pt(t,n)):[]}function sh(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 io(t){return t&&t.length?t[0]:i}function oh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=e==null?0:B(e);return u<0&&(u=ft(r+u,0)),Gn(t,n,u)}function ah(t){var n=t==null?0:t.length;return n?kt(t,0,-1):[]}var fh=K(function(t){var n=et(t,bi);return n.length&&n[0]===t[0]?pi(n):[]}),ch=K(function(t){var n=zt(t),e=et(t,bi);return n===zt(e)?n=i:e.pop(),e.length&&e[0]===t[0]?pi(e,L(n,2)):[]}),lh=K(function(t){var n=zt(t),e=et(t,bi);return n=typeof n=="function"?n:i,n&&e.pop(),e.length&&e[0]===t[0]?pi(e,i,n):[]});function hh(t,n){return t==null?"":ac.call(t,n)}function zt(t){var n=t==null?0:t.length;return n?t[n-1]:i}function dh(t,n,e){var r=t==null?0:t.length;if(!r)return-1;var u=r;return e!==i&&(u=B(e),u=u<0?ft(r+u,0):gt(u,r-1)),n===n?Gf(t,n,u):qe(t,Bu,u,!0)}function ph(t,n){return t&&t.length?gs(t,B(n)):i}var gh=K(uo);function uo(t,n){return t&&t.length&&n&&n.length?wi(t,n):t}function _h(t,n,e){return t&&t.length&&n&&n.length?wi(t,n,L(e,2)):t}function vh(t,n,e){return t&&t.length&&n&&n.length?wi(t,n,i,e):t}var wh=hn(function(t,n){var e=t==null?0:t.length,r=ci(t,n);return ws(t,et(n,function(u){return dn(u,e)?+u:u}).sort(Rs)),r});function yh(t,n){var e=[];if(!(t&&t.length))return e;var r=-1,u=[],o=t.length;for(n=L(n,3);++r<o;){var a=t[r];n(a,r,t)&&(e.push(a),u.push(r))}return ws(t,u),e}function Bi(t){return t==null?t:hc.call(t)}function mh(t,n,e){var r=t==null?0:t.length;return r?(e&&typeof e!="number"&&xt(t,n,e)?(n=0,e=r):(n=n==null?0:B(n),e=e===i?r:B(e)),kt(t,n,e)):[]}function xh(t,n){return ar(t,n)}function Sh(t,n,e){return xi(t,n,L(e,2))}function Ah(t,n){var e=t==null?0:t.length;if(e){var r=ar(t,n);if(r<e&&Vt(t[r],n))return r}return-1}function bh(t,n){return ar(t,n,!0)}function Ch(t,n,e){return xi(t,n,L(e,2),!0)}function Ph(t,n){var e=t==null?0:t.length;if(e){var r=ar(t,n,!0)-1;if(Vt(t[r],n))return r}return-1}function Ih(t){return t&&t.length?ms(t):[]}function Rh(t,n){return t&&t.length?ms(t,L(n,2)):[]}function Eh(t){var n=t==null?0:t.length;return n?kt(t,1,n):[]}function Th(t,n,e){return t&&t.length?(n=e||n===i?1:B(n),kt(t,0,n<0?0:n)):[]}function Lh(t,n,e){var r=t==null?0:t.length;return r?(n=e||n===i?1:B(n),n=r-n,kt(t,n<0?0:n,r)):[]}function Oh(t,n){return t&&t.length?fr(t,L(n,3),!1,!0):[]}function Wh(t,n){return t&&t.length?fr(t,L(n,3)):[]}var Dh=K(function(t){return bn(pt(t,1,ut,!0))}),Fh=K(function(t){var n=zt(t);return ut(n)&&(n=i),bn(pt(t,1,ut,!0),L(n,2))}),Nh=K(function(t){var n=zt(t);return n=typeof n=="function"?n:i,bn(pt(t,1,ut,!0),i,n)});function Uh(t){return t&&t.length?bn(t):[]}function Bh(t,n){return t&&t.length?bn(t,L(n,2)):[]}function Mh(t,n){return n=typeof n=="function"?n:i,t&&t.length?bn(t,i,n):[]}function Mi(t){if(!(t&&t.length))return[];var n=0;return t=yn(t,function(e){if(ut(e))return n=ft(e.length,n),!0}),ei(n,function(e){return et(t,jr(e))})}function so(t,n){if(!(t&&t.length))return[];var e=Mi(t);return n==null?e:et(e,function(r){return Tt(n,i,r)})}var $h=K(function(t,n){return ut(t)?xe(t,n):[]}),Kh=K(function(t){return Ai(yn(t,ut))}),qh=K(function(t){var n=zt(t);return ut(n)&&(n=i),Ai(yn(t,ut),L(n,2))}),kh=K(function(t){var n=zt(t);return n=typeof n=="function"?n:i,Ai(yn(t,ut),i,n)}),zh=K(Mi);function Hh(t,n){return bs(t||[],n||[],me)}function Gh(t,n){return bs(t||[],n||[],be)}var Jh=K(function(t){var n=t.length,e=n>1?t[n-1]:i;return e=typeof e=="function"?(t.pop(),e):i,so(t,e)});function oo(t){var n=s(t);return n.__chain__=!0,n}function Zh(t,n){return n(t),t}function wr(t,n){return n(t)}var Yh=hn(function(t){var n=t.length,e=n?t[0]:0,r=this.__wrapped__,u=function(o){return ci(o,t)};return n>1||this.__actions__.length||!(r instanceof z)||!dn(e)?this.thru(u):(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:wr,args:[u],thisArg:i}),new Kt(r,this.__chain__).thru(function(o){return n&&!o.length&&o.push(i),o}))});function Xh(){return oo(this)}function Qh(){return new Kt(this.value(),this.__chain__)}function Vh(){this.__values__===i&&(this.__values__=So(this.value()));var t=this.__index__>=this.__values__.length,n=t?i:this.__values__[this.__index__++];return{done:t,value:n}}function jh(){return this}function td(t){for(var n,e=this;e instanceof rr;){var r=to(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 nd(){var t=this.__wrapped__;if(t instanceof z){var n=t;return this.__actions__.length&&(n=new z(this)),n=n.reverse(),n.__actions__.push({func:wr,args:[Bi],thisArg:i}),new Kt(n,this.__chain__)}return this.thru(Bi)}function ed(){return As(this.__wrapped__,this.__actions__)}var rd=cr(function(t,n,e){Q.call(t,e)?++t[e]:cn(t,e,1)});function id(t,n,e){var r=U(t)?Nu:Zc;return e&&xt(t,n,e)&&(n=i),r(t,L(n,3))}function ud(t,n){var e=U(t)?yn:ss;return e(t,L(n,3))}var sd=Ds(no),od=Ds(eo);function ad(t,n){return pt(yr(t,n),1)}function fd(t,n){return pt(yr(t,n),sn)}function cd(t,n,e){return e=e===i?1:B(e),pt(yr(t,n),e)}function ao(t,n){var e=U(t)?Mt:An;return e(t,L(n,3))}function fo(t,n){var e=U(t)?Ef:us;return e(t,L(n,3))}var ld=cr(function(t,n,e){Q.call(t,e)?t[e].push(n):cn(t,e,[n])});function hd(t,n,e,r){t=Ct(t)?t:ie(t),e=e&&!r?B(e):0;var u=t.length;return e<0&&(e=ft(u+e,0)),br(t)?e<=u&&t.indexOf(n,e)>-1:!!u&&Gn(t,n,e)>-1}var dd=K(function(t,n,e){var r=-1,u=typeof n=="function",o=Ct(t)?g(t.length):[];return An(t,function(a){o[++r]=u?Tt(n,a,e):Se(a,n,e)}),o}),pd=cr(function(t,n,e){cn(t,e,n)});function yr(t,n){var e=U(t)?et:hs;return e(t,L(n,3))}function gd(t,n,e,r){return t==null?[]:(U(n)||(n=n==null?[]:[n]),e=r?i:e,U(e)||(e=e==null?[]:[e]),_s(t,n,e))}var _d=cr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]});function vd(t,n,e){var r=U(t)?Qr:$u,u=arguments.length<3;return r(t,L(n,4),e,u,An)}function wd(t,n,e){var r=U(t)?Tf:$u,u=arguments.length<3;return r(t,L(n,4),e,u,us)}function yd(t,n){var e=U(t)?yn:ss;return e(t,Sr(L(n,3)))}function md(t){var n=U(t)?ns:hl;return n(t)}function xd(t,n,e){(e?xt(t,n,e):n===i)?n=1:n=B(n);var r=U(t)?kc:dl;return r(t,n)}function Sd(t){var n=U(t)?zc:gl;return n(t)}function Ad(t){if(t==null)return 0;if(Ct(t))return br(t)?Zn(t):t.length;var n=_t(t);return n==Zt||n==Yt?t.size:_i(t).length}function bd(t,n,e){var r=U(t)?Vr:_l;return e&&xt(t,n,e)&&(n=i),r(t,L(n,3))}var Cd=K(function(t,n){if(t==null)return[];var e=n.length;return e>1&&xt(t,n[0],n[1])?n=[]:e>2&&xt(n[0],n[1],n[2])&&(n=[n[0]]),_s(t,pt(n,1),[])}),mr=uc||function(){return dt.Date.now()};function Pd(t,n){if(typeof n!="function")throw new $t(S);return t=B(t),function(){if(--t<1)return n.apply(this,arguments)}}function co(t,n,e){return n=e?i:n,n=t&&n==null?t.length:n,ln(t,At,i,i,i,i,n)}function lo(t,n){var e;if(typeof n!="function")throw new $t(S);return t=B(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=i),e}}var $i=K(function(t,n,e){var r=wt;if(e.length){var u=xn(e,ee($i));r|=Gt}return ln(t,r,n,e,u)}),ho=K(function(t,n,e){var r=wt|Rt;if(e.length){var u=xn(e,ee(ho));r|=Gt}return ln(n,r,t,e,u)});function po(t,n,e){n=e?i:n;var r=ln(t,ot,i,i,i,i,i,n);return r.placeholder=po.placeholder,r}function go(t,n,e){n=e?i:n;var r=ln(t,En,i,i,i,i,i,n);return r.placeholder=go.placeholder,r}function _o(t,n,e){var r,u,o,a,c,h,y=0,m=!1,x=!1,A=!0;if(typeof t!="function")throw new $t(S);n=Ht(n)||0,rt(e)&&(m=!!e.leading,x="maxWait"in e,o=x?ft(Ht(e.maxWait)||0,n):o,A="trailing"in e?!!e.trailing:A);function I(st){var jt=r,_n=u;return r=u=i,y=st,a=t.apply(_n,jt),a}function O(st){return y=st,c=Ie(k,n),m?I(st):a}function $(st){var jt=st-h,_n=st-y,Fo=n-jt;return x?gt(Fo,o-_n):Fo}function W(st){var jt=st-h,_n=st-y;return h===i||jt>=n||jt<0||x&&_n>=o}function k(){var st=mr();if(W(st))return G(st);c=Ie(k,$(st))}function G(st){return c=i,A&&r?I(st):(r=u=i,a)}function Dt(){c!==i&&Cs(c),y=0,r=h=u=c=i}function St(){return c===i?a:G(mr())}function Ft(){var st=mr(),jt=W(st);if(r=arguments,u=this,h=st,jt){if(c===i)return O(h);if(x)return Cs(c),c=Ie(k,n),I(h)}return c===i&&(c=Ie(k,n)),a}return Ft.cancel=Dt,Ft.flush=St,Ft}var Id=K(function(t,n){return is(t,1,n)}),Rd=K(function(t,n,e){return is(t,Ht(n)||0,e)});function Ed(t){return ln(t,Kn)}function xr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new $t(S);var e=function(){var r=arguments,u=n?n.apply(this,r):r[0],o=e.cache;if(o.has(u))return o.get(u);var a=t.apply(this,r);return e.cache=o.set(u,a)||o,a};return e.cache=new(xr.Cache||fn),e}xr.Cache=fn;function Sr(t){if(typeof t!="function")throw new $t(S);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 Td(t){return lo(2,t)}var Ld=vl(function(t,n){n=n.length==1&&U(n[0])?et(n[0],Lt(L())):et(pt(n,1),Lt(L()));var e=n.length;return K(function(r){for(var u=-1,o=gt(r.length,e);++u<o;)r[u]=n[u].call(this,r[u]);return Tt(t,this,r)})}),Ki=K(function(t,n){var e=xn(n,ee(Ki));return ln(t,Gt,i,n,e)}),vo=K(function(t,n){var e=xn(n,ee(vo));return ln(t,vn,i,n,e)}),Od=hn(function(t,n){return ln(t,Nt,i,i,i,n)});function Wd(t,n){if(typeof t!="function")throw new $t(S);return n=n===i?n:B(n),K(t,n)}function Dd(t,n){if(typeof t!="function")throw new $t(S);return n=n==null?0:ft(B(n),0),K(function(e){var r=e[n],u=Pn(e,0,n);return r&&mn(u,r),Tt(t,this,u)})}function Fd(t,n,e){var r=!0,u=!0;if(typeof t!="function")throw new $t(S);return rt(e)&&(r="leading"in e?!!e.leading:r,u="trailing"in e?!!e.trailing:u),_o(t,n,{leading:r,maxWait:n,trailing:u})}function Nd(t){return co(t,1)}function Ud(t,n){return Ki(Ci(n),t)}function Bd(){if(!arguments.length)return[];var t=arguments[0];return U(t)?t:[t]}function Md(t){return qt(t,F)}function $d(t,n){return n=typeof n=="function"?n:i,qt(t,F,n)}function Kd(t){return qt(t,P|F)}function qd(t,n){return n=typeof n=="function"?n:i,qt(t,P|F,n)}function kd(t,n){return n==null||rs(t,n,ht(n))}function Vt(t,n){return t===n||t!==t&&n!==n}var zd=pr(di),Hd=pr(function(t,n){return t>=n}),Mn=fs(function(){return arguments}())?fs:function(t){return it(t)&&Q.call(t,"callee")&&!Yu.call(t,"callee")},U=g.isArray,Gd=Tu?Lt(Tu):tl;function Ct(t){return t!=null&&Ar(t.length)&&!pn(t)}function ut(t){return it(t)&&Ct(t)}function Jd(t){return t===!0||t===!1||it(t)&&mt(t)==wn}var In=oc||Vi,Zd=Lu?Lt(Lu):nl;function Yd(t){return it(t)&&t.nodeType===1&&!Re(t)}function Xd(t){if(t==null)return!0;if(Ct(t)&&(U(t)||typeof t=="string"||typeof t.splice=="function"||In(t)||re(t)||Mn(t)))return!t.length;var n=_t(t);if(n==Zt||n==Yt)return!t.size;if(Pe(t))return!_i(t).length;for(var e in t)if(Q.call(t,e))return!1;return!0}function Qd(t,n){return Ae(t,n)}function Vd(t,n,e){e=typeof e=="function"?e:i;var r=e?e(t,n):i;return r===i?Ae(t,n,i,e):!!r}function qi(t){if(!it(t))return!1;var n=mt(t);return n==Fe||n==ma||typeof t.message=="string"&&typeof t.name=="string"&&!Re(t)}function jd(t){return typeof t=="number"&&Qu(t)}function pn(t){if(!rt(t))return!1;var n=mt(t);return n==Ne||n==iu||n==Tn||n==Sa}function wo(t){return typeof t=="number"&&t==B(t)}function Ar(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=nn}function rt(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function it(t){return t!=null&&typeof t=="object"}var yo=Ou?Lt(Ou):rl;function tp(t,n){return t===n||gi(t,n,Oi(n))}function np(t,n,e){return e=typeof e=="function"?e:i,gi(t,n,Oi(n),e)}function ep(t){return mo(t)&&t!=+t}function rp(t){if($l(t))throw new N(v);return cs(t)}function ip(t){return t===null}function up(t){return t==null}function mo(t){return typeof t=="number"||it(t)&&mt(t)==fe}function Re(t){if(!it(t)||mt(t)!=on)return!1;var n=Xe(t);if(n===null)return!0;var e=Q.call(n,"constructor")&&n.constructor;return typeof e=="function"&&e instanceof e&&Ge.call(e)==nc}var ki=Wu?Lt(Wu):il;function sp(t){return wo(t)&&t>=-nn&&t<=nn}var xo=Du?Lt(Du):ul;function br(t){return typeof t=="string"||!U(t)&&it(t)&&mt(t)==le}function Wt(t){return typeof t=="symbol"||it(t)&&mt(t)==Ue}var re=Fu?Lt(Fu):sl;function op(t){return t===i}function ap(t){return it(t)&&_t(t)==he}function fp(t){return it(t)&&mt(t)==ba}var cp=pr(vi),lp=pr(function(t,n){return t<=n});function So(t){if(!t)return[];if(Ct(t))return br(t)?Xt(t):bt(t);if(ge&&t[ge])return kf(t[ge]());var n=_t(t),e=n==Zt?ii:n==Yt?ke:ie;return e(t)}function gn(t){if(!t)return t===0?t:0;if(t=Ht(t),t===sn||t===-sn){var n=t<0?-1:1;return n*Tr}return t===t?t:0}function B(t){var n=gn(t),e=n%1;return n===n?e?n-e:n:0}function Ao(t){return t?Fn(B(t),0,Ut):0}function Ht(t){if(typeof t=="number")return t;if(Wt(t))return kn;if(rt(t)){var n=typeof t.valueOf=="function"?t.valueOf():t;t=rt(n)?n+"":n}if(typeof t!="string")return t===0?t:+t;t=Ku(t);var e=Ha.test(t);return e||Ja.test(t)?Pf(t.slice(2),e?2:8):za.test(t)?kn:+t}function bo(t){return rn(t,Pt(t))}function hp(t){return t?Fn(B(t),-nn,nn):t===0?t:0}function X(t){return t==null?"":Ot(t)}var dp=te(function(t,n){if(Pe(n)||Ct(n)){rn(n,ht(n),t);return}for(var e in n)Q.call(n,e)&&me(t,e,n[e])}),Co=te(function(t,n){rn(n,Pt(n),t)}),Cr=te(function(t,n,e,r){rn(n,Pt(n),t,r)}),pp=te(function(t,n,e,r){rn(n,ht(n),t,r)}),gp=hn(ci);function _p(t,n){var e=jn(t);return n==null?e:es(e,n)}var vp=K(function(t,n){t=j(t);var e=-1,r=n.length,u=r>2?n[2]:i;for(u&&xt(n[0],n[1],u)&&(r=1);++e<r;)for(var o=n[e],a=Pt(o),c=-1,h=a.length;++c<h;){var y=a[c],m=t[y];(m===i||Vt(m,Xn[y])&&!Q.call(t,y))&&(t[y]=o[y])}return t}),wp=K(function(t){return t.push(i,Ks),Tt(Po,i,t)});function yp(t,n){return Uu(t,L(n,3),en)}function mp(t,n){return Uu(t,L(n,3),hi)}function xp(t,n){return t==null?t:li(t,L(n,3),Pt)}function Sp(t,n){return t==null?t:os(t,L(n,3),Pt)}function Ap(t,n){return t&&en(t,L(n,3))}function bp(t,n){return t&&hi(t,L(n,3))}function Cp(t){return t==null?[]:sr(t,ht(t))}function Pp(t){return t==null?[]:sr(t,Pt(t))}function zi(t,n,e){var r=t==null?i:Nn(t,n);return r===i?e:r}function Ip(t,n){return t!=null&&zs(t,n,Xc)}function Hi(t,n){return t!=null&&zs(t,n,Qc)}var Rp=Ns(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Je.call(n)),t[n]=e},Ji(It)),Ep=Ns(function(t,n,e){n!=null&&typeof n.toString!="function"&&(n=Je.call(n)),Q.call(t,n)?t[n].push(e):t[n]=[e]},L),Tp=K(Se);function ht(t){return Ct(t)?ts(t):_i(t)}function Pt(t){return Ct(t)?ts(t,!0):ol(t)}function Lp(t,n){var e={};return n=L(n,3),en(t,function(r,u,o){cn(e,n(r,u,o),r)}),e}function Op(t,n){var e={};return n=L(n,3),en(t,function(r,u,o){cn(e,u,n(r,u,o))}),e}var Wp=te(function(t,n,e){or(t,n,e)}),Po=te(function(t,n,e,r){or(t,n,e,r)}),Dp=hn(function(t,n){var e={};if(t==null)return e;var r=!1;n=et(n,function(o){return o=Cn(o,t),r||(r=o.length>1),o}),rn(t,Ti(t),e),r&&(e=qt(e,P|T|F,Rl));for(var u=n.length;u--;)Si(e,n[u]);return e});function Fp(t,n){return Io(t,Sr(L(n)))}var Np=hn(function(t,n){return t==null?{}:fl(t,n)});function Io(t,n){if(t==null)return{};var e=et(Ti(t),function(r){return[r]});return n=L(n),vs(t,e,function(r,u){return n(r,u[0])})}function Up(t,n,e){n=Cn(n,t);var r=-1,u=n.length;for(u||(u=1,t=i);++r<u;){var o=t==null?i:t[un(n[r])];o===i&&(r=u,o=e),t=pn(o)?o.call(t):o}return t}function Bp(t,n,e){return t==null?t:be(t,n,e)}function Mp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:be(t,n,e,r)}var Ro=Ms(ht),Eo=Ms(Pt);function $p(t,n,e){var r=U(t),u=r||In(t)||re(t);if(n=L(n,4),e==null){var o=t&&t.constructor;u?e=r?new o:[]:rt(t)?e=pn(o)?jn(Xe(t)):{}:e={}}return(u?Mt:en)(t,function(a,c,h){return n(e,a,c,h)}),e}function Kp(t,n){return t==null?!0:Si(t,n)}function qp(t,n,e){return t==null?t:Ss(t,n,Ci(e))}function kp(t,n,e,r){return r=typeof r=="function"?r:i,t==null?t:Ss(t,n,Ci(e),r)}function ie(t){return t==null?[]:ri(t,ht(t))}function zp(t){return t==null?[]:ri(t,Pt(t))}function Hp(t,n,e){return e===i&&(e=n,n=i),e!==i&&(e=Ht(e),e=e===e?e:0),n!==i&&(n=Ht(n),n=n===n?n:0),Fn(Ht(t),n,e)}function Gp(t,n,e){return n=gn(n),e===i?(e=n,n=0):e=gn(e),t=Ht(t),Vc(t,n,e)}function Jp(t,n,e){if(e&&typeof e!="boolean"&&xt(t,n,e)&&(n=e=i),e===i&&(typeof n=="boolean"?(e=n,n=i):typeof t=="boolean"&&(e=t,t=i)),t===i&&n===i?(t=0,n=1):(t=gn(t),n===i?(n=t,t=0):n=gn(n)),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var u=Vu();return gt(t+u*(n-t+Cf("1e-"+((u+"").length-1))),n)}return yi(t,n)}var Zp=ne(function(t,n,e){return n=n.toLowerCase(),t+(e?To(n):n)});function To(t){return Gi(X(t).toLowerCase())}function Lo(t){return t=X(t),t&&t.replace(Ya,Bf).replace(gf,"")}function Yp(t,n,e){t=X(t),n=Ot(n);var r=t.length;e=e===i?r:Fn(B(e),0,r);var u=e;return e-=n.length,e>=0&&t.slice(e,u)==n}function Xp(t){return t=X(t),t&&Ea.test(t)?t.replace(ou,Mf):t}function Qp(t){return t=X(t),t&&Fa.test(t)?t.replace(Kr,"\\$&"):t}var Vp=ne(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),jp=ne(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),tg=Ws("toLowerCase");function ng(t,n,e){t=X(t),n=B(n);var r=n?Zn(t):0;if(!n||r>=n)return t;var u=(n-r)/2;return dr(tr(u),e)+t+dr(je(u),e)}function eg(t,n,e){t=X(t),n=B(n);var r=n?Zn(t):0;return n&&r<n?t+dr(n-r,e):t}function rg(t,n,e){t=X(t),n=B(n);var r=n?Zn(t):0;return n&&r<n?dr(n-r,e)+t:t}function ig(t,n,e){return e||n==null?n=0:n&&(n=+n),lc(X(t).replace(qr,""),n||0)}function ug(t,n,e){return(e?xt(t,n,e):n===i)?n=1:n=B(n),mi(X(t),n)}function sg(){var t=arguments,n=X(t[0]);return t.length<3?n:n.replace(t[1],t[2])}var og=ne(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()});function ag(t,n,e){return e&&typeof e!="number"&&xt(t,n,e)&&(n=e=i),e=e===i?Ut:e>>>0,e?(t=X(t),t&&(typeof n=="string"||n!=null&&!ki(n))&&(n=Ot(n),!n&&Jn(t))?Pn(Xt(t),0,e):t.split(n,e)):[]}var fg=ne(function(t,n,e){return t+(e?" ":"")+Gi(n)});function cg(t,n,e){return t=X(t),e=e==null?0:Fn(B(e),0,t.length),n=Ot(n),t.slice(e,e+n.length)==n}function lg(t,n,e){var r=s.templateSettings;e&&xt(t,n,e)&&(n=i),t=X(t),n=Cr({},n,r,$s);var u=Cr({},n.imports,r.imports,$s),o=ht(u),a=ri(u,o),c,h,y=0,m=n.interpolate||Be,x="__p += '",A=ui((n.escape||Be).source+"|"+m.source+"|"+(m===au?ka:Be).source+"|"+(n.evaluate||Be).source+"|$","g"),I="//# sourceURL="+(Q.call(n,"sourceURL")?(n.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++mf+"]")+`
|
|
11
|
+
`;t.replace(A,function(W,k,G,Dt,St,Ft){return G||(G=Dt),x+=t.slice(y,Ft).replace(Xa,$f),k&&(c=!0,x+=`' +
|
|
12
|
+
__e(`+k+`) +
|
|
13
|
+
'`),St&&(h=!0,x+=`';
|
|
14
|
+
`+St+`;
|
|
15
|
+
__p += '`),G&&(x+=`' +
|
|
16
|
+
((__t = (`+G+`)) == null ? '' : __t) +
|
|
17
|
+
'`),y=Ft+W.length,W}),x+=`';
|
|
18
|
+
`;var O=Q.call(n,"variable")&&n.variable;if(!O)x=`with (obj) {
|
|
19
|
+
`+x+`
|
|
20
20
|
}
|
|
21
|
-
`;else if(
|
|
22
|
-
`+(
|
|
23
|
-
`)+"var __t, __p = ''"+(
|
|
21
|
+
`;else if(Ka.test(O))throw new N(E);x=(h?x.replace(Ca,""):x).replace(Pa,"$1").replace(Ia,"$1;"),x="function("+(O||"obj")+`) {
|
|
22
|
+
`+(O?"":`obj || (obj = {});
|
|
23
|
+
`)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(h?`, __j = Array.prototype.join;
|
|
24
24
|
function print() { __p += __j.call(arguments, '') }
|
|
25
25
|
`:`;
|
|
26
|
-
`)+
|
|
27
|
-
}`;var M=bo(function(){return q(o,A+"return "+v).apply(i,a)});if(M.source=v,Mi(M))throw M;return M}function Zp(n){return G(n).toLowerCase()}function Yp(n){return G(n).toUpperCase()}function Xp(n,t,e){if(n=G(n),n&&(e||t===i))return Wu(n);if(!n||!(t=Ln(t)))return n;var r=Yn(n),u=Yn(t),o=Mu(r,u),a=Fu(r,u)+1;return St(r,o,a).join("")}function Qp(n,t,e){if(n=G(n),n&&(e||t===i))return n.slice(0,Du(n)+1);if(!n||!(t=Ln(t)))return n;var r=Yn(n),u=Fu(r,Yn(t))+1;return St(r,0,u).join("")}function Vp(n,t,e){if(n=G(n),n&&(e||t===i))return n.replace(Mr,"");if(!n||!(t=Ln(t)))return n;var r=Yn(n),u=Mu(r,Yn(t));return St(r,u).join("")}function jp(n,t){var e=Fn,r=sn;if(X(t)){var u="separator"in t?t.separator:u;e="length"in t?W(t.length):e,r="omission"in t?Ln(t.omission):r}n=G(n);var o=n.length;if(qt(n)){var a=Yn(n);o=a.length}if(e>=o)return n;var f=e-Kt(r);if(f<1)return r;var c=a?St(a,0,f).join(""):n.slice(0,f);if(u===i)return c+r;if(a&&(f+=c.length-f),Fi(u)){if(n.slice(f).search(u)){var d,_=c;for(u.global||(u=Qr(u.source,G(tu.exec(u))+"g")),u.lastIndex=0;d=u.exec(_);)var v=d.index;c=c.slice(0,v===i?f:v)}}else if(n.indexOf(Ln(u),f)!=f){var x=c.lastIndexOf(u);x>-1&&(c=c.slice(0,x))}return c+r}function nd(n){return n=G(n),n&&la.test(n)?n.replace(Vi,Ef):n}var td=Yt(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Ni=bs("toUpperCase");function Co(n,t,e){return n=G(n),t=e?i:t,t===i?Cf(n)?Of(n):df(n):n.match(t)||[]}var bo=U(function(n,t){try{return En(n,i,t)}catch(e){return Mi(e)?e:new I(e)}}),ed=at(function(n,t){return Nn(t,function(e){e=et(e),st(n,e,Oi(n[e],n))}),n});function rd(n){var t=n==null?0:n.length,e=b();return n=t?Y(n,function(r){if(typeof r[1]!="function")throw new Bn(C);return[e(r[0]),r[1]]}):[],U(function(r){for(var u=-1;++u<t;){var o=n[u];if(En(o[0],this,r))return En(o[1],this,r)}})}function id(n){return El(qn(n,un))}function Bi(n){return function(){return n}}function ud(n,t){return n==null||n!==n?t:n}var sd=Ts(),od=Ts(!0);function bn(n){return n}function $i(n){return rs(typeof n=="function"?n:qn(n,un))}function ad(n){return us(qn(n,un))}function fd(n,t){return ss(n,qn(t,un))}var ld=U(function(n,t){return function(e){return ve(e,n,t)}}),cd=U(function(n,t){return function(e){return ve(n,e,t)}});function qi(n,t,e){var r=fn(t),u=tr(t,r);e==null&&!(X(t)&&(u.length||!r.length))&&(e=t,t=n,n=this,u=tr(t,fn(t)));var o=!(X(e)&&"chain"in e)||!!e.chain,a=lt(n);return Nn(u,function(f){var c=t[f];n[f]=c,a&&(n.prototype[f]=function(){var d=this.__chain__;if(o||d){var _=n(this.__wrapped__),v=_.__actions__=Sn(this.__actions__);return v.push({func:c,args:arguments,thisArg:n}),_.__chain__=d,_}return c.apply(n,_t([this.value()],arguments))})}),n}function hd(){return ln._===this&&(ln._=Nf),this}function Ki(){}function gd(n){return n=W(n),U(function(t){return os(t,n)})}var pd=mi(Y),dd=mi(Pu),_d=mi(zr);function Ro(n){return Ri(n)?Hr(et(n)):kl(n)}function vd(n){return function(t){return n==null?i:Wt(n,t)}}var wd=Es(),md=Es(!0);function Gi(){return[]}function zi(){return!1}function yd(){return{}}function xd(){return""}function Sd(){return!0}function Ad(n,t){if(n=W(n),n<1||n>pt)return[];var e=jn,r=hn(n,jn);t=b(t),n-=jn;for(var u=Zr(r,t);++e<n;)t(e);return u}function Cd(n){return L(n)?Y(n,et):On(n)?[n]:Sn(Hs(G(n)))}function bd(n){var t=++Uf;return G(n)+t}var Rd=or(function(n,t){return n+t},0),Td=yi("ceil"),Pd=or(function(n,t){return n/t},1),Ed=yi("floor");function Id(n){return n&&n.length?nr(n,bn,ui):i}function Ld(n,t){return n&&n.length?nr(n,b(t,2),ui):i}function Od(n){return Lu(n,bn)}function Wd(n,t){return Lu(n,b(t,2))}function Md(n){return n&&n.length?nr(n,bn,fi):i}function Fd(n,t){return n&&n.length?nr(n,b(t,2),fi):i}var Ud=or(function(n,t){return n*t},1),Dd=yi("round"),Nd=or(function(n,t){return n-t},0);function Bd(n){return n&&n.length?Jr(n,bn):0}function $d(n,t){return n&&n.length?Jr(n,b(t,2)):0}return s.after=ag,s.ary=eo,s.assign=Yg,s.assignIn=vo,s.assignInWith=yr,s.assignWith=Xg,s.at=Qg,s.before=ro,s.bind=Oi,s.bindAll=ed,s.bindKey=io,s.castArray=yg,s.chain=js,s.chunk=Ec,s.compact=Ic,s.concat=Lc,s.cond=rd,s.conforms=id,s.constant=Bi,s.countBy=Bh,s.create=Vg,s.curry=uo,s.curryRight=so,s.debounce=oo,s.defaults=jg,s.defaultsDeep=np,s.defer=fg,s.delay=lg,s.difference=Oc,s.differenceBy=Wc,s.differenceWith=Mc,s.drop=Fc,s.dropRight=Uc,s.dropRightWhile=Dc,s.dropWhile=Nc,s.fill=Bc,s.filter=qh,s.flatMap=zh,s.flatMapDeep=Hh,s.flatMapDepth=kh,s.flatten=Ys,s.flattenDeep=$c,s.flattenDepth=qc,s.flip=cg,s.flow=sd,s.flowRight=od,s.fromPairs=Kc,s.functions=op,s.functionsIn=ap,s.groupBy=Jh,s.initial=zc,s.intersection=Hc,s.intersectionBy=kc,s.intersectionWith=Jc,s.invert=lp,s.invertBy=cp,s.invokeMap=Yh,s.iteratee=$i,s.keyBy=Xh,s.keys=fn,s.keysIn=Cn,s.map=pr,s.mapKeys=gp,s.mapValues=pp,s.matches=ad,s.matchesProperty=fd,s.memoize=_r,s.merge=dp,s.mergeWith=wo,s.method=ld,s.methodOf=cd,s.mixin=qi,s.negate=vr,s.nthArg=gd,s.omit=_p,s.omitBy=vp,s.once=hg,s.orderBy=Qh,s.over=pd,s.overArgs=gg,s.overEvery=dd,s.overSome=_d,s.partial=Wi,s.partialRight=ao,s.partition=Vh,s.pick=wp,s.pickBy=mo,s.property=Ro,s.propertyOf=vd,s.pull=Qc,s.pullAll=Qs,s.pullAllBy=Vc,s.pullAllWith=jc,s.pullAt=nh,s.range=wd,s.rangeRight=md,s.rearg=pg,s.reject=tg,s.remove=th,s.rest=dg,s.reverse=Ii,s.sampleSize=rg,s.set=yp,s.setWith=xp,s.shuffle=ig,s.slice=eh,s.sortBy=og,s.sortedUniq=fh,s.sortedUniqBy=lh,s.split=zp,s.spread=_g,s.tail=ch,s.take=hh,s.takeRight=gh,s.takeRightWhile=ph,s.takeWhile=dh,s.tap=Ih,s.throttle=vg,s.thru=gr,s.toArray=go,s.toPairs=yo,s.toPairsIn=xo,s.toPath=Cd,s.toPlainObject=_o,s.transform=Sp,s.unary=wg,s.union=_h,s.unionBy=vh,s.unionWith=wh,s.uniq=mh,s.uniqBy=yh,s.uniqWith=xh,s.unset=Ap,s.unzip=Li,s.unzipWith=Vs,s.update=Cp,s.updateWith=bp,s.values=Vt,s.valuesIn=Rp,s.without=Sh,s.words=Co,s.wrap=mg,s.xor=Ah,s.xorBy=Ch,s.xorWith=bh,s.zip=Rh,s.zipObject=Th,s.zipObjectDeep=Ph,s.zipWith=Eh,s.entries=yo,s.entriesIn=xo,s.extend=vo,s.extendWith=yr,qi(s,s),s.add=Rd,s.attempt=bo,s.camelCase=Ip,s.capitalize=So,s.ceil=Td,s.clamp=Tp,s.clone=xg,s.cloneDeep=Ag,s.cloneDeepWith=Cg,s.cloneWith=Sg,s.conformsTo=bg,s.deburr=Ao,s.defaultTo=ud,s.divide=Pd,s.endsWith=Lp,s.eq=Qn,s.escape=Op,s.escapeRegExp=Wp,s.every=$h,s.find=Kh,s.findIndex=Js,s.findKey=tp,s.findLast=Gh,s.findLastIndex=Zs,s.findLastKey=ep,s.floor=Ed,s.forEach=no,s.forEachRight=to,s.forIn=rp,s.forInRight=ip,s.forOwn=up,s.forOwnRight=sp,s.get=Ui,s.gt=Rg,s.gte=Tg,s.has=fp,s.hasIn=Di,s.head=Xs,s.identity=bn,s.includes=Zh,s.indexOf=Gc,s.inRange=Pp,s.invoke=hp,s.isArguments=Ut,s.isArray=L,s.isArrayBuffer=Pg,s.isArrayLike=An,s.isArrayLikeObject=j,s.isBoolean=Eg,s.isBuffer=At,s.isDate=Ig,s.isElement=Lg,s.isEmpty=Og,s.isEqual=Wg,s.isEqualWith=Mg,s.isError=Mi,s.isFinite=Fg,s.isFunction=lt,s.isInteger=fo,s.isLength=wr,s.isMap=lo,s.isMatch=Ug,s.isMatchWith=Dg,s.isNaN=Ng,s.isNative=Bg,s.isNil=qg,s.isNull=$g,s.isNumber=co,s.isObject=X,s.isObjectLike=V,s.isPlainObject=Ae,s.isRegExp=Fi,s.isSafeInteger=Kg,s.isSet=ho,s.isString=mr,s.isSymbol=On,s.isTypedArray=Qt,s.isUndefined=Gg,s.isWeakMap=zg,s.isWeakSet=Hg,s.join=Zc,s.kebabCase=Mp,s.last=Gn,s.lastIndexOf=Yc,s.lowerCase=Fp,s.lowerFirst=Up,s.lt=kg,s.lte=Jg,s.max=Id,s.maxBy=Ld,s.mean=Od,s.meanBy=Wd,s.min=Md,s.minBy=Fd,s.stubArray=Gi,s.stubFalse=zi,s.stubObject=yd,s.stubString=xd,s.stubTrue=Sd,s.multiply=Ud,s.nth=Xc,s.noConflict=hd,s.noop=Ki,s.now=dr,s.pad=Dp,s.padEnd=Np,s.padStart=Bp,s.parseInt=$p,s.random=Ep,s.reduce=jh,s.reduceRight=ng,s.repeat=qp,s.replace=Kp,s.result=mp,s.round=Dd,s.runInContext=l,s.sample=eg,s.size=ug,s.snakeCase=Gp,s.some=sg,s.sortedIndex=rh,s.sortedIndexBy=ih,s.sortedIndexOf=uh,s.sortedLastIndex=sh,s.sortedLastIndexBy=oh,s.sortedLastIndexOf=ah,s.startCase=Hp,s.startsWith=kp,s.subtract=Nd,s.sum=Bd,s.sumBy=$d,s.template=Jp,s.times=Ad,s.toFinite=ct,s.toInteger=W,s.toLength=po,s.toLower=Zp,s.toNumber=zn,s.toSafeInteger=Zg,s.toString=G,s.toUpper=Yp,s.trim=Xp,s.trimEnd=Qp,s.trimStart=Vp,s.truncate=jp,s.unescape=nd,s.uniqueId=bd,s.upperCase=td,s.upperFirst=Ni,s.each=no,s.eachRight=to,s.first=Xs,qi(s,function(){var n={};return nt(s,function(t,e){z.call(s.prototype,e)||(n[e]=t)}),n}(),{chain:!1}),s.VERSION=w,Nn(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){s[n].placeholder=s}),Nn(["drop","take"],function(n,t){N.prototype[n]=function(e){e=e===i?1:an(W(e),0);var r=this.__filtered__&&!t?new N(this):this.clone();return r.__filtered__?r.__takeCount__=hn(e,r.__takeCount__):r.__views__.push({size:hn(e,jn),type:n+(r.__dir__<0?"Right":"")}),r},N.prototype[n+"Right"]=function(e){return this.reverse()[n](e).reverse()}}),Nn(["filter","map","takeWhile"],function(n,t){var e=t+1,r=e==_n||e==Xo;N.prototype[n]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:b(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Nn(["head","last"],function(n,t){var e="take"+(t?"Right":"");N.prototype[n]=function(){return this[e](1).value()[0]}}),Nn(["initial","tail"],function(n,t){var e="drop"+(t?"":"Right");N.prototype[n]=function(){return this.__filtered__?new N(this):this[e](1)}}),N.prototype.compact=function(){return this.filter(bn)},N.prototype.find=function(n){return this.filter(n).head()},N.prototype.findLast=function(n){return this.reverse().find(n)},N.prototype.invokeMap=U(function(n,t){return typeof n=="function"?new N(this):this.map(function(e){return ve(e,n,t)})}),N.prototype.reject=function(n){return this.filter(vr(b(n)))},N.prototype.slice=function(n,t){n=W(n);var e=this;return e.__filtered__&&(n>0||t<0)?new N(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==i&&(t=W(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},N.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},N.prototype.toArray=function(){return this.take(jn)},nt(N.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),u=s[r?"take"+(t=="last"?"Right":""):t],o=r||/^find/.test(t);u&&(s.prototype[t]=function(){var a=this.__wrapped__,f=r?[1]:arguments,c=a instanceof N,d=f[0],_=c||L(a),v=function(D){var B=u.apply(s,_t([D],f));return r&&x?B[0]:B};_&&e&&typeof d=="function"&&d.length!=1&&(c=_=!1);var x=this.__chain__,A=!!this.__actions__.length,T=o&&!x,M=c&&!A;if(!o&&_){a=M?a:new N(this);var P=n.apply(a,f);return P.__actions__.push({func:gr,args:[v],thisArg:i}),new $n(P,x)}return T&&M?n.apply(this,f):(P=this.thru(v),T?r?P.value()[0]:P.value():P)})}),Nn(["pop","push","shift","sort","splice","unshift"],function(n){var t=Be[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);s.prototype[n]=function(){var u=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(L(o)?o:[],u)}return this[e](function(a){return t.apply(L(a)?a:[],u)})}}),nt(N.prototype,function(n,t){var e=s[t];if(e){var r=e.name+"";z.call(kt,r)||(kt[r]=[]),kt[r].push({name:t,func:e})}}),kt[sr(i,xn).name]=[{name:"wrapper",func:i}],N.prototype.clone=nl,N.prototype.reverse=tl,N.prototype.value=el,s.prototype.at=Lh,s.prototype.chain=Oh,s.prototype.commit=Wh,s.prototype.next=Mh,s.prototype.plant=Uh,s.prototype.reverse=Dh,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=Nh,s.prototype.first=s.prototype.head,le&&(s.prototype[le]=Fh),s},Gt=Wf();Pt?((Pt.exports=Gt)._=Gt,$r._=Gt):ln._=Gt}).call(ne)}(be,be.exports);var Oo=be.exports;const Wo=Lo(Oo);class Mo{constructor(p){E(this,"config");this.config=p}async complete(p,i){var w;await this.persist(p,{...i,success:!0}),(w=this.config.logger)==null||w.debug("Transaction completed:",p)}async fail(p,i){var w;await this.persist(p,{...i,success:!1}),(w=this.config.logger)==null||w.debug("Transaction failed:",{...p,...i})}async persist(p,i){await fetch(`${this.config.apiUrl}/transactions/${p.id}`,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","x-persona-apikey":this.config.apiKey}})}}class Fo{constructor(p,i){E(this,"transaction");E(this,"manager");this.transaction=p,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(p,i){var O;const w=this.transaction.functionCall;if(!w){await this.fail("No function call found");return}const m=w.name,R=w.args,C=p[m];if(!C){await this.fail(`Tool ${m} not found`);return}try{const K=Wo.get(i,"schema.config.parameters.properties",{}),Rn=(K&&Object.keys(K).length>0?Object.keys(K):((O=C.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:O[1].split(",").map(Tn=>Tn.trim()).filter(Boolean))||[]).map(Tn=>R[Tn]),un=await C.apply(null,Rn);await this.complete(un)}catch(K){await this.fail(`Error executing tool ${m}: ${K}`)}}async complete(p){await this.manager.complete(this.transaction,{success:!0,output:p,error:null})}async fail(p){await this.manager.fail(this.transaction,{success:!1,output:null,error:p})}}class ki extends jt{constructor(i){super();E(this,"status");E(this,"autostart");E(this,"session");E(this,"config");E(this,"notify",!0);E(this,"_tools");E(this,"_toolSchema",{});if(this.config=i,this.status="disconnected",this.autostart=!0,Array.isArray(i.tools)){this._tools={};for(const w of i.tools)w.schema&&w.implementation&&(this._tools[w.schema.name]=w.implementation,this._toolSchema[w.schema.name]=w)}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 w=new Mo(this.config),m=new Fo(i,w);if(this.config.onTransaction)this.config.onTransaction(m);else{const R=i.functionCall?this.getToolInstance(i.functionCall.name):void 0;m.invoke(this._tools,R)}}getTools(){return this._tools}}const te=tn.createContext(void 0);function Uo(y){return new Promise((p,i)=>{const w=new FileReader;w.readAsDataURL(y),w.onload=()=>{const R=w.result.split(";base64,")[1];p(R)},w.onerror=m=>{i(m)}})}function Do(y){const p={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 y){const w=p[i.getName()];if(w)return w(i)}return null}function No({dev:y=!1,baseUrl:p,protocols:i,logger:w,children:m,session:R="new",transformMessages:C,...O}){const[K,rn]=tn.useState(!1),[Rn,un]=tn.useState([]),[Tn,dn]=tn.useState(R),[Pn,gt]=tn.useState(new Map),yn=tn.useRef(!1),xn=tn.useMemo(()=>{if(Array.isArray(i))return i;if(typeof i=="object"&&i!==null){const F=y?"localhost:8000":p||"persona.applica.guru/api",en=y?"http":"https",H=y?"ws":"wss";let Fn=Object.keys(i).map(sn=>{switch(sn){case"rest":const Un=i[sn];return Un===!0?new xr({apiUrl:`${en}://${F}`,apiKey:O.apiKey,agentId:O.agentId,logger:w}):typeof Un=="object"&&Un!==null?new xr(Un):null;case"webrtc":const Q=i[sn];return Q===!0?new Ar({webrtcUrl:`${H}://${F}/webrtc`,apiKey:O.apiKey,agentId:O.agentId,logger:w}):typeof Q=="object"&&Q!==null?new Ar(Q):null;case"websocket":const _n=i[sn];return _n===!0?new Sr({webSocketUrl:`${H}://${F}/websocket`,apiKey:O.apiKey,agentId:O.agentId,logger:w}):typeof _n=="object"&&_n!==null?new Sr(_n):null;default:throw new Error(`Unknown protocol: ${sn}`)}}).filter(sn=>sn!==null);return O.tools&&Fn.push(new ki({apiUrl:`${en}://${F}`,apiKey:O.apiKey,agentId:O.agentId,tools:O.tools,logger:w})),Fn}throw new Error("Invalid protocols configuration")},[]);tn.useEffect(()=>{yn.current||(yn.current=!0,w==null||w.debug("Initializing protocols: ",xn.map(F=>F.getName())),xn.forEach(F=>{F.setSession(Tn),F.clearListeners(),F.addStatusChangeListener(en=>{w==null||w.debug(`${F.getName()} has notified new status: ${en}`),Pn.set(F.getName(),en),en==="connected"&&(O.context&&F.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:O.context}}),O.tools&&Array.isArray(O.tools)&&F.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:O.tools.map(H=>H.schema)}}})),gt(new Map(Pn))}),F.addPacketListener(en=>{if(en.type==="message"){const H=en.payload;(H==null?void 0:H.finishReason)==="stop"&&!(H!=null&&H.functionResponse)&&!(H!=null&&H.thought)&&rn(!1),H.thought&&(H.type="reasoning"),un(Fn=>{const sn=Hi([...Fn,{...H,protocol:F.getName()}]);return C?C(sn):sn})}else if(en.type==="reasoning"){const Fn={type:"reasoning",text:en.payload.thought,role:"assistant",finishReason:"stop"};un(sn=>{const Un=Hi([...sn,{...Fn,protocol:F.getName()}]);return C?C(Un):Un})}else en.type==="transaction"&&xn.filter(H=>H!==F).forEach(H=>H.onTransaction(en.payload))}),F.autostart&&F.status==="disconnected"&&(w==null||w.debug(`Connecting to protocol: ${F.getName()}`),F.connect(Tn),rn(!1))}))},[Tn,xn,w,Pn,C]);const Te=async F=>{var Un;if(((Un=F.content[0])==null?void 0:Un.type)!=="text")throw new Error("Only text messages are supported");if(!xn.some(Q=>Q.getName()!=="transaction"&&Q.status==="connected")){un(Q=>{const _n=[...Q,{role:"assistant",type:"text",text:"No protocol is connected."}];return C?C(_n):_n});return}const H=F.content[0].text;un(Q=>{const _n=[...Q,{role:"user",type:"text",text:H}];return C?C(_n):_n}),rn(!0);const Fn=xn.sort((Q,_n)=>_n.getPriority()-Q.getPriority()).find(Q=>Q.status==="connected"),sn=[];if(F.attachments)for(const Q of F.attachments)Q.contentType.startsWith("image/")&&Q.file&&sn.push({role:"user",image:{contentType:Q.contentType,content:await Uo(Q.file)},text:"",type:"text"});F.content&&sn.push({role:"user",text:F.content[0].text,type:"text"}),w==null||w.debug("Sending message:",sn),await(Fn==null?void 0:Fn.sendPacket({type:"request",payload:sn}))},Hn=tn.useCallback(()=>(rn(!1),un([]),dn("new"),Promise.resolve()),[]),bt=tn.useCallback(()=>Promise.resolve(),[]),kn=tn.useCallback(()=>Rn,[Rn]),Rt=Ce.useExternalStoreRuntime({isRunning:K,messages:Rn,convertMessage:Eo,onNew:Te,onCancel:Hn,onReload:bt,adapters:{attachments:new Ce.CompositeAttachmentAdapter([new Ce.SimpleImageAttachmentAdapter])}});return pn.jsx(te.Provider,{value:{protocols:xn,protocolsStatus:Pn,getMessages:kn},children:pn.jsx(Ce.AssistantRuntimeProvider,{runtime:Rt,children:m})})}function Bo({children:y,...p}){return pn.jsx(No,{...p,children:y})}function $o(){const y=tn.useContext(te);if(!y)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return y}function Ji(y){const p=tn.useContext(te);if(!p)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=p.protocols.find(m=>m.getName()===y);if(!i)return null;const w=p.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:w||i.status}}function qo(){const y=tn.useContext(te);if(!y)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return Do(y.protocols)}function Ko(){return Ji("webrtc")}function Go(){const y=tn.useContext(te);if(!y)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return y.getMessages()}class zo{constructor(){E(this,"prefix","[Persona]")}log(p,...i){console.log(`${this.prefix} - ${p}`,...i)}info(p,...i){console.info(`${this.prefix} - ${p}`,...i)}warn(p,...i){console.warn(`${this.prefix} - ${p}`,...i)}error(p,...i){console.error(`${this.prefix} - ${p}`,...i)}debug(p,...i){console.debug(`${this.prefix} - ${p}`,...i)}}function Ct(y,p,i){return{type:y,description:p,...i}}function Zi(y){const p=Object.entries(y.parameters).filter(([i,w])=>w.required).map(([i])=>i);return{type:"local",name:y.name,description:y.description,config:{timeout:y.timeout||60,parameters:{type:"object",title:y.title||`${y.name} parameters`,required:p,properties:y.parameters},output:{type:"object",title:`${y.name} output`,properties:y.output}}}}function Re(y){return{schema:Zi(y),implementation:y.implementation}}function Yi(y,p,i,w,m,R){const C={name:y,description:p,title:R==null?void 0:R.title,timeout:R==null?void 0:R.timeout,parameters:w,output:m,implementation:i};return Re(C)}const Ho=Yi("sum","Sum two numbers",function(p,i){return{result:p+i}},{a:Ct("number","First number to sum",{required:!0}),b:Ct("number","Second number to sum",{required:!0})},{result:Ct("number","Sum of two numbers")}),ko=Re({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:Ct("number","First number to sum"),b:Ct("number","Seconth number to sum")},output:{result:Ct("number","Sum of two numbers")},implementation:function(p,i){return{result:p+i}}});function Jo(y){const p=[],i={};return y.forEach(w=>{const{schema:m,implementation:R}=Re(w);p.push(m),i[w.name]=R}),{schemas:p,implementations:i}}function Zo(y,p){const{required:i,properties:w}=p.config.parameters;for(const m of i)if(!(m in y))throw new Error(`Missing required parameter: ${m}`);for(const[m,R]of Object.entries(y)){const C=w[m];if(C){if(C.type==="number"&&typeof R!="number")throw new Error(`Parameter ${m} should be a number`);if(C.type==="string"&&typeof R!="string")throw new Error(`Parameter ${m} should be a string`);if(C.type==="boolean"&&typeof R!="boolean")throw new Error(`Parameter ${m} should be a boolean`)}}return!0}$.PersonaConsoleLogger=zo,$.PersonaProtocolBase=jt,$.PersonaRESTProtocol=xr,$.PersonaRuntimeProvider=Bo,$.PersonaTransactionProtocol=ki,$.PersonaWebRTCProtocol=Ar,$.PersonaWebSocketProtocol=Sr,$.createParameter=Ct,$.createTool=Re,$.createToolFromFunction=Yi,$.createToolRegistry=Jo,$.generateToolSchema=Zi,$.navigateToToolExample=ko,$.sumTool=Ho,$.usePersonaRuntime=$o,$.usePersonaRuntimeEndpoint=qo,$.usePersonaRuntimeMessages=Go,$.usePersonaRuntimeProtocol=Ji,$.usePersonaRuntimeWebRTCProtocol=Ko,$.validateToolParameters=Zo,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})});
|
|
26
|
+
`)+x+`return __p
|
|
27
|
+
}`;var $=Wo(function(){return Z(o,I+"return "+x).apply(i,a)});if($.source=x,qi($))throw $;return $}function hg(t){return X(t).toLowerCase()}function dg(t){return X(t).toUpperCase()}function pg(t,n,e){if(t=X(t),t&&(e||n===i))return Ku(t);if(!t||!(n=Ot(n)))return t;var r=Xt(t),u=Xt(n),o=qu(r,u),a=ku(r,u)+1;return Pn(r,o,a).join("")}function gg(t,n,e){if(t=X(t),t&&(e||n===i))return t.slice(0,Hu(t)+1);if(!t||!(n=Ot(n)))return t;var r=Xt(t),u=ku(r,Xt(n))+1;return Pn(r,0,u).join("")}function _g(t,n,e){if(t=X(t),t&&(e||n===i))return t.replace(qr,"");if(!t||!(n=Ot(n)))return t;var r=Xt(t),u=qu(r,Xt(n));return Pn(r,u).join("")}function vg(t,n){var e=Oe,r=Et;if(rt(n)){var u="separator"in n?n.separator:u;e="length"in n?B(n.length):e,r="omission"in n?Ot(n.omission):r}t=X(t);var o=t.length;if(Jn(t)){var a=Xt(t);o=a.length}if(e>=o)return t;var c=e-Zn(r);if(c<1)return r;var h=a?Pn(a,0,c).join(""):t.slice(0,c);if(u===i)return h+r;if(a&&(c+=h.length-c),ki(u)){if(t.slice(c).search(u)){var y,m=h;for(u.global||(u=ui(u.source,X(fu.exec(u))+"g")),u.lastIndex=0;y=u.exec(m);)var x=y.index;h=h.slice(0,x===i?c:x)}}else if(t.indexOf(Ot(u),c)!=c){var A=h.lastIndexOf(u);A>-1&&(h=h.slice(0,A))}return h+r}function wg(t){return t=X(t),t&&Ra.test(t)?t.replace(su,Jf):t}var yg=ne(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Gi=Ws("toUpperCase");function Oo(t,n,e){return t=X(t),n=e?i:n,n===i?qf(t)?Xf(t):Wf(t):t.match(n)||[]}var Wo=K(function(t,n){try{return Tt(t,i,n)}catch(e){return qi(e)?e:new N(e)}}),mg=hn(function(t,n){return Mt(n,function(e){e=un(e),cn(t,e,$i(t[e],t))}),t});function xg(t){var n=t==null?0:t.length,e=L();return t=n?et(t,function(r){if(typeof r[1]!="function")throw new $t(S);return[e(r[0]),r[1]]}):[],K(function(r){for(var u=-1;++u<n;){var o=t[u];if(Tt(o[0],this,r))return Tt(o[1],this,r)}})}function Sg(t){return Jc(qt(t,P))}function Ji(t){return function(){return t}}function Ag(t,n){return t==null||t!==t?n:t}var bg=Fs(),Cg=Fs(!0);function It(t){return t}function Zi(t){return ls(typeof t=="function"?t:qt(t,P))}function Pg(t){return ds(qt(t,P))}function Ig(t,n){return ps(t,qt(n,P))}var Rg=K(function(t,n){return function(e){return Se(e,t,n)}}),Eg=K(function(t,n){return function(e){return Se(t,e,n)}});function Yi(t,n,e){var r=ht(n),u=sr(n,r);e==null&&!(rt(n)&&(u.length||!r.length))&&(e=n,n=t,t=this,u=sr(n,ht(n)));var o=!(rt(e)&&"chain"in e)||!!e.chain,a=pn(t);return Mt(u,function(c){var h=n[c];t[c]=h,a&&(t.prototype[c]=function(){var y=this.__chain__;if(o||y){var m=t(this.__wrapped__),x=m.__actions__=bt(this.__actions__);return x.push({func:h,args:arguments,thisArg:t}),m.__chain__=y,m}return h.apply(t,mn([this.value()],arguments))})}),t}function Tg(){return dt._===this&&(dt._=ec),this}function Xi(){}function Lg(t){return t=B(t),K(function(n){return gs(n,t)})}var Og=Ii(et),Wg=Ii(Nu),Dg=Ii(Vr);function Do(t){return Di(t)?jr(un(t)):cl(t)}function Fg(t){return function(n){return t==null?i:Nn(t,n)}}var Ng=Us(),Ug=Us(!0);function Qi(){return[]}function Vi(){return!1}function Bg(){return{}}function Mg(){return""}function $g(){return!0}function Kg(t,n){if(t=B(t),t<1||t>nn)return[];var e=Ut,r=gt(t,Ut);n=L(n),t-=Ut;for(var u=ei(r,n);++e<t;)n(e);return u}function qg(t){return U(t)?et(t,un):Wt(t)?[t]:bt(js(X(t)))}function kg(t){var n=++tc;return X(t)+n}var zg=hr(function(t,n){return t+n},0),Hg=Ri("ceil"),Gg=hr(function(t,n){return t/n},1),Jg=Ri("floor");function Zg(t){return t&&t.length?ur(t,It,di):i}function Yg(t,n){return t&&t.length?ur(t,L(n,2),di):i}function Xg(t){return Mu(t,It)}function Qg(t,n){return Mu(t,L(n,2))}function Vg(t){return t&&t.length?ur(t,It,vi):i}function jg(t,n){return t&&t.length?ur(t,L(n,2),vi):i}var t_=hr(function(t,n){return t*n},1),n_=Ri("round"),e_=hr(function(t,n){return t-n},0);function r_(t){return t&&t.length?ni(t,It):0}function i_(t,n){return t&&t.length?ni(t,L(n,2)):0}return s.after=Pd,s.ary=co,s.assign=dp,s.assignIn=Co,s.assignInWith=Cr,s.assignWith=pp,s.at=gp,s.before=lo,s.bind=$i,s.bindAll=mg,s.bindKey=ho,s.castArray=Bd,s.chain=oo,s.chunk=Jl,s.compact=Zl,s.concat=Yl,s.cond=xg,s.conforms=Sg,s.constant=Ji,s.countBy=rd,s.create=_p,s.curry=po,s.curryRight=go,s.debounce=_o,s.defaults=vp,s.defaultsDeep=wp,s.defer=Id,s.delay=Rd,s.difference=Xl,s.differenceBy=Ql,s.differenceWith=Vl,s.drop=jl,s.dropRight=th,s.dropRightWhile=nh,s.dropWhile=eh,s.fill=rh,s.filter=ud,s.flatMap=ad,s.flatMapDeep=fd,s.flatMapDepth=cd,s.flatten=ro,s.flattenDeep=ih,s.flattenDepth=uh,s.flip=Ed,s.flow=bg,s.flowRight=Cg,s.fromPairs=sh,s.functions=Cp,s.functionsIn=Pp,s.groupBy=ld,s.initial=ah,s.intersection=fh,s.intersectionBy=ch,s.intersectionWith=lh,s.invert=Rp,s.invertBy=Ep,s.invokeMap=dd,s.iteratee=Zi,s.keyBy=pd,s.keys=ht,s.keysIn=Pt,s.map=yr,s.mapKeys=Lp,s.mapValues=Op,s.matches=Pg,s.matchesProperty=Ig,s.memoize=xr,s.merge=Wp,s.mergeWith=Po,s.method=Rg,s.methodOf=Eg,s.mixin=Yi,s.negate=Sr,s.nthArg=Lg,s.omit=Dp,s.omitBy=Fp,s.once=Td,s.orderBy=gd,s.over=Og,s.overArgs=Ld,s.overEvery=Wg,s.overSome=Dg,s.partial=Ki,s.partialRight=vo,s.partition=_d,s.pick=Np,s.pickBy=Io,s.property=Do,s.propertyOf=Fg,s.pull=gh,s.pullAll=uo,s.pullAllBy=_h,s.pullAllWith=vh,s.pullAt=wh,s.range=Ng,s.rangeRight=Ug,s.rearg=Od,s.reject=yd,s.remove=yh,s.rest=Wd,s.reverse=Bi,s.sampleSize=xd,s.set=Bp,s.setWith=Mp,s.shuffle=Sd,s.slice=mh,s.sortBy=Cd,s.sortedUniq=Ih,s.sortedUniqBy=Rh,s.split=ag,s.spread=Dd,s.tail=Eh,s.take=Th,s.takeRight=Lh,s.takeRightWhile=Oh,s.takeWhile=Wh,s.tap=Zh,s.throttle=Fd,s.thru=wr,s.toArray=So,s.toPairs=Ro,s.toPairsIn=Eo,s.toPath=qg,s.toPlainObject=bo,s.transform=$p,s.unary=Nd,s.union=Dh,s.unionBy=Fh,s.unionWith=Nh,s.uniq=Uh,s.uniqBy=Bh,s.uniqWith=Mh,s.unset=Kp,s.unzip=Mi,s.unzipWith=so,s.update=qp,s.updateWith=kp,s.values=ie,s.valuesIn=zp,s.without=$h,s.words=Oo,s.wrap=Ud,s.xor=Kh,s.xorBy=qh,s.xorWith=kh,s.zip=zh,s.zipObject=Hh,s.zipObjectDeep=Gh,s.zipWith=Jh,s.entries=Ro,s.entriesIn=Eo,s.extend=Co,s.extendWith=Cr,Yi(s,s),s.add=zg,s.attempt=Wo,s.camelCase=Zp,s.capitalize=To,s.ceil=Hg,s.clamp=Hp,s.clone=Md,s.cloneDeep=Kd,s.cloneDeepWith=qd,s.cloneWith=$d,s.conformsTo=kd,s.deburr=Lo,s.defaultTo=Ag,s.divide=Gg,s.endsWith=Yp,s.eq=Vt,s.escape=Xp,s.escapeRegExp=Qp,s.every=id,s.find=sd,s.findIndex=no,s.findKey=yp,s.findLast=od,s.findLastIndex=eo,s.findLastKey=mp,s.floor=Jg,s.forEach=ao,s.forEachRight=fo,s.forIn=xp,s.forInRight=Sp,s.forOwn=Ap,s.forOwnRight=bp,s.get=zi,s.gt=zd,s.gte=Hd,s.has=Ip,s.hasIn=Hi,s.head=io,s.identity=It,s.includes=hd,s.indexOf=oh,s.inRange=Gp,s.invoke=Tp,s.isArguments=Mn,s.isArray=U,s.isArrayBuffer=Gd,s.isArrayLike=Ct,s.isArrayLikeObject=ut,s.isBoolean=Jd,s.isBuffer=In,s.isDate=Zd,s.isElement=Yd,s.isEmpty=Xd,s.isEqual=Qd,s.isEqualWith=Vd,s.isError=qi,s.isFinite=jd,s.isFunction=pn,s.isInteger=wo,s.isLength=Ar,s.isMap=yo,s.isMatch=tp,s.isMatchWith=np,s.isNaN=ep,s.isNative=rp,s.isNil=up,s.isNull=ip,s.isNumber=mo,s.isObject=rt,s.isObjectLike=it,s.isPlainObject=Re,s.isRegExp=ki,s.isSafeInteger=sp,s.isSet=xo,s.isString=br,s.isSymbol=Wt,s.isTypedArray=re,s.isUndefined=op,s.isWeakMap=ap,s.isWeakSet=fp,s.join=hh,s.kebabCase=Vp,s.last=zt,s.lastIndexOf=dh,s.lowerCase=jp,s.lowerFirst=tg,s.lt=cp,s.lte=lp,s.max=Zg,s.maxBy=Yg,s.mean=Xg,s.meanBy=Qg,s.min=Vg,s.minBy=jg,s.stubArray=Qi,s.stubFalse=Vi,s.stubObject=Bg,s.stubString=Mg,s.stubTrue=$g,s.multiply=t_,s.nth=ph,s.noConflict=Tg,s.noop=Xi,s.now=mr,s.pad=ng,s.padEnd=eg,s.padStart=rg,s.parseInt=ig,s.random=Jp,s.reduce=vd,s.reduceRight=wd,s.repeat=ug,s.replace=sg,s.result=Up,s.round=n_,s.runInContext=l,s.sample=md,s.size=Ad,s.snakeCase=og,s.some=bd,s.sortedIndex=xh,s.sortedIndexBy=Sh,s.sortedIndexOf=Ah,s.sortedLastIndex=bh,s.sortedLastIndexBy=Ch,s.sortedLastIndexOf=Ph,s.startCase=fg,s.startsWith=cg,s.subtract=e_,s.sum=r_,s.sumBy=i_,s.template=lg,s.times=Kg,s.toFinite=gn,s.toInteger=B,s.toLength=Ao,s.toLower=hg,s.toNumber=Ht,s.toSafeInteger=hp,s.toString=X,s.toUpper=dg,s.trim=pg,s.trimEnd=gg,s.trimStart=_g,s.truncate=vg,s.unescape=wg,s.uniqueId=kg,s.upperCase=yg,s.upperFirst=Gi,s.each=ao,s.eachRight=fo,s.first=io,Yi(s,function(){var t={};return en(s,function(n,e){Q.call(s.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),s.VERSION=p,Mt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){s[t].placeholder=s}),Mt(["drop","take"],function(t,n){z.prototype[t]=function(e){e=e===i?1:ft(B(e),0);var r=this.__filtered__&&!n?new z(this):this.clone();return r.__filtered__?r.__takeCount__=gt(e,r.__takeCount__):r.__views__.push({size:gt(e,Ut),type:t+(r.__dir__<0?"Right":"")}),r},z.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Mt(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==ae||e==Er;z.prototype[t]=function(u){var o=this.clone();return o.__iteratees__.push({iteratee:L(u,3),type:e}),o.__filtered__=o.__filtered__||r,o}}),Mt(["head","last"],function(t,n){var e="take"+(n?"Right":"");z.prototype[t]=function(){return this[e](1).value()[0]}}),Mt(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");z.prototype[t]=function(){return this.__filtered__?new z(this):this[e](1)}}),z.prototype.compact=function(){return this.filter(It)},z.prototype.find=function(t){return this.filter(t).head()},z.prototype.findLast=function(t){return this.reverse().find(t)},z.prototype.invokeMap=K(function(t,n){return typeof t=="function"?new z(this):this.map(function(e){return Se(e,t,n)})}),z.prototype.reject=function(t){return this.filter(Sr(L(t)))},z.prototype.slice=function(t,n){t=B(t);var e=this;return e.__filtered__&&(t>0||n<0)?new z(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==i&&(n=B(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},z.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},z.prototype.toArray=function(){return this.take(Ut)},en(z.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),u=s[r?"take"+(n=="last"?"Right":""):n],o=r||/^find/.test(n);u&&(s.prototype[n]=function(){var a=this.__wrapped__,c=r?[1]:arguments,h=a instanceof z,y=c[0],m=h||U(a),x=function(k){var G=u.apply(s,mn([k],c));return r&&A?G[0]:G};m&&e&&typeof y=="function"&&y.length!=1&&(h=m=!1);var A=this.__chain__,I=!!this.__actions__.length,O=o&&!A,$=h&&!I;if(!o&&m){a=$?a:new z(this);var W=t.apply(a,c);return W.__actions__.push({func:wr,args:[x],thisArg:i}),new Kt(W,A)}return O&&$?t.apply(this,c):(W=this.thru(x),O?r?W.value()[0]:W.value():W)})}),Mt(["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(z.prototype,function(t,n){var e=s[n];if(e){var r=e.name+"";Q.call(Vn,r)||(Vn[r]=[]),Vn[r].push({name:n,func:e})}}),Vn[lr(i,Rt).name]=[{name:"wrapper",func:i}],z.prototype.clone=wc,z.prototype.reverse=yc,z.prototype.value=mc,s.prototype.at=Yh,s.prototype.chain=Xh,s.prototype.commit=Qh,s.prototype.next=Vh,s.prototype.plant=td,s.prototype.reverse=nd,s.prototype.toJSON=s.prototype.valueOf=s.prototype.value=ed,s.prototype.first=s.prototype.head,ge&&(s.prototype[ge]=jh),s},Yn=Qf();Ln?((Ln.exports=Yn)._=Yn,Zr._=Yn):dt._=Yn}).call(se)}(Te,Te.exports);var ko=Te.exports;const zo=qo(ko);class Ho{constructor(f){D(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 Go{constructor(f,i){D(this,"transaction");D(this,"manager");this.transaction=f,this.manager=i}getFunctionCall(){return this.transaction.functionCall}async invoke(f,i){var E;const p=this.transaction.functionCall;if(!p){await this.fail("No function call found");return}const _=p.name,v=p.args,S=f[_];if(!S){await this.fail(`Tool ${_} not found`);return}try{const C=zo.get(i,"schema.config.parameters.properties",{}),R=(C&&Object.keys(C).length>0?Object.keys(C):((E=S.toString().replace(/\n/g," ").match(/^[^(]*\(([^)]*)\)/))==null?void 0:E[1].split(",").map(T=>T.trim()).filter(Boolean))||[]).map(T=>v[T]),P=await S.apply(null,R);await this.complete(P)}catch(C){await this.fail(`Error executing tool ${_}: ${C}`)}}async complete(f){await this.manager.complete(this.transaction,{success:!0,output:f,error:null})}async fail(f){await this.manager.fail(this.transaction,{success:!1,output:null,error:f})}}class ji extends ue{constructor(i){super();D(this,"status");D(this,"autostart");D(this,"session");D(this,"config");D(this,"notify",!0);D(this,"_tools");D(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 Ho(this.config),_=new Go(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 Jo(d,f){if(Array.isArray(d))return d;if(typeof d=="object"&&d!==null){const i=f.dev?"localhost:8000":f.baseUrl||"persona.applica.guru/api",p=f.dev?"http":"https",_=f.dev?"ws":"wss";let v=Object.keys(d).map(S=>{switch(S){case"rest":return Zo(d[S],{baseEndpointProtocol:p,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"webrtc":return Yo(d[S],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});case"websocket":return Xo(d[S],{baseWebSocketProtocol:_,baseEndpoint:i,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger});default:throw new Error(`Unknown protocol: ${S}`)}}).filter(S=>S!==null);return f.tools&&v.push(new ji({apiUrl:`${p}://${i}`,apiKey:f.apiKey,agentId:f.agentId,tools:f.tools,logger:f.logger})),v}throw new Error("Invalid protocols configuration")}function Zo(d,f){return d===!0?new Pr({apiUrl:`${f.baseEndpointProtocol}://${f.baseEndpoint}`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Pr(d):null}function Yo(d,f){return d===!0?new Rr({webrtcUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/webrtc`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Rr(d):null}function Xo(d,f){return d===!0?new Ir({webSocketUrl:`${f.baseWebSocketProtocol}://${f.baseEndpoint}/websocket`,apiKey:f.apiKey,agentId:f.agentId,userId:f.userId,logger:f.logger}):typeof d=="object"&&d!==null?new Ir(d):null}function Qo(d,f,i,p,_){return v=>{v.type==="message"?Vo(v.payload,d,f,i,_):v.type==="reasoning"?jo(v.payload,d,f,_):v.type==="transaction"&&ta(v.payload,d,p)}}function Vo(d,f,i,p,_){d.createdAt||(d.createdAt=new Date),(d==null?void 0:d.finishReason)==="stop"&&!(d!=null&&d.functionResponse)&&!(d!=null&&d.thought)&&p(!1),d.thought&&(d.type="reasoning"),d.protocol=f.getName(),i(v=>{const S=$n([...v,d]);return _?_(S):S})}function jo(d,f,i,p){const _={type:"reasoning",text:d.thought,role:"assistant",finishReason:"stop",protocol:f.getName(),createdAt:new Date};i(v=>{const S=$n([...v,_]);return p?p(S):S})}function ta(d,f,i){i.filter(p=>p!==f).forEach(p=>p.onTransaction(d))}function na(d){return new Promise((f,i)=>{const p=new FileReader;p.readAsDataURL(d),p.onload=()=>{const v=p.result.split(";base64,")[1];f(v)},p.onerror=_=>{i(_)}})}function ea(d){const f={rest:i=>i.config.apiUrl,webrtc:i=>i.config.webrtcUrl.replace("/webrtc","").replace("ws://","http://").replace("wss://","https://"),websocket:i=>i.config.webSocketUrl.replace("/websocket","").replace("ws://","http://").replace("wss://","https://")};for(const i of d){const p=f[i.getName()];if(p)return p(i)}return null}function ra(d,f,i,p,_){return async v=>{var P;if(((P=v.content[0])==null?void 0:P.type)!=="text")throw new Error("Only text messages are supported");if(!d.some(T=>T.getName()!=="transaction"&&T.status==="connected")){f(T=>{const F={role:"assistant",type:"text",text:"No protocol is connected.",createdAt:new Date,finishReason:"stop"},Y=[...T,F];return p?p(Y):Y});return}const C={role:"user",type:"text",text:v.content[0].text,createdAt:new Date};f(T=>{const F=$n([...T,C]);return p?p(F):F}),i(!0);const M=d.sort((T,F)=>F.getPriority()-T.getPriority()).find(T=>T.status==="connected"),R=[];if(v.attachments)for(const T of v.attachments)T.contentType.startsWith("image/")&&T.file&&R.push({role:"user",image:{contentType:T.contentType,content:await na(T.file)},text:"",type:"text",createdAt:new Date});v.content&&R.push({role:"user",text:v.content[0].text,type:"text",createdAt:new Date}),_==null||_.debug("Sending message:",R),await(M==null?void 0:M.sendPacket({type:"request",payload:R}))}}function ia(d,f,i,p,_,v){return async S=>{var Y;if(((Y=S.content[0])==null?void 0:Y.type)!=="text")throw new Error("Only text messages are supported");const E=d.sort((q,wt)=>wt.getPriority()-q.getPriority()).find(q=>q.status==="connected");if(!E){v==null||v.debug("No protocol available for edit");return}const C=S.parentId;if(!C){v==null||v.debug("No parent ID provided for edit");return}const M=f.findIndex(q=>q.id===C);if(M===-1){v==null||v.debug("Parent message not found:",C);return}const R=f.slice(0,M+1),P={role:"user",text:S.content[0].text,type:"text",createdAt:new Date},T=$n([...R,P]);i(_?_(T):T),p(!0);const F=[{role:"user",text:S.content[0].text,type:"text",createdAt:new Date}];v==null||v.debug("Sending edited message:",F),await E.sendPacket({type:"request",payload:F})}}function ua(d,f,i,p,_,v){return async(S,E)=>{const C=d.sort((Y,q)=>q.getPriority()-Y.getPriority()).find(Y=>Y.status==="connected");if(!C){v==null||v.debug("No protocol available for reload");return}const M=E.parentId??S;if(!M){v==null||v.debug("No parent ID provided for reload");return}const R=f.findIndex(Y=>Y.id===M);if(R===-1){v==null||v.debug("Parent message not found:",M);return}const P=f[R];i(Y=>{const q=Y.slice(0,R+1);return _?_(q):q});let T;if(P.role==="assistant"||P.role==="function"){for(let Y=R-1;Y>=0;Y--)if(f[Y].role==="user"){T=f[Y];break}}else P.role==="user"&&(T=P);if(!T){v==null||v.debug("No user message found to regenerate from");return}p(!0);const F=[];T.image&&F.push({role:"user",image:T.image,text:"",type:"text",createdAt:new Date}),F.push({role:"user",text:T.text,type:"text",createdAt:new Date}),v==null||v.debug("Regenerating message with config:",{actualParentId:M,sourceId:E.sourceId,custom:E.runConfig.custom}),await C.sendPacket({type:"request",payload:F})}}function sa(d,f,i,p){return()=>(i(!1),f(_=>{const v=_[_.length-1];if((v==null?void 0:v.role)==="assistant"&&!v.finishReason){const S=[..._];return S[S.length-1]={...v,finishReason:"stop",status:{type:"incomplete"}},p?p(S):S}return _}),d.forEach(_=>{_.status==="connected"&&_.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:{cancel:!0}}}).catch(()=>{})}),Promise.resolve())}const oe=J.createContext(void 0);function oa(){const d=J.useContext(oe);if(!d)throw new Error("usePersonaRuntime must be used within a PersonaRuntimeProvider");return d}function tu(d){const f=J.useContext(oe);if(!f)throw new Error("usePersonaRuntimeProtocol must be used within a PersonaRuntimeProvider");const i=f.protocols.find(_=>_.getName()===d);if(!i)return null;const p=f.protocolsStatus.get(i.getName());return{...i,connect:i.connect.bind(i),disconnect:i.disconnect.bind(i),sendPacket:i.sendPacket.bind(i),setSession:i.setSession.bind(i),addStatusChangeListener:i.addStatusChangeListener.bind(i),addPacketListener:i.addPacketListener.bind(i),getName:i.getName.bind(i),getPriority:i.getPriority.bind(i),status:p||i.status}}function aa(){const d=J.useContext(oe);if(!d)throw new Error("usePersonaRuntimeEndpoint must be used within a PersonaRuntimeProvider");return ea(d.protocols)}function fa(){return tu("webrtc")}function ca(){const d=J.useContext(oe);if(!d)throw new Error("usePersonaRuntimeMessages must be used within a PersonaRuntimeProvider");return d.getMessages()}function la(){const d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let f="";for(let i=0;i<16;i++)f+=d.charAt(Math.floor(Math.random()*d.length));return f}function ha(d,f,i,p,_,v,S,E,C,M,R){return{threadId:d,threads:f.filter(P=>P.status==="regular").map(P=>({id:P.threadId,threadId:P.threadId,title:P.title||`Chat ${P.threadId}`,status:P.status})),archivedThreads:f.filter(P=>P.status==="archived").map(P=>({id:P.threadId,threadId:P.threadId,title:P.title||`Archived Chat ${P.threadId}`,status:P.status})),onSwitchToNewThread:()=>{const P=la();R==null||R.debug("Creating new thread:",P);const T={threadId:P,status:"regular",title:"New Chat"};p(F=>[T,...F]),i(P),v==null||v(P)},onSwitchToThread:P=>{R==null||R.debug("Switching to thread:",P),i(P),S==null||S(P)},onArchive:P=>{R==null||R.debug("Archiving thread:",P),p(T=>T.map(F=>F.threadId===P?{...F,status:"archived"}:F)),E==null||E(P)},onUnarchive:P=>{R==null||R.debug("Unarchiving thread:",P),p(T=>T.map(F=>F.threadId===P?{...F,status:"regular"}:F)),C==null||C(P)},onDelete:async P=>{if(R==null||R.debug("Deleting thread:",P),p(T=>T.filter(F=>F.threadId!==P)),d===P){const T=f.filter(F=>F.threadId!==P&&F.status==="regular");T.length>0&&i(T[0].threadId)}_.remove(P).then(()=>R==null?void 0:R.debug("Thread deleted from backend")).catch(T=>R==null?void 0:R.error("Failed to delete thread:",T)),M==null||M(P)}}}class nu{constructor(f){D(this,"endpoint");D(this,"apiKey");D(this,"pageSize");D(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 S=await v.json();return Array.isArray(S.items)?S.items.map(C=>({id:C.id??C.messageId??void 0,protocol:C.protocol,thought:C.thought,text:C.text??"",image:C.image,type:C.type??"text",role:C.role??"assistant",file:C.file,sources:C.sources,sessionId:C.sessionId??f,finishReason:C.finishReason,functionCalls:C.functionCalls,functionResponse:C.functionResponse,status:C.status,createdAt:C.createdAt?new Date(C.createdAt):void 0,metadata:C.metadata})):[]}catch(v){return(_=this.logger)==null||_.warn("PersonaSessionStorage: error fetching messages",v),[]}}async remove(f){var p,_;if(!f)return;const i=`${this.endpoint}/sessions/${encodeURIComponent(String(f))}`;try{const v=await fetch(i,{method:"DELETE",headers:this.buildHeaders()});if(!v.ok){const S=await v.text();throw(p=this.logger)==null||p.warn("PersonaSessionStorage: failed to delete session",v.status,S),new Error(`Failed to delete session: ${v.status}`)}return}catch(v){throw(_=this.logger)==null||_.warn("PersonaSessionStorage: error deleting session",v),v}}async clearAll(){return Promise.reject(new Error("PersonaAPIMessageStorage: clearAll not supported"))}async list(f,i){var v,S;const p=new URLSearchParams({page:"1",size:"100"});i&&p.set("userId",i),f&&p.set("agentId",f);const _=`${this.endpoint}/sessions?${p.toString()}`;try{const E=await fetch(_,{method:"GET",headers:this.buildHeaders()});if(!E.ok)return(v=this.logger)==null||v.warn("PersonaSessionStorage: failed to list sessions",E.status),[];const C=await E.json();return Array.isArray(C.items)?C.items.map(R=>({threadId:R.code||R.id,title:R.title||`Session ${R.code||R.id}`,status:R.status==="archived"?"archived":"regular"})):[]}catch(E){return(S=this.logger)==null||S.warn("PersonaSessionStorage: error listing sessions",E),[]}}}function da({dev:d=!1,baseUrl:f,protocols:i,logger:p,children:_,session:v="new",transformMessages:S,enableThreads:E=!1,sessionStorage:C,onThreadCreate:M,onThreadSwitch:R,onThreadRename:P,onThreadArchive:T,onThreadUnarchive:F,onThreadDelete:Y,...q}){const[wt,Rt]=J.useState(!1),[tn,ot]=J.useState([]),[En,Gt]=J.useState(new Map),vn=J.useRef(!1),At=J.useRef(!1),Nt=J.useMemo(()=>C||new nu({apiKey:q.apiKey,endpoint:f||"https://persona.applica.guru/api"}),[C,f,q.apiKey]),[Kn,Oe]=J.useState([]),[Et,We]=J.useState(""),qn=J.useRef(typeof v=="string"?v:"new"),ae=J.useRef(!1);J.useEffect(()=>{!E||ae.current||(ae.current=!0,Nt.list(q.agentId,q.userId).then(V=>{(V==null?void 0:V.length)>0&&(Oe(V),We(V[0].threadId))}).catch(V=>p==null?void 0:p.error("Failed to load threads:",V)))},[E,Nt,q.agentId,q.userId,p]);const ct=J.useMemo(()=>Jo(i,{dev:d||!1,baseUrl:f,apiKey:q.apiKey,agentId:q.agentId,userId:q.userId,tools:q.tools,logger:p}),[i,d,f,q.apiKey,q.agentId,q.userId,q.tools,p]);J.useEffect(()=>{vn.current||(vn.current=!0,p==null||p.debug("Setting up protocols:",ct.map(V=>V.getName())),ct.forEach(V=>{V.setSession(qn.current),V.clearListeners(),V.addStatusChangeListener(lt=>{p==null||p.debug(`${V.getName()} status: ${lt}`),Gt(Jt=>{const Tn=new Map(Jt);return Tn.set(V.getName(),lt),Tn}),lt==="connected"&&!At.current&&(q.context&&V.sendPacket({type:"command",payload:{command:"set_initial_context",arguments:q.context}}).catch(()=>{}),q.tools&&Array.isArray(q.tools)&&V.sendPacket({type:"command",payload:{command:"set_local_tools",arguments:{tools:q.tools.map(Jt=>Jt.schema)}}}).catch(()=>{}))}),V.addPacketListener(Qo(V,ot,Rt,ct,S)),V.autostart&&V.status==="disconnected"&&(p==null||p.debug(`Auto-connecting protocol: ${V.getName()}`),V.connect(qn.current).catch(()=>{}),Rt(!1))}))},[]),J.useEffect(()=>{if(!E||!Et){ot([]);return}if(At.current||Et===qn.current)return;At.current=!0,p==null||p.info("Switching to thread:",Et),(async()=>{try{const lt=ct.filter(yt=>yt.status==="connected");lt.length>0&&await Promise.allSettled(lt.map(yt=>yt.disconnect())),qn.current=Et,await Promise.allSettled(ct.map(yt=>yt.setSession(Et)));const Jt=await Nt.sync(Et),Tn=$n(Jt);ot(S?S(Tn):Tn),p==null||p.debug(`Loaded ${Jt.length} messages for thread ${Et}`);const wn=ct.filter(yt=>yt.autostart);wn.length>0&&await Promise.allSettled(wn.map(yt=>yt.connect(Et)))}catch(lt){p==null||p.error("Failed to switch thread:",lt),ot([])}finally{At.current=!1}})()},[Et,E,ct,Nt,S,p]);const Er=J.useCallback(ra(ct,ot,Rt,S,p),[ct,S,p]),sn=J.useCallback(ia(ct,tn,ot,Rt,S,p),[ct,tn,S,p]),nn=J.useCallback(ua(ct,tn,ot,Rt,S,p),[ct,tn,S,p]),Tr=J.useCallback(sa(ct,ot,Rt,S),[ct,S]),kn=J.useCallback(V=>{const lt=$n([...V]);ot(S?S(lt):lt)},[S]),Ut=J.useCallback(()=>tn,[tn]),De=J.useMemo(()=>{if(E)return ha(Et,Kn,We,Oe,Nt,M,R,T,F,Y,p)},[E,Et,Kn,Nt,M,R,T,F,Y,p]),Lr=Ee.useExternalStoreRuntime({isRunning:wt,messages:tn,convertMessage:$o,setMessages:kn,onNew:Er,onEdit:sn,onCancel:Tr,onReload:nn,adapters:{attachments:new Ee.CompositeAttachmentAdapter([new Ee.SimpleImageAttachmentAdapter]),...De?{threadList:De}:{}}});return vt.jsx(oe.Provider,{value:{protocols:ct,protocolsStatus:En,getMessages:Ut},children:vt.jsx(Ee.AssistantRuntimeProvider,{runtime:Lr,children:_})})}function pa({children:d,...f}){return vt.jsx(da,{...f,children:d})}class ga{constructor(){D(this,"prefix","[Persona]")}log(f,...i){console.log(`${this.prefix} - ${f}`,...i)}info(f,...i){console.info(`${this.prefix} - ${f}`,...i)}warn(f,...i){console.warn(`${this.prefix} - ${f}`,...i)}error(f,...i){console.error(`${this.prefix} - ${f}`,...i)}debug(f,...i){console.debug(`${this.prefix} - ${f}`,...i)}}function Rn(d,f,i){return{type:d,description:f,...i}}function eu(d){const f=Object.entries(d.parameters).filter(([i,p])=>p.required).map(([i])=>i);return{type:"local",name:d.name,description:d.description,config:{timeout:d.timeout||60,parameters:{type:"object",title:d.title||`${d.name} parameters`,required:f,properties:d.parameters},output:{type:"object",title:`${d.name} output`,properties:d.output}}}}function Le(d){return{schema:eu(d),implementation:d.implementation}}function ru(d,f,i,p,_,v){const S={name:d,description:f,title:v==null?void 0:v.title,timeout:v==null?void 0:v.timeout,parameters:p,output:_,implementation:i};return Le(S)}const _a=ru("sum","Sum two numbers",function(f,i){return{result:f+i}},{a:Rn("number","First number to sum",{required:!0}),b:Rn("number","Second number to sum",{required:!0})},{result:Rn("number","Sum of two numbers")}),va=Le({name:"navigate_to",description:"Allow agent to redirect user to specific sub page like /foo or #/foo or anything like that",title:"Sum two numbers",timeout:60,parameters:{a:Rn("number","First number to sum"),b:Rn("number","Seconth number to sum")},output:{result:Rn("number","Sum of two numbers")},implementation:function(f,i){return{result:f+i}}});function wa(d){const f=[],i={};return d.forEach(p=>{const{schema:_,implementation:v}=Le(p);f.push(_),i[p.name]=v}),{schemas:f,implementations:i}}function ya(d,f){const{required:i,properties:p}=f.config.parameters;for(const _ of i)if(!(_ in d))throw new Error(`Missing required parameter: ${_}`);for(const[_,v]of Object.entries(d)){const S=p[_];if(S){if(S.type==="number"&&typeof v!="number")throw new Error(`Parameter ${_} should be a number`);if(S.type==="string"&&typeof v!="string")throw new Error(`Parameter ${_} should be a string`);if(S.type==="boolean"&&typeof v!="boolean")throw new Error(`Parameter ${_} should be a boolean`)}}return!0}H.PersonaConsoleLogger=ga,H.PersonaProtocolBase=ue,H.PersonaRESTProtocol=Pr,H.PersonaRuntimeProvider=pa,H.PersonaSessionStorage=nu,H.PersonaTransactionProtocol=ji,H.PersonaWebRTCProtocol=Rr,H.PersonaWebSocketProtocol=Ir,H.createParameter=Rn,H.createTool=Le,H.createToolFromFunction=ru,H.createToolRegistry=wa,H.generateToolSchema=eu,H.navigateToToolExample=va,H.sumTool=_a,H.usePersonaRuntime=oa,H.usePersonaRuntimeEndpoint=aa,H.usePersonaRuntimeMessages=ca,H.usePersonaRuntimeProtocol=tu,H.usePersonaRuntimeWebRTCProtocol=fa,H.validateToolParameters=ya,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})});
|
|
28
28
|
//# sourceMappingURL=bundle.umd.js.map
|