From ca2bd6bf57702de013aed2e98abe9a4ef7318337 Mon Sep 17 00:00:00 2001 From: maziggy Date: Sun, 14 Dec 2025 08:46:38 +0100 Subject: [PATCH] Fix timelapse auto-download and browser tab crash on print completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Timelapse auto-download rewrite (main.py) - New retry mechanism with short delays (5s, 10s, 20s) - Grabs most recent file directly without mtime comparison - Works with printers that have wrong clock (LAN-only mode) - Checks multiple paths: /timelapse, /timelapse/video, /record, /recording 2. Browser tab crash fix (PrintersPage.tsx) - Throttled query cache subscription using requestAnimationFrame - Prevents rapid re-render cascade on print completion events 3. WebSocket optimization (main.py) - Removed large raw_data field from print_complete message - Only sends necessary fields: status, filename, subtask_name, timelapse_was_active 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- backend/app/main.py | 233 ++++++++++-------- frontend/src/pages/PrintersPage.tsx | 10 +- .../{index-6wdRZeo9.js => index-DWSa7F3W.js} | 2 +- static/index.html | 2 +- 4 files changed, 139 insertions(+), 108 deletions(-) rename static/assets/{index-6wdRZeo9.js => index-DWSa7F3W.js} (94%) diff --git a/backend/app/main.py b/backend/app/main.py index 8a418e5fd..9225e5679 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -191,7 +191,7 @@ async def _report_spoolman_usage(printer_id: int, archive_id: int, logger): result = await client.use_spool(spool["id"], filament_used) if result: logger.info( - f"[SPOOLMAN] Reported {filament_used}g usage to spool {spool['id']} " f"(tag: {tag_uid})" + f"[SPOOLMAN] Reported {filament_used}g usage to spool {spool['id']} (tag: {tag_uid})" ) spools_updated += 1 # Only report to one spool for single-material prints @@ -660,6 +660,121 @@ async def on_print_start(printer_id: int, data: dict): temp_path.unlink() +async def _scan_for_timelapse_with_retries(archive_id: int): + """ + Scan for timelapse with retries. + + The printer encodes the timelapse quickly after print completion. + We just need a short delay then grab the most recent file. + + Since we KNOW timelapse was active (from MQTT ipcam data), the most recent + file in /timelapse is our target. Retries handle FTP connection issues. + """ + import logging + + logger = logging.getLogger(__name__) + + # Short delays - printer usually finishes encoding within seconds + retry_delays = [5, 10, 20] + + for attempt, delay in enumerate(retry_delays, 1): + logger.info( + f"[TIMELAPSE] Attempt {attempt}/{len(retry_delays)}: waiting {delay}s before scanning for archive {archive_id}" + ) + await asyncio.sleep(delay) + + try: + async with async_session() as db: + from backend.app.models.printer import Printer + from backend.app.services.bambu_ftp import download_file_bytes_async, list_files_async + + # Get archive (ArchiveService from module-level import) + service = ArchiveService(db) + archive = await service.get_archive(archive_id) + + if not archive: + logger.warning(f"[TIMELAPSE] Archive {archive_id} not found, stopping retries") + return + if archive.timelapse_path: + logger.info(f"[TIMELAPSE] Archive {archive_id} already has timelapse attached, stopping retries") + return + if not archive.printer_id: + logger.warning(f"[TIMELAPSE] Archive {archive_id} has no printer, stopping retries") + return + + # Get printer + result = await db.execute(select(Printer).where(Printer.id == archive.printer_id)) + printer = result.scalar_one_or_none() + + if not printer: + logger.warning(f"[TIMELAPSE] Printer not found for archive {archive_id}, stopping retries") + return + + # Scan timelapse directory on printer + # H2D may store in different locations than X1C + files = [] + found_path = None + for timelapse_path in ["/timelapse", "/timelapse/video", "/record", "/recording"]: + try: + found_files = await list_files_async(printer.ip_address, printer.access_code, timelapse_path) + if found_files: + files = found_files + found_path = timelapse_path + logger.info(f"[TIMELAPSE] Attempt {attempt}: Found {len(files)} files in {timelapse_path}") + break + except Exception as e: + logger.debug(f"[TIMELAPSE] Path {timelapse_path} failed: {e}") + continue + + if not files: + logger.info(f"[TIMELAPSE] Attempt {attempt}: No timelapse files found on printer, will retry") + continue + + mp4_files = [f for f in files if not f.get("is_directory") and f.get("name", "").endswith(".mp4")] + + # Log ALL mp4 files found for debugging + logger.info(f"[TIMELAPSE] Attempt {attempt}: Found {len(mp4_files)} MP4 files in {found_path}") + for f in mp4_files[:5]: # Log first 5 + logger.info(f"[TIMELAPSE] - {f.get('name')}, mtime={f.get('mtime')}") + + if not mp4_files: + logger.info(f"[TIMELAPSE] Attempt {attempt}: No MP4 files found, will retry") + continue + + # Sort by mtime descending to get most recent file + mp4_files_with_mtime = [f for f in mp4_files if f.get("mtime")] + if not mp4_files_with_mtime: + logger.info(f"[TIMELAPSE] Attempt {attempt}: No MP4 files with mtime found, will retry") + continue + + mp4_files_with_mtime.sort(key=lambda x: x.get("mtime"), reverse=True) + most_recent = mp4_files_with_mtime[0] + + file_name = most_recent.get("name") + logger.info(f"[TIMELAPSE] Attempt {attempt}: Most recent file: {file_name}") + + # Since we KNOW timelapse was active (from MQTT), just grab the most recent file + remote_path = most_recent.get("path") or f"/timelapse/{file_name}" + logger.info(f"[TIMELAPSE] Downloading {file_name} for archive {archive_id}") + timelapse_data = await download_file_bytes_async(printer.ip_address, printer.access_code, remote_path) + + if timelapse_data: + success = await service.attach_timelapse(archive_id, timelapse_data, file_name) + if success: + logger.info(f"[TIMELAPSE] Successfully attached timelapse to archive {archive_id}") + await ws_manager.send_archive_updated({"id": archive_id, "timelapse_attached": True}) + return # Success! + else: + logger.warning(f"[TIMELAPSE] Failed to attach timelapse to archive {archive_id}") + else: + logger.warning(f"[TIMELAPSE] Attempt {attempt}: Failed to download, will retry") + + except Exception as e: + logger.warning(f"[TIMELAPSE] Attempt {attempt} failed with error: {e}") + + logger.warning(f"[TIMELAPSE] All {len(retry_delays)} attempts exhausted for archive {archive_id}, giving up") + + async def on_print_complete(printer_id: int, data: dict): """Handle print completion - update the archive status.""" import logging @@ -669,7 +784,14 @@ async def on_print_complete(printer_id: int, data: dict): logger.info(f"[CALLBACK] on_print_complete started for printer {printer_id}") try: - await ws_manager.send_print_complete(printer_id, data) + # Only send necessary fields to WebSocket (not raw_data which can be large) + ws_data = { + "status": data.get("status"), + "filename": data.get("filename"), + "subtask_name": data.get("subtask_name"), + "timelapse_was_active": data.get("timelapse_was_active"), + } + await ws_manager.send_print_complete(printer_id, ws_data) except Exception as e: logger.warning(f"[CALLBACK] WebSocket send_print_complete failed: {e}") @@ -1024,109 +1146,10 @@ async def on_print_complete(printer_id: int, data: dict): # Auto-scan for timelapse if recording was active during the print if archive_id and data.get("timelapse_was_active") and data.get("status") == "completed": - logger.info(f"[TIMELAPSE] Timelapse was active during print, auto-scanning for archive {archive_id}") - try: - # Small delay to allow timelapse file to be finalized - await asyncio.sleep(5) - - async with async_session() as db: - from datetime import timedelta - from pathlib import Path - - from backend.app.models.archive import PrintArchive - from backend.app.models.printer import Printer - - # NOTE: ArchiveService is imported at module level (line 67) - # Do NOT import it here - it causes a Python scoping issue that breaks - # the earlier usage of ArchiveService in this function - from backend.app.services.bambu_ftp import download_file_bytes_async, list_files_async - - # Get archive (ArchiveService from module-level import) - service = ArchiveService(db) - archive = await service.get_archive(archive_id) - if not archive: - logger.warning(f"[TIMELAPSE] Archive {archive_id} not found") - elif archive.timelapse_path: - logger.info(f"[TIMELAPSE] Archive {archive_id} already has timelapse attached") - elif not archive.printer_id: - logger.warning(f"[TIMELAPSE] Archive {archive_id} has no printer") - else: - # Get printer - result = await db.execute(select(Printer).where(Printer.id == archive.printer_id)) - printer = result.scalar_one_or_none() - - if printer: - # Scan timelapse directory on printer - files = [] - for timelapse_path in ["/timelapse", "/timelapse/video"]: - try: - files = await list_files_async(printer.ip_address, printer.access_code, timelapse_path) - if files: - break - except Exception: - continue - - if files: - mp4_files = [ - f for f in files if not f.get("is_directory") and f.get("name", "").endswith(".mp4") - ] - - # Strategy: Find most recent timelapse by mtime - # Since we know timelapse was active during this print, use the most recent file - if mp4_files: - # Sort by mtime descending - mp4_files_with_mtime = [f for f in mp4_files if f.get("mtime")] - if mp4_files_with_mtime: - mp4_files_with_mtime.sort(key=lambda x: x.get("mtime"), reverse=True) - most_recent = mp4_files_with_mtime[0] - - # Verify the file was modified within reasonable time of print completion - file_mtime = most_recent.get("mtime") - archive_completed = archive.completed_at or datetime.now() - if file_mtime and abs(file_mtime - archive_completed) < timedelta(minutes=30): - # Download and attach - logger.info( - f"[TIMELAPSE] Downloading timelapse {most_recent['name']} for archive {archive_id}" - ) - remote_path = most_recent.get("path") or f"/timelapse/{most_recent['name']}" - timelapse_data = await download_file_bytes_async( - printer.ip_address, printer.access_code, remote_path - ) - - if timelapse_data: - success = await service.attach_timelapse( - archive_id, timelapse_data, most_recent["name"] - ) - if success: - logger.info( - f"[TIMELAPSE] Successfully attached timelapse to archive {archive_id}" - ) - await ws_manager.send_archive_updated( - { - "id": archive_id, - "timelapse_attached": True, - } - ) - else: - logger.warning( - f"[TIMELAPSE] Failed to attach timelapse to archive {archive_id}" - ) - else: - logger.warning("[TIMELAPSE] Failed to download timelapse file") - else: - logger.info( - "[TIMELAPSE] Most recent timelapse mtime too far from print completion" - ) - else: - logger.info("[TIMELAPSE] No timelapse files with mtime found") - else: - logger.info("[TIMELAPSE] No timelapse files found on printer") - else: - logger.warning(f"[TIMELAPSE] Printer not found for archive {archive_id}") - except Exception as e: - import logging - - logging.getLogger(__name__).warning(f"Timelapse auto-scan failed: {e}") + logger.info(f"[TIMELAPSE] Timelapse was active during print, scheduling auto-scan for archive {archive_id}") + # Schedule timelapse scan as background task with retries + # The printer needs time to encode the video after print completion + asyncio.create_task(_scan_for_timelapse_with_retries(archive_id)) # Update queue item if this was a scheduled print try: diff --git a/frontend/src/pages/PrintersPage.tsx b/frontend/src/pages/PrintersPage.tsx index 96b7a9f4b..feb77618a 100644 --- a/frontend/src/pages/PrintersPage.tsx +++ b/frontend/src/pages/PrintersPage.tsx @@ -453,10 +453,18 @@ function StatusSummaryBar({ printers }: { printers: Printer[] | undefined }) { }, [printers, queryClient]); // Subscribe to query cache changes to re-render when status updates + // Throttled to prevent rapid re-renders from causing tab crashes const [, setTick] = useState(0); useEffect(() => { + let pending = false; const unsubscribe = queryClient.getQueryCache().subscribe(() => { - setTick(t => t + 1); + if (!pending) { + pending = true; + requestAnimationFrame(() => { + setTick(t => t + 1); + pending = false; + }); + } }); return () => unsubscribe(); }, [queryClient]); diff --git a/static/assets/index-6wdRZeo9.js b/static/assets/index-DWSa7F3W.js similarity index 94% rename from static/assets/index-6wdRZeo9.js rename to static/assets/index-DWSa7F3W.js index 60c561803..39d5598eb 100644 --- a/static/assets/index-6wdRZeo9.js +++ b/static/assets/index-DWSa7F3W.js @@ -43,7 +43,7 @@ Please change the parent to 180),",").concat(+(d>0),",").concat(S.x,",").concat(S.y,` A`).concat(s,",").concat(s,",0,0,").concat(+(d<0),",").concat(A.x,",").concat(A.y,"Z")}else E+="L".concat(e,",").concat(n,"Z");return E},Jge={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},xq=t=>{var e=Sr(t,Jge),{cx:n,cy:r,innerRadius:i,outerRadius:s,cornerRadius:a,forceCornerRadius:o,cornerIsExternal:c,startAngle:u,endAngle:d,className:f}=e;if(s0&&Math.abs(u-d)<360?y=Qge({cx:n,cy:r,innerRadius:i,outerRadius:s,cornerRadius:Math.min(x,m/2),forceCornerRadius:o,cornerIsExternal:c,startAngle:u,endAngle:d}):y=gq({cx:n,cy:r,innerRadius:i,outerRadius:s,startAngle:u,endAngle:d}),M.createElement("path",uk({},ns(e),{className:g,d:y}))};function exe(t,e,n){if(t==="horizontal")return[{x:e.x,y:n.top},{x:e.x,y:n.top+n.height}];if(t==="vertical")return[{x:n.left,y:e.y},{x:n.left+n.width,y:e.y}];if(K7(e)){if(t==="centric"){var{cx:r,cy:i,innerRadius:s,outerRadius:a,angle:o}=e,c=Jr(r,i,s,o),u=Jr(r,i,a,o);return[{x:c.x,y:c.y},{x:u.x,y:u.y}]}return mq(e)}}var UT={},FT={},zT={},rB;function txe(){return rB||(rB=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=oW();function n(r){return e.isSymbol(r)?NaN:Number(r)}t.toNumber=n})(zT)),zT}var iB;function nxe(){return iB||(iB=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=txe();function n(r){return r?(r=e.toNumber(r),r===1/0||r===-1/0?(r<0?-1:1)*Number.MAX_VALUE:r===r?r:0):r===0?r:0}t.toFinite=n})(FT)),FT}var sB;function rxe(){return sB||(sB=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=lW(),n=nxe();function r(i,s,a){a&&typeof a!="number"&&e.isIterateeCall(i,s,a)&&(s=a=void 0),i=n.toFinite(i),s===void 0?(s=i,i=0):s=n.toFinite(s),a=a===void 0?ie?1:t>=e?0:NaN}function axe(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function vD(t){let e,n,r;t.length!==2?(e=Ku,n=(o,c)=>Ku(t(o),c),r=(o,c)=>t(o)-c):(e=t===Ku||t===axe?t:oxe,n=t,r=t);function i(o,c,u=0,d=o.length){if(u>>1;n(o[f],c)<0?u=f+1:d=f}while(u>>1;n(o[f],c)<=0?u=f+1:d=f}while(uu&&r(o[f-1],c)>-r(o[f],c)?f-1:f}return{left:i,center:a,right:s}}function oxe(){return 0}function vq(t){return t===null?NaN:+t}function*lxe(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const cxe=vD(Ku),Tb=cxe.right;vD(vq).center;class oB extends Map{constructor(e,n=hxe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(lB(this,e))}has(e){return super.has(lB(this,e))}set(e,n){return super.set(uxe(this,e),n)}delete(e){return super.delete(dxe(this,e))}}function lB({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function uxe({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function dxe({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function hxe(t){return t!==null&&typeof t=="object"?t.valueOf():t}function fxe(t=Ku){if(t===Ku)return yq;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function yq(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const pxe=Math.sqrt(50),mxe=Math.sqrt(10),gxe=Math.sqrt(2);function ew(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),s=r/Math.pow(10,i),a=s>=pxe?10:s>=mxe?5:s>=gxe?2:1;let o,c,u;return i<0?(u=Math.pow(10,-i)/a,o=Math.round(t*u),c=Math.round(e*u),o/ue&&--c,u=-u):(u=Math.pow(10,i)*a,o=Math.round(t/u),c=Math.round(e/u),o*ue&&--c),c0))return[];if(t===e)return[t];const r=e=i))return[];const o=s-i+1,c=new Array(o);if(r)if(a<0)for(let u=0;u=r)&&(n=r);return n}function uB(t,e){let n;for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function _q(t,e,n=0,r=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=i===void 0?yq:fxe(i);r>n;){if(r-n>600){const c=r-n+1,u=e-n+1,d=Math.log(c),f=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*f*(c-f)/c)*(u-c/2<0?-1:1),m=Math.max(n,Math.floor(e-u*f/c+g)),x=Math.min(r,Math.floor(e+(c-u)*f/c+g));_q(t,e,m,x,i)}const s=t[e];let a=n,o=r;for(ux(t,n,e),i(t[r],s)>0&&ux(t,n,r);a0;)--o}i(t[n],s)===0?ux(t,n,o):(++o,ux(t,o,r)),o<=e&&(n=o+1),e<=o&&(r=o-1)}return t}function ux(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function xxe(t,e,n){if(t=Float64Array.from(lxe(t)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return uB(t);if(e>=1)return cB(t);var r,i=(r-1)*e,s=Math.floor(i),a=cB(_q(t,s).subarray(0,s+1)),o=uB(t.subarray(s+1));return a+(o-a)*(i-s)}}function bxe(t,e,n=vq){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,s=Math.floor(i),a=+n(t[s],s,t),o=+n(t[s+1],s+1,t);return a+(o-a)*(i-s)}}function vxe(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,s=new Array(i);++r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Ty(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Ty(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=wxe.exec(t))?new qs(e[1],e[2],e[3],1):(e=Sxe.exec(t))?new qs(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Exe.exec(t))?Ty(e[1],e[2],e[3],e[4]):(e=Mxe.exec(t))?Ty(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Axe.exec(t))?xB(e[1],e[2]/100,e[3]/100,1):(e=Txe.exec(t))?xB(e[1],e[2]/100,e[3]/100,e[4]):dB.hasOwnProperty(t)?pB(dB[t]):t==="transparent"?new qs(NaN,NaN,NaN,0):null}function pB(t){return new qs(t>>16&255,t>>8&255,t&255,1)}function Ty(t,e,n,r){return r<=0&&(t=e=n=NaN),new qs(t,e,n,r)}function kxe(t){return t instanceof Cb||(t=I0(t)),t?(t=t.rgb(),new qs(t.r,t.g,t.b,t.opacity)):new qs}function mk(t,e,n,r){return arguments.length===1?kxe(t):new qs(t,e,n,r??1)}function qs(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}wD(qs,mk,Sq(Cb,{brighter(t){return t=t==null?tw:Math.pow(tw,t),new qs(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?j0:Math.pow(j0,t),new qs(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new qs(Ah(this.r),Ah(this.g),Ah(this.b),nw(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:mB,formatHex:mB,formatHex8:Pxe,formatRgb:gB,toString:gB}));function mB(){return`#${fh(this.r)}${fh(this.g)}${fh(this.b)}`}function Pxe(){return`#${fh(this.r)}${fh(this.g)}${fh(this.b)}${fh((isNaN(this.opacity)?1:this.opacity)*255)}`}function gB(){const t=nw(this.opacity);return`${t===1?"rgb(":"rgba("}${Ah(this.r)}, ${Ah(this.g)}, ${Ah(this.b)}${t===1?")":`, ${t})`}`}function nw(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Ah(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function fh(t){return t=Ah(t),(t<16?"0":"")+t.toString(16)}function xB(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new No(t,e,n,r)}function Eq(t){if(t instanceof No)return new No(t.h,t.s,t.l,t.opacity);if(t instanceof Cb||(t=I0(t)),!t)return new No;if(t instanceof No)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),s=Math.max(e,n,r),a=NaN,o=s-i,c=(s+i)/2;return o?(e===s?a=(n-r)/o+(n0&&c<1?0:a,new No(a,o,c,t.opacity)}function Rxe(t,e,n,r){return arguments.length===1?Eq(t):new No(t,e,n,r??1)}function No(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}wD(No,Rxe,Sq(Cb,{brighter(t){return t=t==null?tw:Math.pow(tw,t),new No(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?j0:Math.pow(j0,t),new No(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new qs(HT(t>=240?t-240:t+120,i,r),HT(t,i,r),HT(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new No(bB(this.h),Cy(this.s),Cy(this.l),nw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=nw(this.opacity);return`${t===1?"hsl(":"hsla("}${bB(this.h)}, ${Cy(this.s)*100}%, ${Cy(this.l)*100}%${t===1?")":`, ${t})`}`}}));function bB(t){return t=(t||0)%360,t<0?t+360:t}function Cy(t){return Math.max(0,Math.min(1,t||0))}function HT(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const SD=t=>()=>t;function Dxe(t,e){return function(n){return t+n*e}}function Oxe(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function jxe(t){return(t=+t)==1?Mq:function(e,n){return n-e?Oxe(e,n,t):SD(isNaN(e)?n:e)}}function Mq(t,e){var n=e-t;return n?Dxe(t,n):SD(isNaN(t)?e:t)}const vB=(function t(e){var n=jxe(e);function r(i,s){var a=n((i=mk(i)).r,(s=mk(s)).r),o=n(i.g,s.g),c=n(i.b,s.b),u=Mq(i.opacity,s.opacity);return function(d){return i.r=a(d),i.g=o(d),i.b=c(d),i.opacity=u(d),i+""}}return r.gamma=t,r})(1);function Lxe(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(s){for(i=0;in&&(s=e.slice(n,s),o[a]?o[a]+=s:o[++a]=s),(r=r[0])===(i=i[0])?o[a]?o[a]+=i:o[++a]=i:(o[++a]=null,c.push({i:a,x:rw(r,i)})),n=$T.lastIndex;return ne&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function qxe(t,e,n){var r=t[0],i=t[1],s=e[0],a=e[1];return i2?Kxe:qxe,c=u=null,f}function f(g){return g==null||isNaN(g=+g)?s:(c||(c=o(t.map(r),e,n)))(r(a(g)))}return f.invert=function(g){return a(i((u||(u=o(e,t.map(r),rw)))(g)))},f.domain=function(g){return arguments.length?(t=Array.from(g,iw),d()):t.slice()},f.range=function(g){return arguments.length?(e=Array.from(g),d()):e.slice()},f.rangeRound=function(g){return e=Array.from(g),n=ED,d()},f.clamp=function(g){return arguments.length?(a=g?!0:Ms,d()):a!==Ms},f.interpolate=function(g){return arguments.length?(n=g,d()):n},f.unknown=function(g){return arguments.length?(s=g,f):s},function(g,m){return r=g,i=m,d()}}function MD(){return uE()(Ms,Ms)}function Xxe(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function sw(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Em(t){return t=sw(Math.abs(t)),t?t[1]:NaN}function Yxe(t,e){return function(n,r){for(var i=n.length,s=[],a=0,o=t[0],c=0;i>0&&o>0&&(c+o+1>r&&(o=Math.max(1,r-c)),s.push(n.substring(i-=o,i+o)),!((c+=o+1)>r));)o=t[a=(a+1)%t.length];return s.reverse().join(e)}}function Zxe(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var Qxe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function U0(t){if(!(e=Qxe.exec(t)))throw new Error("invalid format: "+t);var e;return new AD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}U0.prototype=AD.prototype;function AD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}AD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Jxe(t){e:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Aq;function e0e(t,e){var n=sw(t,e);if(!n)return t+"";var r=n[0],i=n[1],s=i-(Aq=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return s===a?r:s>a?r+new Array(s-a+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+sw(t,Math.max(0,e+s-1))[0]}function _B(t,e){var n=sw(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const wB={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Xxe,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>_B(t*100,e),r:_B,s:e0e,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function SB(t){return t}var EB=Array.prototype.map,MB=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function t0e(t){var e=t.grouping===void 0||t.thousands===void 0?SB:Yxe(EB.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",s=t.numerals===void 0?SB:Zxe(EB.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function u(f){f=U0(f);var g=f.fill,m=f.align,x=f.sign,y=f.symbol,v=f.zero,b=f.width,E=f.comma,S=f.precision,A=f.trim,T=f.type;T==="n"?(E=!0,T="g"):wB[T]||(S===void 0&&(S=12),A=!0,T="g"),(v||g==="0"&&m==="=")&&(v=!0,g="0",m="=");var k=y==="$"?n:y==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",N=y==="$"?r:/[%p]/.test(T)?a:"",I=wB[T],C=/[defgprs%]/.test(T);S=S===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,S)):Math.max(0,Math.min(20,S));function D(F){var j=k,q=N,R,W,K;if(T==="c")q=I(F)+q,F="";else{F=+F;var V=F<0||1/F<0;if(F=isNaN(F)?c:I(Math.abs(F),S),A&&(F=Jxe(F)),V&&+F==0&&x!=="+"&&(V=!1),j=(V?x==="("?x:o:x==="-"||x==="("?"":x)+j,q=(T==="s"?MB[8+Aq/3]:"")+q+(V&&x==="("?")":""),C){for(R=-1,W=F.length;++RK||K>57){q=(K===46?i+F.slice(R+1):F.slice(R))+q,F=F.slice(0,R);break}}}E&&!v&&(F=e(F,1/0));var ee=j.length+F.length+q.length,Y=ee>1)+j+F+q+Y.slice(ee);break;default:F=Y+j+F+q;break}return s(F)}return D.toString=function(){return f+""},D}function d(f,g){var m=u((f=U0(f),f.type="f",f)),x=Math.max(-8,Math.min(8,Math.floor(Em(g)/3)))*3,y=Math.pow(10,-x),v=MB[8+x/3];return function(b){return m(y*b)+v}}return{format:u,formatPrefix:d}}var Ny,TD,Tq;n0e({thousands:",",grouping:[3],currency:["$",""]});function n0e(t){return Ny=t0e(t),TD=Ny.format,Tq=Ny.formatPrefix,Ny}function r0e(t){return Math.max(0,-Em(Math.abs(t)))}function i0e(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Em(e)/3)))*3-Em(Math.abs(t)))}function s0e(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Em(e)-Em(t))+1}function Cq(t,e,n,r){var i=fk(t,e,n),s;switch(r=U0(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(s=i0e(i,a))&&(r.precision=s),Tq(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=s0e(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=r0e(i))&&(r.precision=s-(r.type==="%")*2);break}}return TD(r)}function yd(t){var e=t.domain;return t.ticks=function(n){var r=e();return dk(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return Cq(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,s=r.length-1,a=r[i],o=r[s],c,u,d=10;for(o0;){if(u=hk(a,o,n),u===c)return r[i]=a,r[s]=o,e(r);if(u>0)a=Math.floor(a/u)*u,o=Math.ceil(o/u)*u;else if(u<0)a=Math.ceil(a*u)/u,o=Math.floor(o*u)/u;else break;c=u}return t},t}function Nq(){var t=MD();return t.copy=function(){return Nb(t,Nq())},po.apply(t,arguments),yd(t)}function kq(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,iw),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return kq(t).unknown(e)},t=arguments.length?Array.from(t,iw):[0,1],yd(n)}function Pq(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],s=t[r],a;return sMath.pow(t,e)}function u0e(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function CB(t){return(e,n)=>-t(-e,n)}function CD(t){const e=t(AB,TB),n=e.domain;let r=10,i,s;function a(){return i=u0e(r),s=c0e(r),n()[0]<0?(i=CB(i),s=CB(s),t(a0e,o0e)):t(AB,TB),e}return e.base=function(o){return arguments.length?(r=+o,a()):r},e.domain=function(o){return arguments.length?(n(o),a()):n()},e.ticks=o=>{const c=n();let u=c[0],d=c[c.length-1];const f=d0){for(;g<=m;++g)for(x=1;xd)break;b.push(y)}}else for(;g<=m;++g)for(x=r-1;x>=1;--x)if(y=g>0?x/s(-g):x*s(g),!(yd)break;b.push(y)}b.length*2{if(o==null&&(o=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=U0(c)).precision==null&&(c.trim=!0),c=TD(c)),o===1/0)return c;const u=Math.max(1,r*o/e.ticks().length);return d=>{let f=d/s(Math.round(i(d)));return f*rn(Pq(n(),{floor:o=>s(Math.floor(i(o))),ceil:o=>s(Math.ceil(i(o)))})),e}function Rq(){const t=CD(uE()).domain([1,10]);return t.copy=()=>Nb(t,Rq()).base(t.base()),po.apply(t,arguments),t}function NB(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function kB(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function ND(t){var e=1,n=t(NB(e),kB(e));return n.constant=function(r){return arguments.length?t(NB(e=+r),kB(e)):e},yd(n)}function Dq(){var t=ND(uE());return t.copy=function(){return Nb(t,Dq()).constant(t.constant())},po.apply(t,arguments)}function PB(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function d0e(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function h0e(t){return t<0?-t*t:t*t}function kD(t){var e=t(Ms,Ms),n=1;function r(){return n===1?t(Ms,Ms):n===.5?t(d0e,h0e):t(PB(n),PB(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,r()):n},yd(e)}function PD(){var t=kD(uE());return t.copy=function(){return Nb(t,PD()).exponent(t.exponent())},po.apply(t,arguments),t}function f0e(){return PD.apply(null,arguments).exponent(.5)}function RB(t){return Math.sign(t)*t*t}function p0e(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function Oq(){var t=MD(),e=[0,1],n=!1,r;function i(s){var a=p0e(t(s));return isNaN(a)?r:n?Math.round(a):a}return i.invert=function(s){return t.invert(RB(s))},i.domain=function(s){return arguments.length?(t.domain(s),i):t.domain()},i.range=function(s){return arguments.length?(t.range((e=Array.from(s,iw)).map(RB)),i):e.slice()},i.rangeRound=function(s){return i.range(s).round(!0)},i.round=function(s){return arguments.length?(n=!!s,i):n},i.clamp=function(s){return arguments.length?(t.clamp(s),i):t.clamp()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.copy=function(){return Oq(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},po.apply(i,arguments),yd(i)}function jq(){var t=[],e=[],n=[],r;function i(){var a=0,o=Math.max(1,e.length);for(n=new Array(o-1);++a0?n[o-1]:t[0],o=n?[r[n-1],e]:[r[u-1],r[u]]},a.unknown=function(c){return arguments.length&&(s=c),a},a.thresholds=function(){return r.slice()},a.copy=function(){return Lq().domain([t,e]).range(i).unknown(s)},po.apply(yd(a),arguments)}function Iq(){var t=[.5],e=[0,1],n,r=1;function i(s){return s!=null&&s<=s?e[Tb(t,s,0,r)]:n}return i.domain=function(s){return arguments.length?(t=Array.from(s),r=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(s){return arguments.length?(e=Array.from(s),r=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(s){var a=e.indexOf(s);return[t[a-1],t[a]]},i.unknown=function(s){return arguments.length?(n=s,i):n},i.copy=function(){return Iq().domain(t).range(e).unknown(n)},po.apply(i,arguments)}const VT=new Date,GT=new Date;function yi(t,e,n,r){function i(s){return t(s=arguments.length===0?new Date:new Date(+s)),s}return i.floor=s=>(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),o=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,o)=>{const c=[];if(s=i.ceil(s),o=o==null?1:Math.floor(o),!(s0))return c;let u;do c.push(u=new Date(+s)),e(s,o),t(s);while(uyi(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,o)=>{if(a>=a)if(o<0)for(;++o<=0;)for(;e(a,-1),!s(a););else for(;--o>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(VT.setTime(+s),GT.setTime(+a),t(VT),t(GT),Math.floor(n(VT,GT))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const aw=yi(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);aw.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?yi(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):aw);aw.range;const fc=1e3,no=fc*60,pc=no*60,kc=pc*24,RD=kc*7,DB=kc*30,WT=kc*365,ph=yi(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*fc)},(t,e)=>(e-t)/fc,t=>t.getUTCSeconds());ph.range;const DD=yi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*fc)},(t,e)=>{t.setTime(+t+e*no)},(t,e)=>(e-t)/no,t=>t.getMinutes());DD.range;const OD=yi(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*no)},(t,e)=>(e-t)/no,t=>t.getUTCMinutes());OD.range;const jD=yi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*fc-t.getMinutes()*no)},(t,e)=>{t.setTime(+t+e*pc)},(t,e)=>(e-t)/pc,t=>t.getHours());jD.range;const LD=yi(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*pc)},(t,e)=>(e-t)/pc,t=>t.getUTCHours());LD.range;const kb=yi(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*no)/kc,t=>t.getDate()-1);kb.range;const dE=yi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/kc,t=>t.getUTCDate()-1);dE.range;const Uq=yi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/kc,t=>Math.floor(t/kc));Uq.range;function ff(t){return yi(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*no)/RD)}const hE=ff(0),ow=ff(1),m0e=ff(2),g0e=ff(3),Mm=ff(4),x0e=ff(5),b0e=ff(6);hE.range;ow.range;m0e.range;g0e.range;Mm.range;x0e.range;b0e.range;function pf(t){return yi(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/RD)}const fE=pf(0),lw=pf(1),v0e=pf(2),y0e=pf(3),Am=pf(4),_0e=pf(5),w0e=pf(6);fE.range;lw.range;v0e.range;y0e.range;Am.range;_0e.range;w0e.range;const ID=yi(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());ID.range;const UD=yi(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());UD.range;const Pc=yi(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Pc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:yi(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});Pc.range;const Rc=yi(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Rc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:yi(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});Rc.range;function Fq(t,e,n,r,i,s){const a=[[ph,1,fc],[ph,5,5*fc],[ph,15,15*fc],[ph,30,30*fc],[s,1,no],[s,5,5*no],[s,15,15*no],[s,30,30*no],[i,1,pc],[i,3,3*pc],[i,6,6*pc],[i,12,12*pc],[r,1,kc],[r,2,2*kc],[n,1,RD],[e,1,DB],[e,3,3*DB],[t,1,WT]];function o(u,d,f){const g=dv).right(a,g);if(m===a.length)return t.every(fk(u/WT,d/WT,f));if(m===0)return aw.every(Math.max(fk(u,d,f),1));const[x,y]=a[g/a[m-1][2]53)return null;"w"in he||(he.w=1),"Z"in he?($=KT(dx(he.y,0,1)),H=$.getUTCDay(),$=H>4||H===0?lw.ceil($):lw($),$=dE.offset($,(he.V-1)*7),he.y=$.getUTCFullYear(),he.m=$.getUTCMonth(),he.d=$.getUTCDate()+(he.w+6)%7):($=qT(dx(he.y,0,1)),H=$.getDay(),$=H>4||H===0?ow.ceil($):ow($),$=kb.offset($,(he.V-1)*7),he.y=$.getFullYear(),he.m=$.getMonth(),he.d=$.getDate()+(he.w+6)%7)}else("W"in he||"U"in he)&&("w"in he||(he.w="u"in he?he.u%7:"W"in he?1:0),H="Z"in he?KT(dx(he.y,0,1)).getUTCDay():qT(dx(he.y,0,1)).getDay(),he.m=0,he.d="W"in he?(he.w+6)%7+he.W*7-(H+5)%7:he.w+he.U*7-(H+6)%7);return"Z"in he?(he.H+=he.Z/100|0,he.M+=he.Z%100,KT(he)):qT(he)}}function I(re,we,Oe,he){for(var ht=0,$=we.length,H=Oe.length,ne,G;ht<$;){if(he>=H)return-1;if(ne=we.charCodeAt(ht++),ne===37){if(ne=we.charAt(ht++),G=T[ne in OB?we.charAt(ht++):ne],!G||(he=G(re,Oe,he))<0)return-1}else if(ne!=Oe.charCodeAt(he++))return-1}return he}function C(re,we,Oe){var he=u.exec(we.slice(Oe));return he?(re.p=d.get(he[0].toLowerCase()),Oe+he[0].length):-1}function D(re,we,Oe){var he=m.exec(we.slice(Oe));return he?(re.w=x.get(he[0].toLowerCase()),Oe+he[0].length):-1}function F(re,we,Oe){var he=f.exec(we.slice(Oe));return he?(re.w=g.get(he[0].toLowerCase()),Oe+he[0].length):-1}function j(re,we,Oe){var he=b.exec(we.slice(Oe));return he?(re.m=E.get(he[0].toLowerCase()),Oe+he[0].length):-1}function q(re,we,Oe){var he=y.exec(we.slice(Oe));return he?(re.m=v.get(he[0].toLowerCase()),Oe+he[0].length):-1}function R(re,we,Oe){return I(re,e,we,Oe)}function W(re,we,Oe){return I(re,n,we,Oe)}function K(re,we,Oe){return I(re,r,we,Oe)}function V(re){return a[re.getDay()]}function ee(re){return s[re.getDay()]}function Y(re){return c[re.getMonth()]}function Q(re){return o[re.getMonth()]}function U(re){return i[+(re.getHours()>=12)]}function z(re){return 1+~~(re.getMonth()/3)}function J(re){return a[re.getUTCDay()]}function se(re){return s[re.getUTCDay()]}function me(re){return c[re.getUTCMonth()]}function fe(re){return o[re.getUTCMonth()]}function xe(re){return i[+(re.getUTCHours()>=12)]}function Ee(re){return 1+~~(re.getUTCMonth()/3)}return{format:function(re){var we=k(re+="",S);return we.toString=function(){return re},we},parse:function(re){var we=N(re+="",!1);return we.toString=function(){return re},we},utcFormat:function(re){var we=k(re+="",A);return we.toString=function(){return re},we},utcParse:function(re){var we=N(re+="",!0);return we.toString=function(){return re},we}}}var OB={"-":"",_:" ",0:"0"},Fi=/^\s*\d+/,C0e=/^%/,N0e=/[\\^$*+?|[\]().{}]/g;function Nn(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function P0e(t,e,n){var r=Fi.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function R0e(t,e,n){var r=Fi.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function D0e(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function O0e(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function j0e(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function jB(t,e,n){var r=Fi.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function LB(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function L0e(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function I0e(t,e,n){var r=Fi.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function U0e(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function IB(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function F0e(t,e,n){var r=Fi.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function UB(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function z0e(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function B0e(t,e,n){var r=Fi.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function H0e(t,e,n){var r=Fi.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function $0e(t,e,n){var r=Fi.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function V0e(t,e,n){var r=C0e.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function G0e(t,e,n){var r=Fi.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function W0e(t,e,n){var r=Fi.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function FB(t,e){return Nn(t.getDate(),e,2)}function q0e(t,e){return Nn(t.getHours(),e,2)}function K0e(t,e){return Nn(t.getHours()%12||12,e,2)}function X0e(t,e){return Nn(1+kb.count(Pc(t),t),e,3)}function zq(t,e){return Nn(t.getMilliseconds(),e,3)}function Y0e(t,e){return zq(t,e)+"000"}function Z0e(t,e){return Nn(t.getMonth()+1,e,2)}function Q0e(t,e){return Nn(t.getMinutes(),e,2)}function J0e(t,e){return Nn(t.getSeconds(),e,2)}function ebe(t){var e=t.getDay();return e===0?7:e}function tbe(t,e){return Nn(hE.count(Pc(t)-1,t),e,2)}function Bq(t){var e=t.getDay();return e>=4||e===0?Mm(t):Mm.ceil(t)}function nbe(t,e){return t=Bq(t),Nn(Mm.count(Pc(t),t)+(Pc(t).getDay()===4),e,2)}function rbe(t){return t.getDay()}function ibe(t,e){return Nn(ow.count(Pc(t)-1,t),e,2)}function sbe(t,e){return Nn(t.getFullYear()%100,e,2)}function abe(t,e){return t=Bq(t),Nn(t.getFullYear()%100,e,2)}function obe(t,e){return Nn(t.getFullYear()%1e4,e,4)}function lbe(t,e){var n=t.getDay();return t=n>=4||n===0?Mm(t):Mm.ceil(t),Nn(t.getFullYear()%1e4,e,4)}function cbe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Nn(e/60|0,"0",2)+Nn(e%60,"0",2)}function zB(t,e){return Nn(t.getUTCDate(),e,2)}function ube(t,e){return Nn(t.getUTCHours(),e,2)}function dbe(t,e){return Nn(t.getUTCHours()%12||12,e,2)}function hbe(t,e){return Nn(1+dE.count(Rc(t),t),e,3)}function Hq(t,e){return Nn(t.getUTCMilliseconds(),e,3)}function fbe(t,e){return Hq(t,e)+"000"}function pbe(t,e){return Nn(t.getUTCMonth()+1,e,2)}function mbe(t,e){return Nn(t.getUTCMinutes(),e,2)}function gbe(t,e){return Nn(t.getUTCSeconds(),e,2)}function xbe(t){var e=t.getUTCDay();return e===0?7:e}function bbe(t,e){return Nn(fE.count(Rc(t)-1,t),e,2)}function $q(t){var e=t.getUTCDay();return e>=4||e===0?Am(t):Am.ceil(t)}function vbe(t,e){return t=$q(t),Nn(Am.count(Rc(t),t)+(Rc(t).getUTCDay()===4),e,2)}function ybe(t){return t.getUTCDay()}function _be(t,e){return Nn(lw.count(Rc(t)-1,t),e,2)}function wbe(t,e){return Nn(t.getUTCFullYear()%100,e,2)}function Sbe(t,e){return t=$q(t),Nn(t.getUTCFullYear()%100,e,2)}function Ebe(t,e){return Nn(t.getUTCFullYear()%1e4,e,4)}function Mbe(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Am(t):Am.ceil(t),Nn(t.getUTCFullYear()%1e4,e,4)}function Abe(){return"+0000"}function BB(){return"%"}function HB(t){return+t}function $B(t){return Math.floor(+t/1e3)}var Qf,Vq,Gq;Tbe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Tbe(t){return Qf=T0e(t),Vq=Qf.format,Qf.parse,Gq=Qf.utcFormat,Qf.utcParse,Qf}function Cbe(t){return new Date(t)}function Nbe(t){return t instanceof Date?+t:+new Date(+t)}function FD(t,e,n,r,i,s,a,o,c,u){var d=MD(),f=d.invert,g=d.domain,m=u(".%L"),x=u(":%S"),y=u("%I:%M"),v=u("%I %p"),b=u("%a %d"),E=u("%b %d"),S=u("%B"),A=u("%Y");function T(k){return(c(k)e(i/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,s)=>xxe(t,s/r))},n.copy=function(){return Xq(e).domain(t)},Fc.apply(n,arguments)}function mE(){var t=0,e=.5,n=1,r=1,i,s,a,o,c,u=Ms,d,f=!1,g;function m(y){return isNaN(y=+y)?g:(y=.5+((y=+d(y))-s)*(r*yt.chartData,HD=Ge([wd],t=>{var e=t.chartData!=null?t.chartData.length-1:0;return{chartData:t.chartData,computedData:t.computedData,dataEndIndex:e,dataStartIndex:0}}),Pb=(t,e,n,r)=>r?HD(t):wd(t);function od(t){if(Array.isArray(t)&&t.length===2){var[e,n]=t;if(Hn(e)&&Hn(n))return!0}return!1}function VB(t,e,n){return n?t:[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}function Jq(t,e){if(e&&typeof t!="function"&&Array.isArray(t)&&t.length===2){var[n,r]=t,i,s;if(Hn(n))i=n;else if(typeof n=="function")return;if(Hn(r))s=r;else if(typeof r=="function")return;var a=[i,s];if(od(a))return a}}function Obe(t,e,n){if(!(!n&&e==null)){if(typeof t=="function"&&e!=null)try{var r=t(e,n);if(od(r))return VB(r,e,n)}catch{}if(Array.isArray(t)&&t.length===2){var[i,s]=t,a,o;if(i==="auto")e!=null&&(a=Math.min(...e));else if(Pt(i))a=i;else if(typeof i=="function")try{e!=null&&(a=i(e?.[0]))}catch{}else if(typeof i=="string"&&bz.test(i)){var c=bz.exec(i);if(c==null||e==null)a=void 0;else{var u=+c[1];a=e[0]-u}}else a=e?.[0];if(s==="auto")e!=null&&(o=Math.max(...e));else if(Pt(s))o=s;else if(typeof s=="function")try{e!=null&&(o=s(e?.[1]))}catch{}else if(typeof s=="string"&&vz.test(s)){var d=vz.exec(s);if(d==null||e==null)o=void 0;else{var f=+d[1];o=e[1]+f}}else o=e?.[1];var g=[a,o];if(od(g))return e==null?g:VB(g,e,n)}}}var eg=1e9,jbe={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},VD,gr=!0,ho="[DecimalError] ",Th=ho+"Invalid argument: ",$D=ho+"Exponent out of range: ",tg=Math.floor,ih=Math.pow,Lbe=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,xa,Di=1e7,ur=7,eK=9007199254740991,cw=tg(eK/ur),Dt={};Dt.absoluteValue=Dt.abs=function(){var t=new this.constructor(this);return t.s&&(t.s=1),t};Dt.comparedTo=Dt.cmp=function(t){var e,n,r,i,s=this;if(t=new s.constructor(t),s.s!==t.s)return s.s||-t.s;if(s.e!==t.e)return s.e>t.e^s.s<0?1:-1;for(r=s.d.length,i=t.d.length,e=0,n=rt.d[e]^s.s<0?1:-1;return r===i?0:r>i^s.s<0?1:-1};Dt.decimalPlaces=Dt.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*ur;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Dt.dividedBy=Dt.div=function(t){return yc(this,new this.constructor(t))};Dt.dividedToIntegerBy=Dt.idiv=function(t){var e=this,n=e.constructor;return nr(yc(e,new n(t),0,1),n.precision)};Dt.equals=Dt.eq=function(t){return!this.cmp(t)};Dt.exponent=function(){return ni(this)};Dt.greaterThan=Dt.gt=function(t){return this.cmp(t)>0};Dt.greaterThanOrEqualTo=Dt.gte=function(t){return this.cmp(t)>=0};Dt.isInteger=Dt.isint=function(){return this.e>this.d.length-2};Dt.isNegative=Dt.isneg=function(){return this.s<0};Dt.isPositive=Dt.ispos=function(){return this.s>0};Dt.isZero=function(){return this.s===0};Dt.lessThan=Dt.lt=function(t){return this.cmp(t)<0};Dt.lessThanOrEqualTo=Dt.lte=function(t){return this.cmp(t)<1};Dt.logarithm=Dt.log=function(t){var e,n=this,r=n.constructor,i=r.precision,s=i+5;if(t===void 0)t=new r(10);else if(t=new r(t),t.s<1||t.eq(xa))throw Error(ho+"NaN");if(n.s<1)throw Error(ho+(n.s?"NaN":"-Infinity"));return n.eq(xa)?new r(0):(gr=!1,e=yc(F0(n,s),F0(t,s),s),gr=!0,nr(e,i))};Dt.minus=Dt.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?rK(e,t):tK(e,(t.s=-t.s,t))};Dt.modulo=Dt.mod=function(t){var e,n=this,r=n.constructor,i=r.precision;if(t=new r(t),!t.s)throw Error(ho+"NaN");return n.s?(gr=!1,e=yc(n,t,0,1).times(t),gr=!0,n.minus(e)):nr(new r(n),i)};Dt.naturalExponential=Dt.exp=function(){return nK(this)};Dt.naturalLogarithm=Dt.ln=function(){return F0(this)};Dt.negated=Dt.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Dt.plus=Dt.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?tK(e,t):rK(e,(t.s=-t.s,t))};Dt.precision=Dt.sd=function(t){var e,n,r,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Th+t);if(e=ni(i)+1,r=i.d.length-1,n=r*ur+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return t&&e>n?e:n};Dt.squareRoot=Dt.sqrt=function(){var t,e,n,r,i,s,a,o=this,c=o.constructor;if(o.s<1){if(!o.s)return new c(0);throw Error(ho+"NaN")}for(t=ni(o),gr=!1,i=Math.sqrt(+o),i==0||i==1/0?(e=al(o.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=tg((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),r=new c(e)):r=new c(i.toString()),n=c.precision,i=a=n+3;;)if(s=r,r=s.plus(yc(o,s,a+2)).times(.5),al(s.d).slice(0,a)===(e=al(r.d)).slice(0,a)){if(e=e.slice(a-3,a+1),i==a&&e=="4999"){if(nr(s,n+1,0),s.times(s).eq(o)){r=s;break}}else if(e!="9999")break;a+=4}return gr=!0,nr(r,n)};Dt.times=Dt.mul=function(t){var e,n,r,i,s,a,o,c,u,d=this,f=d.constructor,g=d.d,m=(t=new f(t)).d;if(!d.s||!t.s)return new f(0);for(t.s*=d.s,n=d.e+t.e,c=g.length,u=m.length,c=0;){for(e=0,i=c+r;i>r;)o=s[i]+m[r]*g[i-r-1]+e,s[i--]=o%Di|0,e=o/Di|0;s[i]=(s[i]+e)%Di|0}for(;!s[--a];)s.pop();return e?++n:s.shift(),t.d=s,t.e=n,gr?nr(t,f.precision):t};Dt.toDecimalPlaces=Dt.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(fl(t,0,eg),e===void 0?e=r.rounding:fl(e,0,8),nr(n,t+ni(n)+1,e))};Dt.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=Xh(r,!0):(fl(t,0,eg),e===void 0?e=i.rounding:fl(e,0,8),r=nr(new i(r),t+1,e),n=Xh(r,!0,t+1)),n};Dt.toFixed=function(t,e){var n,r,i=this,s=i.constructor;return t===void 0?Xh(i):(fl(t,0,eg),e===void 0?e=s.rounding:fl(e,0,8),r=nr(new s(i),t+ni(i)+1,e),n=Xh(r.abs(),!1,t+ni(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Dt.toInteger=Dt.toint=function(){var t=this,e=t.constructor;return nr(new e(t),ni(t)+1,e.rounding)};Dt.toNumber=function(){return+this};Dt.toPower=Dt.pow=function(t){var e,n,r,i,s,a,o=this,c=o.constructor,u=12,d=+(t=new c(t));if(!t.s)return new c(xa);if(o=new c(o),!o.s){if(t.s<1)throw Error(ho+"Infinity");return o}if(o.eq(xa))return o;if(r=c.precision,t.eq(xa))return nr(o,r);if(e=t.e,n=t.d.length-1,a=e>=n,s=o.s,a){if((n=d<0?-d:d)<=eK){for(i=new c(xa),e=Math.ceil(r/ur+4),gr=!1;n%2&&(i=i.times(o),WB(i.d,e)),n=tg(n/2),n!==0;)o=o.times(o),WB(o.d,e);return gr=!0,t.s<0?new c(xa).div(i):nr(i,r)}}else if(s<0)throw Error(ho+"NaN");return s=s<0&&t.d[Math.max(e,n)]&1?-1:1,o.s=1,gr=!1,i=t.times(F0(o,r+u)),gr=!0,i=nK(i),i.s=s,i};Dt.toPrecision=function(t,e){var n,r,i=this,s=i.constructor;return t===void 0?(n=ni(i),r=Xh(i,n<=s.toExpNeg||n>=s.toExpPos)):(fl(t,1,eg),e===void 0?e=s.rounding:fl(e,0,8),i=nr(new s(i),t,e),n=ni(i),r=Xh(i,t<=n||n<=s.toExpNeg,t)),r};Dt.toSignificantDigits=Dt.tosd=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(fl(t,1,eg),e===void 0?e=r.rounding:fl(e,0,8)),nr(new r(n),t,e)};Dt.toString=Dt.valueOf=Dt.val=Dt.toJSON=Dt[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=ni(t),n=t.constructor;return Xh(t,e<=n.toExpNeg||e>=n.toExpPos)};function tK(t,e){var n,r,i,s,a,o,c,u,d=t.constructor,f=d.precision;if(!t.s||!e.s)return e.s||(e=new d(t)),gr?nr(e,f):e;if(c=t.d,u=e.d,a=t.e,i=e.e,c=c.slice(),s=a-i,s){for(s<0?(r=c,s=-s,o=u.length):(r=u,i=a,o=c.length),a=Math.ceil(f/ur),o=a>o?a+1:o+1,s>o&&(s=o,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(o=c.length,s=u.length,o-s<0&&(s=o,r=u,u=c,c=r),n=0;s;)n=(c[--s]=c[s]+u[s]+n)/Di|0,c[s]%=Di;for(n&&(c.unshift(n),++i),o=c.length;c[--o]==0;)c.pop();return e.d=c,e.e=i,gr?nr(e,f):e}function fl(t,e,n){if(t!==~~t||tn)throw Error(Th+t)}function al(t){var e,n,r,i=t.length-1,s="",a=t[0];if(i>0){for(s+=a,e=1;ea?1:-1;else for(o=c=0;oi[o]?1:-1;break}return c}function n(r,i,s){for(var a=0;s--;)r[s]-=a,a=r[s]1;)r.shift()}return function(r,i,s,a){var o,c,u,d,f,g,m,x,y,v,b,E,S,A,T,k,N,I,C=r.constructor,D=r.s==i.s?1:-1,F=r.d,j=i.d;if(!r.s)return new C(r);if(!i.s)throw Error(ho+"Division by zero");for(c=r.e-i.e,N=j.length,T=F.length,m=new C(D),x=m.d=[],u=0;j[u]==(F[u]||0);)++u;if(j[u]>(F[u]||0)&&--c,s==null?E=s=C.precision:a?E=s+(ni(r)-ni(i))+1:E=s,E<0)return new C(0);if(E=E/ur+2|0,u=0,N==1)for(d=0,j=j[0],E++;(u1&&(j=t(j,d),F=t(F,d),N=j.length,T=F.length),A=N,y=F.slice(0,N),v=y.length;v=Di/2&&++k;do d=0,o=e(j,y,N,v),o<0?(b=y[0],N!=v&&(b=b*Di+(y[1]||0)),d=b/k|0,d>1?(d>=Di&&(d=Di-1),f=t(j,d),g=f.length,v=y.length,o=e(f,y,g,v),o==1&&(d--,n(f,N16)throw Error($D+ni(t));if(!t.s)return new d(xa);for(gr=!1,o=f,a=new d(.03125);t.abs().gte(.1);)t=t.times(a),u+=5;for(r=Math.log(ih(2,u))/Math.LN10*2+5|0,o+=r,n=i=s=new d(xa),d.precision=o;;){if(i=nr(i.times(t),o),n=n.times(++c),a=s.plus(yc(i,n,o)),al(a.d).slice(0,o)===al(s.d).slice(0,o)){for(;u--;)s=nr(s.times(s),o);return d.precision=f,e==null?(gr=!0,nr(s,f)):s}s=a}}function ni(t){for(var e=t.e*ur,n=t.d[0];n>=10;n/=10)e++;return e}function XT(t,e,n){if(e>t.LN10.sd())throw gr=!0,n&&(t.precision=n),Error(ho+"LN10 precision limit exceeded");return nr(new t(t.LN10),e)}function Tu(t){for(var e="";t--;)e+="0";return e}function F0(t,e){var n,r,i,s,a,o,c,u,d,f=1,g=10,m=t,x=m.d,y=m.constructor,v=y.precision;if(m.s<1)throw Error(ho+(m.s?"NaN":"-Infinity"));if(m.eq(xa))return new y(0);if(e==null?(gr=!1,u=v):u=e,m.eq(10))return e==null&&(gr=!0),XT(y,u);if(u+=g,y.precision=u,n=al(x),r=n.charAt(0),s=ni(m),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)m=m.times(t),n=al(m.d),r=n.charAt(0),f++;s=ni(m),r>1?(m=new y("0."+n),s++):m=new y(r+"."+n.slice(1))}else return c=XT(y,u+2,v).times(s+""),m=F0(new y(r+"."+n.slice(1)),u-g).plus(c),y.precision=v,e==null?(gr=!0,nr(m,v)):m;for(o=a=m=yc(m.minus(xa),m.plus(xa),u),d=nr(m.times(m),u),i=3;;){if(a=nr(a.times(d),u),c=o.plus(yc(a,new y(i),u)),al(c.d).slice(0,u)===al(o.d).slice(0,u))return o=o.times(2),s!==0&&(o=o.plus(XT(y,u+2,v).times(s+""))),o=yc(o,new y(f),u),y.precision=v,e==null?(gr=!0,nr(o,v)):o;o=c,i+=2}}function GB(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;)++r;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(r,i),e){if(i-=r,n=n-r-1,t.e=tg(n/ur),t.d=[],r=(n+1)%ur,n<0&&(r+=ur),rcw||t.e<-cw))throw Error($D+n)}else t.s=0,t.e=0,t.d=[0];return t}function nr(t,e,n){var r,i,s,a,o,c,u,d,f=t.d;for(a=1,s=f[0];s>=10;s/=10)a++;if(r=e-a,r<0)r+=ur,i=e,u=f[d=0];else{if(d=Math.ceil((r+1)/ur),s=f.length,d>=s)return t;for(u=s=f[d],a=1;s>=10;s/=10)a++;r%=ur,i=r-ur+a}if(n!==void 0&&(s=ih(10,a-i-1),o=u/s%10|0,c=e<0||f[d+1]!==void 0||u%s,c=n<4?(o||c)&&(n==0||n==(t.s<0?3:2)):o>5||o==5&&(n==4||c||n==6&&(r>0?i>0?u/ih(10,a-i):0:f[d-1])%10&1||n==(t.s<0?8:7))),e<1||!f[0])return c?(s=ni(t),f.length=1,e=e-s-1,f[0]=ih(10,(ur-e%ur)%ur),t.e=tg(-e/ur)||0):(f.length=1,f[0]=t.e=t.s=0),t;if(r==0?(f.length=d,s=1,d--):(f.length=d+1,s=ih(10,ur-r),f[d]=i>0?(u/ih(10,a-i)%ih(10,i)|0)*s:0),c)for(;;)if(d==0){(f[0]+=s)==Di&&(f[0]=1,++t.e);break}else{if(f[d]+=s,f[d]!=Di)break;f[d--]=0,s=1}for(r=f.length;f[--r]===0;)f.pop();if(gr&&(t.e>cw||t.e<-cw))throw Error($D+ni(t));return t}function rK(t,e){var n,r,i,s,a,o,c,u,d,f,g=t.constructor,m=g.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new g(t),gr?nr(e,m):e;if(c=t.d,f=e.d,r=e.e,u=t.e,c=c.slice(),a=u-r,a){for(d=a<0,d?(n=c,a=-a,o=f.length):(n=f,r=u,o=c.length),i=Math.max(Math.ceil(m/ur),o)+2,a>i&&(a=i,n.length=1),n.reverse(),i=a;i--;)n.push(0);n.reverse()}else{for(i=c.length,o=f.length,d=i0;--i)c[o++]=0;for(i=f.length;i>a;){if(c[--i]0?s=s.charAt(0)+"."+s.slice(1)+Tu(r):a>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i<0?"e":"e+")+i):i<0?(s="0."+Tu(-i-1)+s,n&&(r=n-a)>0&&(s+=Tu(r))):i>=a?(s+=Tu(i+1-a),n&&(r=n-i-1)>0&&(s=s+"."+Tu(r))):((r=i+1)0&&(i+1===a&&(s+="."),s+=Tu(r))),t.s<0?"-"+s:s}function WB(t,e){if(t.length>e)return t.length=e,!0}function iK(t){var e,n,r;function i(s){var a=this;if(!(a instanceof i))return new i(s);if(a.constructor=i,s instanceof i){a.s=s.s,a.e=s.e,a.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(Th+s);if(s>0)a.s=1;else if(s<0)s=-s,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(s===~~s&&s<1e7){a.e=0,a.d=[s];return}return GB(a,s.toString())}else if(typeof s!="string")throw Error(Th+s);if(s.charCodeAt(0)===45?(s=s.slice(1),a.s=-1):a.s=1,Lbe.test(s))GB(a,s);else throw Error(Th+s)}if(i.prototype=Dt,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=iK,i.config=i.set=Ibe,t===void 0&&(t={}),t)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(Th+n+": "+r);if((r=t[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(Th+n+": "+r);return this}var VD=iK(jbe);xa=new VD(1);const zn=VD;var Ube=t=>t,sK={},aK=t=>t===sK,qB=t=>function e(){return arguments.length===0||arguments.length===1&&aK(arguments.length<=0?void 0:arguments[0])?e:t(...arguments)},oK=(t,e)=>t===1?e:qB(function(){for(var n=arguments.length,r=new Array(n),i=0;ia!==sK).length;return s>=t?e(...r):oK(t-s,qB(function(){for(var a=arguments.length,o=new Array(a),c=0;caK(d)?o.shift():d);return e(...u,...o)}))}),Fbe=t=>oK(t.length,t),bk=(t,e)=>{for(var n=[],r=t;rArray.isArray(e)?e.map(t):Object.keys(e).map(n=>e[n]).map(t)),Bbe=function(){for(var e=arguments.length,n=new Array(e),r=0;rc(o),s(...arguments))}},vk=t=>Array.isArray(t)?t.reverse():t.split("").reverse().join("");function lK(t){var e;return t===0?e=1:e=Math.floor(new zn(t).abs().log(10).toNumber())+1,e}function cK(t,e,n){for(var r=new zn(t),i=0,s=[];r.lt(e)&&i<1e5;)s.push(r.toNumber()),r=r.add(n),i++;return s}var uK=t=>{var[e,n]=t,[r,i]=[e,n];return e>n&&([r,i]=[n,e]),[r,i]},dK=(t,e,n)=>{if(t.lte(0))return new zn(0);var r=lK(t.toNumber()),i=new zn(10).pow(r),s=t.div(i),a=r!==1?.05:.1,o=new zn(Math.ceil(s.div(a).toNumber())).add(n).mul(a),c=o.mul(i);return e?new zn(c.toNumber()):new zn(Math.ceil(c.toNumber()))},Hbe=(t,e,n)=>{var r=new zn(1),i=new zn(t);if(!i.isint()&&n){var s=Math.abs(t);s<1?(r=new zn(10).pow(lK(t)-1),i=new zn(Math.floor(i.div(r).toNumber())).mul(r)):s>1&&(i=new zn(Math.floor(t)))}else t===0?i=new zn(Math.floor((e-1)/2)):n||(i=new zn(Math.floor(t)));var a=Math.floor((e-1)/2),o=Bbe(zbe(c=>i.add(new zn(c-a).mul(r)).toNumber()),bk);return o(0,e)},hK=function(e,n,r,i){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((n-e)/(r-1)))return{step:new zn(0),tickMin:new zn(0),tickMax:new zn(0)};var a=dK(new zn(n).sub(e).div(r-1),i,s),o;e<=0&&n>=0?o=new zn(0):(o=new zn(e).add(n).div(2),o=o.sub(new zn(o).mod(a)));var c=Math.ceil(o.sub(e).div(a).toNumber()),u=Math.ceil(new zn(n).sub(o).div(a).toNumber()),d=c+u+1;return d>r?hK(e,n,r,i,s+1):(d0?u+(r-d):u,c=n>0?c:c+(r-d)),{step:a,tickMin:o.sub(new zn(c).mul(a)),tickMax:o.add(new zn(u).mul(a))})},$be=function(e){var[n,r]=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(i,2),[o,c]=uK([n,r]);if(o===-1/0||c===1/0){var u=c===1/0?[o,...bk(0,i-1).map(()=>1/0)]:[...bk(0,i-1).map(()=>-1/0),c];return n>r?vk(u):u}if(o===c)return Hbe(o,i,s);var{step:d,tickMin:f,tickMax:g}=hK(o,c,a,s,0),m=cK(f,g.add(new zn(.1).mul(d)),d);return n>r?vk(m):m},Vbe=function(e,n){var[r,i]=e,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,[a,o]=uK([r,i]);if(a===-1/0||o===1/0)return[r,i];if(a===o)return[a];var c=Math.max(n,2),u=dK(new zn(o).sub(a).div(c-1),s,0),d=[...cK(new zn(a),new zn(o),u),o];return s===!1&&(d=d.map(f=>Math.round(f))),r>i?vk(d):d},fK=t=>t.rootProps.maxBarSize,Gbe=t=>t.rootProps.barGap,pK=t=>t.rootProps.barCategoryGap,Wbe=t=>t.rootProps.barSize,Rb=t=>t.rootProps.stackOffset,mK=t=>t.rootProps.reverseStackOrder,GD=t=>t.options.chartName,WD=t=>t.rootProps.syncId,gK=t=>t.rootProps.syncMethod,qD=t=>t.options.eventEmitter,qbe=t=>t.rootProps.baseValue,Rr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},cc={allowDuplicatedCategory:!0,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"category"},pa={allowDataOverflow:!1,allowDuplicatedCategory:!0,radiusAxisId:0,scale:"auto",tick:!0,tickCount:5,type:"number"},gE=(t,e)=>{if(!(!t||!e))return t!=null&&t.reversed?[e[1],e[0]]:e},Kbe={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:cc.angleAxisId,includeHidden:!1,name:void 0,reversed:cc.reversed,scale:cc.scale,tick:cc.tick,tickCount:void 0,ticks:void 0,type:cc.type,unit:void 0},Xbe={allowDataOverflow:pa.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:pa.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:pa.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:pa.scale,tick:pa.tick,tickCount:pa.tickCount,ticks:void 0,type:pa.type,unit:void 0},Ybe={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:cc.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:cc.angleAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:cc.scale,tick:cc.tick,tickCount:void 0,ticks:void 0,type:"number",unit:void 0},Zbe={allowDataOverflow:pa.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:pa.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:pa.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:pa.scale,tick:pa.tick,tickCount:pa.tickCount,ticks:void 0,type:"category",unit:void 0},KD=(t,e)=>t.polarAxis.angleAxis[e]!=null?t.polarAxis.angleAxis[e]:t.layout.layoutType==="radial"?Ybe:Kbe,XD=(t,e)=>t.polarAxis.radiusAxis[e]!=null?t.polarAxis.radiusAxis[e]:t.layout.layoutType==="radial"?Zbe:Xbe,xE=t=>t.polarOptions,YD=Ge([Ic,Uc,bi],pq),xK=Ge([xE,YD],(t,e)=>{if(t!=null)return ms(t.innerRadius,e,0)}),bK=Ge([xE,YD],(t,e)=>{if(t!=null)return ms(t.outerRadius,e,e*.8)}),Qbe=t=>{if(t==null)return[0,0];var{startAngle:e,endAngle:n}=t;return[e,n]},vK=Ge([xE],Qbe);Ge([KD,vK],gE);var yK=Ge([YD,xK,bK],(t,e,n)=>{if(!(t==null||e==null||n==null))return[e,n]});Ge([XD,yK],gE);var _K=Ge([xn,xE,xK,bK,Ic,Uc],(t,e,n,r,i,s)=>{if(!(t!=="centric"&&t!=="radial"||e==null||n==null||r==null)){var{cx:a,cy:o,startAngle:c,endAngle:u}=e;return{cx:ms(a,i,i/2),cy:ms(o,s,s/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:u,clockWise:!1}}}),xr=(t,e)=>e,Db=(t,e,n)=>n;function bE(t){return t?.id}function wK(t,e,n){var{chartData:r=[]}=e,{allowDuplicatedCategory:i,dataKey:s}=n,a=new Map;return t.forEach(o=>{var c,u=(c=o.data)!==null&&c!==void 0?c:r;if(!(u==null||u.length===0)){var d=bE(o);u.forEach((f,g)=>{var m=s==null||i?g:String(Bn(f,s,null)),x=Bn(f,o.dataKey,0),y;a.has(m)?y=a.get(m):y={},Object.assign(y,{[d]:x}),a.set(m,y)})}}),Array.from(a.values())}function vE(t){return t.stackId!=null&&t.dataKey!=null}var yE=(t,e)=>t===e?!0:t==null||e==null?!1:t[0]===e[0]&&t[1]===e[1];function _E(t,e){return Array.isArray(t)&&Array.isArray(e)&&t.length===0&&e.length===0?!0:t===e}function Jbe(t,e){if(t.length===e.length){for(var n=0;n{var e=xn(t);return e==="horizontal"?"xAxis":e==="vertical"?"yAxis":e==="centric"?"angleAxis":"radiusAxis"},ng=t=>t.tooltip.settings.axisId;function KB(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function uw(t){for(var e=1;et.cartesianAxis.xAxis[e],Sl=(t,e)=>{var n=SK(t,e);return n??Pi},Ri={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:yk,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,width:Eb},EK=(t,e)=>t.cartesianAxis.yAxis[e],El=(t,e)=>{var n=EK(t,e);return n??Ri},rve={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},ZD=(t,e)=>{var n=t.cartesianAxis.zAxis[e];return n??rve},Er=(t,e,n)=>{switch(e){case"xAxis":return Sl(t,n);case"yAxis":return El(t,n);case"zAxis":return ZD(t,n);case"angleAxis":return KD(t,n);case"radiusAxis":return XD(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},ive=(t,e,n)=>{switch(e){case"xAxis":return Sl(t,n);case"yAxis":return El(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},Ob=(t,e,n)=>{switch(e){case"xAxis":return Sl(t,n);case"yAxis":return El(t,n);case"angleAxis":return KD(t,n);case"radiusAxis":return XD(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},MK=t=>t.graphicalItems.cartesianItems.some(e=>e.type==="bar")||t.graphicalItems.polarItems.some(e=>e.type==="radialBar");function QD(t,e){return n=>{switch(t){case"xAxis":return"xAxisId"in n&&n.xAxisId===e;case"yAxis":return"yAxisId"in n&&n.yAxisId===e;case"zAxis":return"zAxisId"in n&&n.zAxisId===e;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===e;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===e;default:return!1}}}var jb=t=>t.graphicalItems.cartesianItems,sve=Ge([xr,Db],QD),JD=(t,e,n)=>t.filter(n).filter(r=>e?.includeHidden===!0?!0:!r.hide),Lb=Ge([jb,Er,sve],JD,{memoizeOptions:{resultEqualityCheck:_E}}),AK=Ge([Lb],t=>t.filter(e=>e.type==="area"||e.type==="bar").filter(vE)),TK=t=>t.filter(e=>!("stackId"in e)||e.stackId===void 0),ave=Ge([Lb],TK),eO=t=>t.map(e=>e.data).filter(Boolean).flat(1),ove=Ge([Lb],eO,{memoizeOptions:{resultEqualityCheck:_E}}),tO=(t,e)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=e;return t.length>0?t:n.slice(r,i+1)},nO=Ge([ove,Pb],tO),rO=(t,e,n)=>e?.dataKey!=null?t.map(r=>({value:Bn(r,e.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>t.map(i=>({value:Bn(i,r)}))):t.map(r=>({value:r})),wE=Ge([nO,Er,Lb],rO);function CK(t,e){switch(t){case"xAxis":return e.direction==="x";case"yAxis":return e.direction==="y";default:return!1}}function r1(t){if(co(t)||t instanceof Date){var e=Number(t);if(Hn(e))return e}}function XB(t){if(Array.isArray(t)){var e=[r1(t[0]),r1(t[1])];return od(e)?e:void 0}var n=r1(t);if(n!=null)return[n,n]}function Dc(t){return t.map(r1).filter(ihe)}function lve(t,e,n){return!n||typeof e!="number"||Qs(e)?[]:n.length?Dc(n.flatMap(r=>{var i=Bn(t,r.dataKey),s,a;if(Array.isArray(i)?[s,a]=i:s=a=i,!(!Hn(s)||!Hn(a)))return[e-s,e+a]})):[]}var wi=t=>{var e=_i(t),n=ng(t);return Ob(t,e,n)},Ib=Ge([wi],t=>t?.dataKey),cve=Ge([AK,Pb,wi],wK),NK=(t,e,n,r)=>{var i={},s=e.reduce((a,o)=>(o.stackId==null||(a[o.stackId]==null&&(a[o.stackId]=[]),a[o.stackId].push(o)),a),i);return Object.fromEntries(Object.entries(s).map(a=>{var[o,c]=a,u=r?[...c].reverse():c,d=u.map(bE);return[o,{stackedData:Cpe(t,d,n),graphicalItems:u}]}))},z0=Ge([cve,AK,Rb,mK],NK),kK=(t,e,n,r)=>{var{dataStartIndex:i,dataEndIndex:s}=e;if(r==null&&n!=="zAxis"){var a=Rpe(t,i,s);if(!(a!=null&&a[0]===0&&a[1]===0))return a}},uve=Ge([Er],t=>t.allowDataOverflow),iO=t=>{var e;if(t==null||!("domain"in t))return yk;if(t.domain!=null)return t.domain;if(t.ticks!=null){if(t.type==="number"){var n=Dc(t.ticks);return[Math.min(...n),Math.max(...n)]}if(t.type==="category")return t.ticks.map(String)}return(e=t?.domain)!==null&&e!==void 0?e:yk},sO=Ge([Er],iO),aO=Ge([sO,uve],Jq),dve=Ge([z0,wd,xr,aO],kK,{memoizeOptions:{resultEqualityCheck:yE}}),SE=t=>t.errorBars,hve=(t,e,n)=>t.flatMap(r=>e[r.id]).filter(Boolean).filter(r=>CK(n,r)),dw=function(){for(var e=arguments.length,n=new Array(e),r=0;r{var s,a;if(n.length>0&&t.forEach(o=>{n.forEach(c=>{var u,d,f=(u=r[c.id])===null||u===void 0?void 0:u.filter(b=>CK(i,b)),g=Bn(o,(d=e.dataKey)!==null&&d!==void 0?d:c.dataKey),m=lve(o,g,f);if(m.length>=2){var x=Math.min(...m),y=Math.max(...m);(s==null||xa)&&(a=y)}var v=XB(g);v!=null&&(s=s==null?v[0]:Math.min(s,v[0]),a=a==null?v[1]:Math.max(a,v[1]))})}),e?.dataKey!=null&&t.forEach(o=>{var c=XB(Bn(o,e.dataKey));c!=null&&(s=s==null?c[0]:Math.min(s,c[0]),a=a==null?c[1]:Math.max(a,c[1]))}),Hn(s)&&Hn(a))return[s,a]},fve=Ge([nO,Er,ave,SE,xr],oO,{memoizeOptions:{resultEqualityCheck:yE}});function pve(t){var{value:e}=t;if(co(e)||e instanceof Date)return e}var mve=(t,e,n)=>{var r=t.map(pve).filter(i=>i!=null);return n&&(e.dataKey==null||e.allowDuplicatedCategory&&G7(r))?bq(0,t.length):e.allowDuplicatedCategory?r:Array.from(new Set(r))},PK=t=>t.referenceElements.dots,rg=(t,e,n)=>t.filter(r=>r.ifOverflow==="extendDomain").filter(r=>e==="xAxis"?r.xAxisId===n:r.yAxisId===n),gve=Ge([PK,xr,Db],rg),RK=t=>t.referenceElements.areas,xve=Ge([RK,xr,Db],rg),DK=t=>t.referenceElements.lines,bve=Ge([DK,xr,Db],rg),OK=(t,e)=>{var n=Dc(t.map(r=>e==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},vve=Ge(gve,xr,OK),jK=(t,e)=>{var n=Dc(t.flatMap(r=>[e==="xAxis"?r.x1:r.y1,e==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},yve=Ge([xve,xr],jK);function _ve(t){var e;if(t.x!=null)return Dc([t.x]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.x);return n==null||n.length===0?[]:Dc(n)}function wve(t){var e;if(t.y!=null)return Dc([t.y]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.y);return n==null||n.length===0?[]:Dc(n)}var LK=(t,e)=>{var n=t.flatMap(r=>e==="xAxis"?_ve(r):wve(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},Sve=Ge([bve,xr],LK),Eve=Ge(vve,Sve,yve,(t,e,n)=>dw(t,n,e)),lO=(t,e,n,r,i,s,a,o)=>{if(n!=null)return n;var c=a==="vertical"&&o==="xAxis"||a==="horizontal"&&o==="yAxis",u=c?dw(r,s,i):dw(s,i);return Obe(e,u,t.allowDataOverflow)},Mve=Ge([Er,sO,aO,dve,fve,Eve,xn,xr],lO,{memoizeOptions:{resultEqualityCheck:yE}}),Ave=[0,1],cO=(t,e,n,r,i,s,a)=>{if(!((t==null||n==null||n.length===0)&&a===void 0)){var{dataKey:o,type:c}=t,u=wl(e,s);if(u&&o==null){var d;return bq(0,(d=n?.length)!==null&&d!==void 0?d:0)}return c==="category"?mve(r,t,u):i==="expand"?Ave:a}},uO=Ge([Er,xn,nO,wE,Rb,xr,Mve],cO),IK=(t,e,n,r,i)=>{if(t!=null){var{scale:s,type:a}=t;if(s==="auto")return e==="radial"&&i==="radiusAxis"?"band":e==="radial"&&i==="angleAxis"?"linear":a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?"point":a==="category"?"band":"linear";if(typeof s=="string"){var o="scale".concat(bb(s));return o in Ox?o:"point"}}},ig=Ge([Er,xn,MK,GD,xr],IK);function Tve(t){if(t!=null){if(t in Ox)return Ox[t]();var e="scale".concat(bb(t));if(e in Ox)return Ox[e]()}}function dO(t,e,n,r){if(!(n==null||r==null)){if(typeof t.scale=="function")return t.scale.copy().domain(n).range(r);var i=Tve(e);if(i!=null){var s=i.domain(n).range(r);return Spe(s),s}}}var hO=(t,e,n)=>{var r=iO(e);if(!(n!=="auto"&&n!=="linear")){if(e!=null&&e.tickCount&&Array.isArray(r)&&(r[0]==="auto"||r[1]==="auto")&&od(t))return $be(t,e.tickCount,e.allowDecimals);if(e!=null&&e.tickCount&&e.type==="number"&&od(t))return Vbe(t,e.tickCount,e.allowDecimals)}},fO=Ge([uO,Ob,ig],hO),pO=(t,e,n,r)=>{if(r!=="angleAxis"&&t?.type==="number"&&od(e)&&Array.isArray(n)&&n.length>0){var i=e[0],s=n[0],a=e[1],o=n[n.length-1];return[Math.min(i,s),Math.max(a,o)]}return e},Cve=Ge([Er,uO,fO,xr],pO),Nve=Ge(wE,Er,(t,e)=>{if(!(!e||e.type!=="number")){var n=1/0,r=Array.from(Dc(t.map(o=>o.value))).sort((o,c)=>o-c);if(r.length<2)return 1/0;var i=r[r.length-1]-r[0];if(i===0)return 1/0;for(var s=0;sr,(t,e,n,r,i)=>{if(!Hn(t))return 0;var s=e==="vertical"?r.height:r.width;if(i==="gap")return t*s/2;if(i==="no-gap"){var a=ms(n,t*s),o=t*s/2;return o-a-(o-a)/s*a}return 0}),kve=(t,e)=>{var n=Sl(t,e);return n==null||typeof n.padding!="string"?0:UK(t,"xAxis",e,n.padding)},Pve=(t,e)=>{var n=El(t,e);return n==null||typeof n.padding!="string"?0:UK(t,"yAxis",e,n.padding)},Rve=Ge(Sl,kve,(t,e)=>{var n,r;if(t==null)return{left:0,right:0};var{padding:i}=t;return typeof i=="string"?{left:e,right:e}:{left:((n=i.left)!==null&&n!==void 0?n:0)+e,right:((r=i.right)!==null&&r!==void 0?r:0)+e}}),Dve=Ge(El,Pve,(t,e)=>{var n,r;if(t==null)return{top:0,bottom:0};var{padding:i}=t;return typeof i=="string"?{top:e,bottom:e}:{top:((n=i.top)!==null&&n!==void 0?n:0)+e,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+e}}),Ove=Ge([bi,Rve,sE,iE,(t,e,n)=>n],(t,e,n,r,i)=>{var{padding:s}=r;return i?[s.left,n.width-s.right]:[t.left+e.left,t.left+t.width-e.right]}),jve=Ge([bi,xn,Dve,sE,iE,(t,e,n)=>n],(t,e,n,r,i,s)=>{var{padding:a}=i;return s?[r.height-a.bottom,a.top]:e==="horizontal"?[t.top+t.height-n.bottom,t.top+n.top]:[t.top+n.top,t.top+t.height-n.bottom]}),Ub=(t,e,n,r)=>{var i;switch(e){case"xAxis":return Ove(t,n,r);case"yAxis":return jve(t,n,r);case"zAxis":return(i=ZD(t,n))===null||i===void 0?void 0:i.range;case"angleAxis":return vK(t);case"radiusAxis":return yK(t,n);default:return}},FK=Ge([Er,Ub],gE),ld=Ge([Er,ig,Cve,FK],dO);Ge([Lb,SE,xr],hve);function zK(t,e){return t.ide.id?1:0}var EE=(t,e)=>e,ME=(t,e,n)=>n,Lve=Ge(nE,EE,ME,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(zK)),Ive=Ge(rE,EE,ME,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(zK)),BK=(t,e)=>({width:t.width,height:e.height}),Uve=(t,e)=>{var n=typeof e.width=="number"?e.width:Eb;return{width:n,height:t.height}},HK=Ge(bi,Sl,BK),Fve=(t,e,n)=>{switch(e){case"top":return t.top;case"bottom":return n-t.bottom;default:return 0}},zve=(t,e,n)=>{switch(e){case"left":return t.left;case"right":return n-t.right;default:return 0}},Bve=Ge(Uc,bi,Lve,EE,ME,(t,e,n,r,i)=>{var s={},a;return n.forEach(o=>{var c=BK(e,o);a==null&&(a=Fve(e,r,t));var u=r==="top"&&!i||r==="bottom"&&i;s[o.id]=a-Number(u)*c.height,a+=(u?-1:1)*c.height}),s}),Hve=Ge(Ic,bi,Ive,EE,ME,(t,e,n,r,i)=>{var s={},a;return n.forEach(o=>{var c=Uve(e,o);a==null&&(a=zve(e,r,t));var u=r==="left"&&!i||r==="right"&&i;s[o.id]=a-Number(u)*c.width,a+=(u?-1:1)*c.width}),s}),$ve=(t,e)=>{var n=Sl(t,e);if(n!=null)return Bve(t,n.orientation,n.mirror)},Vve=Ge([bi,Sl,$ve,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:t.left,y:0}:{x:t.left,y:i}}}),Gve=(t,e)=>{var n=El(t,e);if(n!=null)return Hve(t,n.orientation,n.mirror)},Wve=Ge([bi,El,Gve,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:0,y:t.top}:{x:i,y:t.top}}}),$K=Ge(bi,El,(t,e)=>{var n=typeof e.width=="number"?e.width:Eb;return{width:n,height:t.height}}),YB=(t,e,n)=>{switch(e){case"xAxis":return HK(t,n).width;case"yAxis":return $K(t,n).height;default:return}},VK=(t,e,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:s,dataKey:a}=n,o=wl(t,r),c=e.map(u=>u.value);if(a&&o&&s==="category"&&i&&G7(c))return c}},mO=Ge([xn,wE,Er,xr],VK),GK=(t,e,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:s}=n,a=wl(t,r);if(a&&(i==="number"||s!=="auto"))return e.map(o=>o.value)}},gO=Ge([xn,wE,Ob,xr],GK),ZB=Ge([xn,ive,ig,ld,mO,gO,Ub,fO,xr],(t,e,n,r,i,s,a,o,c)=>{if(e!=null){var u=wl(t,c);return{angle:e.angle,interval:e.interval,minTickGap:e.minTickGap,orientation:e.orientation,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,axisType:c,categoricalDomain:s,duplicateDomain:i,isCategorical:u,niceTicks:o,range:a,realScaleType:n,scale:r}}}),qve=(t,e,n,r,i,s,a,o,c)=>{if(!(e==null||r==null)){var u=wl(t,c),{type:d,ticks:f,tickCount:g}=e,m=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,x=d==="category"&&r.bandwidth?r.bandwidth()/m:0;x=c==="angleAxis"&&s!=null&&s.length>=2?Li(s[0]-s[1])*2*x:x;var y=f||i;if(y){var v=y.map((b,E)=>{var S=a?a.indexOf(b):b;return{index:E,coordinate:r(S)+x,value:b,offset:x}});return v.filter(b=>Hn(b.coordinate))}return u&&o?o.map((b,E)=>({coordinate:r(b)+x,value:b,index:E,offset:x})).filter(b=>Hn(b.coordinate)):r.ticks?r.ticks(g).map(b=>({coordinate:r(b)+x,value:b,offset:x})):r.domain().map((b,E)=>({coordinate:r(b)+x,value:a?a[b]:b,index:E,offset:x}))}},WK=Ge([xn,Ob,ig,ld,fO,Ub,mO,gO,xr],qve),Kve=(t,e,n,r,i,s,a)=>{if(!(e==null||n==null||r==null||r[0]===r[1])){var o=wl(t,a),{tickCount:c}=e,u=0;return u=a==="angleAxis"&&r?.length>=2?Li(r[0]-r[1])*2*u:u,o&&s?s.map((d,f)=>({coordinate:n(d)+u,value:d,index:f,offset:u})):n.ticks?n.ticks(c).map(d=>({coordinate:n(d)+u,value:d,offset:u})):n.domain().map((d,f)=>({coordinate:n(d)+u,value:i?i[d]:d,index:f,offset:u}))}},pl=Ge([xn,Ob,ld,Ub,mO,gO,xr],Kve),ml=Ge(Er,ld,(t,e)=>{if(!(t==null||e==null))return uw(uw({},t),{},{scale:e})}),Xve=Ge([Er,ig,uO,FK],dO);Ge((t,e,n)=>ZD(t,n),Xve,(t,e)=>{if(!(t==null||e==null))return uw(uw({},t),{},{scale:e})});var Yve=Ge([xn,nE,rE],(t,e,n)=>{switch(t){case"horizontal":return e.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),qK=t=>t.options.defaultTooltipEventType,KK=t=>t.options.validateTooltipEventTypes;function XK(t,e,n){if(t==null)return e;var r=t?"axis":"item";return n==null?e:n.includes(r)?r:e}function xO(t,e){var n=qK(t),r=KK(t);return XK(e,n,r)}function Zve(t){return Ct(e=>xO(e,t))}var YK=(t,e)=>{var n,r=Number(e);if(!(Qs(r)||e==null))return r>=0?t==null||(n=t[r])===null||n===void 0?void 0:n.value:void 0},Qve=t=>t.tooltip.settings,ju={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},Jve={itemInteraction:{click:ju,hover:ju},axisInteraction:{click:ju,hover:ju},keyboardInteraction:ju,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},ZK=Js({name:"tooltip",initialState:Jve,reducers:{addTooltipEntrySettings:{reducer(t,e){t.tooltipItemPayloads.push(e.payload)},prepare:fr()},replaceTooltipEntrySettings:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Lo(t).tooltipItemPayloads.indexOf(n);i>-1&&(t.tooltipItemPayloads[i]=r)},prepare:fr()},removeTooltipEntrySettings:{reducer(t,e){var n=Lo(t).tooltipItemPayloads.indexOf(e.payload);n>-1&&t.tooltipItemPayloads.splice(n,1)},prepare:fr()},setTooltipSettingsState(t,e){t.settings=e.payload},setActiveMouseOverItemIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.itemInteraction.hover.active=!0,t.itemInteraction.hover.index=e.payload.activeIndex,t.itemInteraction.hover.dataKey=e.payload.activeDataKey,t.itemInteraction.hover.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.hover.coordinate=e.payload.activeCoordinate},mouseLeaveChart(t){t.itemInteraction.hover.active=!1,t.axisInteraction.hover.active=!1},mouseLeaveItem(t){t.itemInteraction.hover.active=!1},setActiveClickItemIndex(t,e){t.syncInteraction.active=!1,t.itemInteraction.click.active=!0,t.keyboardInteraction.active=!1,t.itemInteraction.click.index=e.payload.activeIndex,t.itemInteraction.click.dataKey=e.payload.activeDataKey,t.itemInteraction.click.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.click.coordinate=e.payload.activeCoordinate},setMouseOverAxisIndex(t,e){t.syncInteraction.active=!1,t.axisInteraction.hover.active=!0,t.keyboardInteraction.active=!1,t.axisInteraction.hover.index=e.payload.activeIndex,t.axisInteraction.hover.dataKey=e.payload.activeDataKey,t.axisInteraction.hover.coordinate=e.payload.activeCoordinate},setMouseClickAxisIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.axisInteraction.click.active=!0,t.axisInteraction.click.index=e.payload.activeIndex,t.axisInteraction.click.dataKey=e.payload.activeDataKey,t.axisInteraction.click.coordinate=e.payload.activeCoordinate},setSyncInteraction(t,e){t.syncInteraction=e.payload},setKeyboardInteraction(t,e){t.keyboardInteraction.active=e.payload.active,t.keyboardInteraction.index=e.payload.activeIndex,t.keyboardInteraction.coordinate=e.payload.activeCoordinate,t.keyboardInteraction.dataKey=e.payload.activeDataKey}}}),{addTooltipEntrySettings:eye,replaceTooltipEntrySettings:tye,removeTooltipEntrySettings:nye,setTooltipSettingsState:rye,setActiveMouseOverItemIndex:QK,mouseLeaveItem:iye,mouseLeaveChart:JK,setActiveClickItemIndex:sye,setMouseOverAxisIndex:eX,setMouseClickAxisIndex:aye,setSyncInteraction:_k,setKeyboardInteraction:wk}=ZK.actions,oye=ZK.reducer;function QB(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ky(t){for(var e=1;e{if(e==null)return ju;var i=dye(t,e,n);if(i==null)return ju;if(i.active)return i;if(t.keyboardInteraction.active)return t.keyboardInteraction;if(t.syncInteraction.active&&t.syncInteraction.index!=null)return t.syncInteraction;var s=t.settings.active===!0;if(hye(i)){if(s)return ky(ky({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return ky(ky({},ju),{},{coordinate:i.coordinate})};function fye(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(t instanceof Date){var e=t.valueOf();return Number.isFinite(e)?e:void 0}var n=Number(t);return Number.isFinite(n)?n:void 0}function pye(t,e){var n=fye(t),r=e[0],i=e[1];if(n===void 0)return!1;var s=Math.min(r,i),a=Math.max(r,i);return n>=s&&n<=a}function mye(t,e,n){if(n==null||e==null)return!0;var r=Bn(t,e);return r==null||!od(n)?!0:pye(r,n)}var bO=(t,e,n,r)=>{var i=t?.index;if(i==null)return null;var s=Number(i);if(!Hn(s))return i;var a=0,o=1/0;e.length>0&&(o=e.length-1);var c=Math.max(a,Math.min(s,o)),u=e[c];return u==null||mye(u,n,r)?String(c):null},nX=(t,e,n,r,i,s,a,o)=>{if(!(s==null||o==null)){var c=a[0],u=c==null?void 0:o(c.positions,s);if(u!=null)return u;var d=i?.[Number(s)];if(d)switch(n){case"horizontal":return{x:d.coordinate,y:(r.top+e)/2};default:return{x:(r.left+t)/2,y:d.coordinate}}}},rX=(t,e,n,r)=>{if(e==="axis")return t.tooltipItemPayloads;if(t.tooltipItemPayloads.length===0)return[];var i;return n==="hover"?i=t.itemInteraction.hover.dataKey:i=t.itemInteraction.click.dataKey,i==null&&r!=null?[t.tooltipItemPayloads[0]]:t.tooltipItemPayloads.filter(s=>{var a;return((a=s.settings)===null||a===void 0?void 0:a.dataKey)===i})},Fb=t=>t.options.tooltipPayloadSearcher,sg=t=>t.tooltip;function JB(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function e6(t){for(var e=1;e{if(!(e==null||s==null)){var{chartData:o,computedData:c,dataStartIndex:u,dataEndIndex:d}=n,f=[];return t.reduce((g,m)=>{var x,{dataDefinedOnItem:y,settings:v}=m,b=vye(y,o),E=Array.isArray(b)?zW(b,u,d):b,S=(x=v?.dataKey)!==null&&x!==void 0?x:r,A=v?.nameKey,T;if(r&&Array.isArray(E)&&!Array.isArray(E[0])&&a==="axis"?T=W7(E,r,i):T=s(E,e,c,A),Array.isArray(T))T.forEach(N=>{var I=e6(e6({},v),{},{name:N.name,unit:N.unit,color:void 0,fill:void 0});g.push(yz({tooltipEntrySettings:I,dataKey:N.dataKey,payload:N.payload,value:Bn(N.payload,N.dataKey),name:N.name}))});else{var k;g.push(yz({tooltipEntrySettings:v,dataKey:S,payload:T,value:Bn(T,S),name:(k=Bn(T,A))!==null&&k!==void 0?k:v?.name}))}return g},f)}},vO=Ge([wi,xn,MK,GD,_i],IK),yye=Ge([t=>t.graphicalItems.cartesianItems,t=>t.graphicalItems.polarItems],(t,e)=>[...t,...e]),_ye=Ge([_i,ng],QD),zb=Ge([yye,wi,_ye],JD,{memoizeOptions:{resultEqualityCheck:_E}}),wye=Ge([zb],t=>t.filter(vE)),Sye=Ge([zb],eO,{memoizeOptions:{resultEqualityCheck:_E}}),ag=Ge([Sye,wd],tO),Eye=Ge([wye,wd,wi],wK),yO=Ge([ag,wi,zb],rO),sX=Ge([wi],iO),Mye=Ge([wi],t=>t.allowDataOverflow),aX=Ge([sX,Mye],Jq),Aye=Ge([zb],t=>t.filter(vE)),Tye=Ge([Eye,Aye,Rb,mK],NK),Cye=Ge([Tye,wd,_i,aX],kK),Nye=Ge([zb],TK),kye=Ge([ag,wi,Nye,SE,_i],oO,{memoizeOptions:{resultEqualityCheck:yE}}),Pye=Ge([PK,_i,ng],rg),Rye=Ge([Pye,_i],OK),Dye=Ge([RK,_i,ng],rg),Oye=Ge([Dye,_i],jK),jye=Ge([DK,_i,ng],rg),Lye=Ge([jye,_i],LK),Iye=Ge([Rye,Lye,Oye],dw),Uye=Ge([wi,sX,aX,Cye,kye,Iye,xn,_i],lO),Bb=Ge([wi,xn,ag,yO,Rb,_i,Uye],cO),Fye=Ge([Bb,wi,vO],hO),zye=Ge([wi,Bb,Fye,_i],pO),oX=t=>{var e=_i(t),n=ng(t),r=!1;return Ub(t,e,n,r)},lX=Ge([wi,oX],gE),cX=Ge([wi,vO,zye,lX],dO),Bye=Ge([xn,yO,wi,_i],VK),Hye=Ge([xn,yO,wi,_i],GK),$ye=(t,e,n,r,i,s,a,o)=>{if(e){var{type:c}=e,u=wl(t,o);if(r){var d=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,f=c==="category"&&r.bandwidth?r.bandwidth()/d:0;return f=o==="angleAxis"&&i!=null&&i?.length>=2?Li(i[0]-i[1])*2*f:f,u&&a?a.map((g,m)=>({coordinate:r(g)+f,value:g,index:m,offset:f})):r.domain().map((g,m)=>({coordinate:r(g)+f,value:s?s[g]:g,index:m,offset:f}))}}},zc=Ge([xn,wi,vO,cX,oX,Bye,Hye,_i],$ye),_O=Ge([qK,KK,Qve],(t,e,n)=>XK(n.shared,t,e)),uX=t=>t.tooltip.settings.trigger,wO=t=>t.tooltip.settings.defaultIndex,Hb=Ge([sg,_O,uX,wO],tX),cd=Ge([Hb,ag,Ib,Bb],bO),dX=Ge([zc,cd],YK),SO=Ge([Hb],t=>{if(t)return t.dataKey}),Vye=Ge([Hb],t=>{if(t)return t.graphicalItemId}),hX=Ge([sg,_O,uX,wO],rX),Gye=Ge([Ic,Uc,xn,bi,zc,wO,hX,Fb],nX),Wye=Ge([Hb,Gye],(t,e)=>t!=null&&t.coordinate?t.coordinate:e),qye=Ge([Hb],t=>t.active),Kye=Ge([hX,cd,wd,Ib,dX,Fb,_O],iX),Xye=Ge([Kye],t=>{if(t!=null){var e=t.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(e))}});function t6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function n6(t){for(var e=1;eCt(wi),e_e=()=>{var t=Jye(),e=Ct(zc),n=Ct(cX);return ad(!t||!n?void 0:n6(n6({},t),{},{scale:n}),e)};function r6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Jf(t){for(var e=1;e{var i=e.find(s=>s&&s.index===n);if(i){if(t==="horizontal")return{x:i.coordinate,y:r.chartY};if(t==="vertical")return{x:r.chartX,y:i.coordinate}}return{x:0,y:0}},s_e=(t,e,n,r)=>{var i=e.find(u=>u&&u.index===n);if(i){if(t==="centric"){var s=i.coordinate,{radius:a}=r;return Jf(Jf(Jf({},r),Jr(r.cx,r.cy,a,s)),{},{angle:s,radius:a})}var o=i.coordinate,{angle:c}=r;return Jf(Jf(Jf({},r),Jr(r.cx,r.cy,o,c)),{},{angle:c,radius:o})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function a_e(t,e){var{chartX:n,chartY:r}=t;return n>=e.left&&n<=e.left+e.width&&r>=e.top&&r<=e.top+e.height}var fX=(t,e,n,r,i)=>{var s,a=-1,o=(s=e?.length)!==null&&s!==void 0?s:0;if(o<=1||t==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var c=0;c0?n[c-1].coordinate:n[o-1].coordinate,d=n[c].coordinate,f=c>=o-1?n[0].coordinate:n[c+1].coordinate,g=void 0;if(Li(d-u)!==Li(f-d)){var m=[];if(Li(f-d)===Li(i[1]-i[0])){g=f;var x=d+i[1]-i[0];m[0]=Math.min(x,(x+u)/2),m[1]=Math.max(x,(x+u)/2)}else{g=u;var y=f+i[1]-i[0];m[0]=Math.min(d,(y+d)/2),m[1]=Math.max(d,(y+d)/2)}var v=[Math.min(d,(g+d)/2),Math.max(d,(g+d)/2)];if(t>v[0]&&t<=v[1]||t>=m[0]&&t<=m[1]){({index:a}=n[c]);break}}else{var b=Math.min(u,f),E=Math.max(u,f);if(t>(b+d)/2&&t<=(E+d)/2){({index:a}=n[c]);break}}}else if(e){for(var S=0;S0&&S(e[S].coordinate+e[S-1].coordinate)/2&&t<=(e[S].coordinate+e[S+1].coordinate)/2||S===o-1&&t>(e[S].coordinate+e[S-1].coordinate)/2){({index:a}=e[S]);break}}return a},pX=()=>Ct(GD),EO=(t,e)=>e,mX=(t,e,n)=>n,MO=(t,e,n,r)=>r,o_e=Ge(zc,t=>qS(t,e=>e.coordinate)),AO=Ge([sg,EO,mX,MO],tX),TO=Ge([AO,ag,Ib,Bb],bO),l_e=(t,e,n)=>{if(e!=null){var r=sg(t);return e==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},gX=Ge([sg,EO,mX,MO],rX),hw=Ge([Ic,Uc,xn,bi,zc,MO,gX,Fb],nX),c_e=Ge([AO,hw],(t,e)=>{var n;return(n=t.coordinate)!==null&&n!==void 0?n:e}),xX=Ge([zc,TO],YK),u_e=Ge([gX,TO,wd,Ib,xX,Fb,EO],iX),d_e=Ge([AO,TO],(t,e)=>({isActive:t.active&&e!=null,activeIndex:e})),h_e=(t,e,n,r,i,s,a)=>{if(!(!t||!n||!r||!i)&&a_e(t,a)){var o=Dpe(t,e),c=fX(o,s,i,n,r),u=i_e(e,i,c,t);return{activeIndex:String(c),activeCoordinate:u}}},f_e=(t,e,n,r,i,s,a)=>{if(!(!t||!r||!i||!s||!n)){var o=Yge(t,n);if(o){var c=Ope(o,e),u=fX(c,a,s,r,i),d=s_e(e,s,u,o);return{activeIndex:String(u),activeCoordinate:d}}}},p_e=(t,e,n,r,i,s,a,o)=>{if(!(!t||!e||!r||!i||!s))return e==="horizontal"||e==="vertical"?h_e(t,e,r,i,s,a,o):f_e(t,e,n,r,i,s,a)},m_e=Ge(t=>t.zIndex.zIndexMap,(t,e)=>e,(t,e,n)=>n,(t,e,n)=>{if(e!=null){var r=t[e];if(r!=null)return n?r.panoramaElementId:r.elementId}}),g_e=Ge(t=>t.zIndex.zIndexMap,t=>{var e=Object.keys(t).map(r=>parseInt(r,10)).concat(Object.values(Rr)),n=Array.from(new Set(e));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:Jbe}});function i6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function s6(t){for(var e=1;es6(s6({},t),{},{[e]:{elementId:void 0,panoramaElementId:void 0,consumers:0}}),y_e)},w_e=new Set(Object.values(Rr));function S_e(t){return w_e.has(t)}var bX=Js({name:"zIndex",initialState:__e,reducers:{registerZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]?t.zIndexMap[n].consumers+=1:t.zIndexMap[n]={consumers:1,elementId:void 0,panoramaElementId:void 0}},prepare:fr()},unregisterZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(t.zIndexMap[n].consumers-=1,t.zIndexMap[n].consumers<=0&&!S_e(n)&&delete t.zIndexMap[n])},prepare:fr()},registerZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n,elementId:r,isPanorama:i}=e.payload;t.zIndexMap[n]?i?t.zIndexMap[n].panoramaElementId=r:t.zIndexMap[n].elementId=r:t.zIndexMap[n]={consumers:0,elementId:i?void 0:r,panoramaElementId:i?r:void 0}},prepare:fr()},unregisterZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(e.payload.isPanorama?t.zIndexMap[n].panoramaElementId=void 0:t.zIndexMap[n].elementId=void 0)},prepare:fr()}}}),{registerZIndexPortal:E_e,unregisterZIndexPortal:M_e,registerZIndexPortalId:A_e,unregisterZIndexPortalId:T_e}=bX.actions,C_e=bX.reducer;function gs(t){var{zIndex:e,children:n}=t,r=hme(),i=r&&e!==void 0&&e!==0,s=vi(),a=rr();M.useLayoutEffect(()=>i?(a(E_e({zIndex:e})),()=>{a(M_e({zIndex:e}))}):vb,[a,e,i]);var o=Ct(u=>m_e(u,e,s));if(!i)return n;if(!o)return null;var c=document.getElementById(o);return c?hc.createPortal(n,c):null}function Sk(){return Sk=Object.assign?Object.assign.bind():function(t){for(var e=1;eM.useContext(vX),YT={exports:{}},o6;function L_e(){return o6||(o6=1,(function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(c,u,d){this.fn=c,this.context=u,this.once=d||!1}function s(c,u,d,f,g){if(typeof d!="function")throw new TypeError("The listener must be a function");var m=new i(d,f||c,g),x=n?n+u:u;return c._events[x]?c._events[x].fn?c._events[x]=[c._events[x],m]:c._events[x].push(m):(c._events[x]=m,c._eventsCount++),c}function a(c,u){--c._eventsCount===0?c._events=new r:delete c._events[u]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var u=[],d,f;if(this._eventsCount===0)return u;for(f in d=this._events)e.call(d,f)&&u.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},o.prototype.listeners=function(u){var d=n?n+u:u,f=this._events[d];if(!f)return[];if(f.fn)return[f.fn];for(var g=0,m=f.length,x=new Array(m);g{t.eventEmitter==null&&(t.eventEmitter=Symbol("rechartsEventEmitter"))}}}),z_e=yX.reducer,{createEventEmitter:B_e}=yX.actions;function H_e(t){return t.tooltip.syncInteraction}var $_e={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},_X=Js({name:"chartData",initialState:$_e,reducers:{setChartData(t,e){if(t.chartData=e.payload,e.payload==null){t.dataStartIndex=0,t.dataEndIndex=0;return}e.payload.length>0&&t.dataEndIndex!==e.payload.length-1&&(t.dataEndIndex=e.payload.length-1)},setComputedData(t,e){t.computedData=e.payload},setDataStartEndIndexes(t,e){var{startIndex:n,endIndex:r}=e.payload;n!=null&&(t.dataStartIndex=n),r!=null&&(t.dataEndIndex=r)}}}),{setChartData:c6,setDataStartEndIndexes:V_e,setComputedData:F7e}=_X.actions,G_e=_X.reducer,W_e=["x","y"];function u6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ep(t){for(var e=1;ec.rootProps.className);M.useEffect(()=>{if(t==null)return vb;var c=(u,d,f)=>{if(e!==f&&t===u){if(r==="index"){var g;if(a&&d!==null&&d!==void 0&&(g=d.payload)!==null&&g!==void 0&&g.coordinate&&d.payload.sourceViewBox){var m=d.payload.coordinate,{x,y}=m,v=Y_e(m,W_e),{x:b,y:E,width:S,height:A}=d.payload.sourceViewBox,T=ep(ep({},v),{},{x:a.x+(S?(x-b)/S:0)*a.width,y:a.y+(A?(y-E)/A:0)*a.height});n(ep(ep({},d),{},{payload:ep(ep({},d.payload),{},{coordinate:T})}))}else n(d);return}if(i!=null){var k;if(typeof r=="function"){var N={activeTooltipIndex:d.payload.index==null?void 0:Number(d.payload.index),isTooltipActive:d.payload.active,activeIndex:d.payload.index==null?void 0:Number(d.payload.index),activeLabel:d.payload.label,activeDataKey:d.payload.dataKey,activeCoordinate:d.payload.coordinate},I=r(i,N);k=i[I]}else r==="value"&&(k=i.find(K=>String(K.value)===d.payload.label));var{coordinate:C}=d.payload;if(k==null||d.payload.active===!1||C==null||a==null){n(_k({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}var{x:D,y:F}=C,j=Math.min(D,a.x+a.width),q=Math.min(F,a.y+a.height),R={x:s==="horizontal"?k.coordinate:j,y:s==="horizontal"?q:k.coordinate},W=_k({active:d.payload.active,coordinate:R,dataKey:d.payload.dataKey,index:String(k.index),label:d.payload.label,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:d.payload.graphicalItemId});n(W)}}};return B0.on(Ek,c),()=>{B0.off(Ek,c)}},[o,n,e,t,r,i,s,a])}function J_e(){var t=Ct(WD),e=Ct(qD),n=rr();M.useEffect(()=>{if(t==null)return vb;var r=(i,s,a)=>{e!==a&&t===i&&n(V_e(s))};return B0.on(l6,r),()=>{B0.off(l6,r)}},[n,e,t])}function e1e(){var t=rr();M.useEffect(()=>{t(B_e())},[t]),Q_e(),J_e()}function t1e(t,e,n,r,i,s){var a=Ct(m=>l_e(m,t,e)),o=Ct(qD),c=Ct(WD),u=Ct(gK),d=Ct(H_e),f=d?.active,g=Mb();M.useEffect(()=>{if(!f&&c!=null&&o!=null){var m=_k({active:s,coordinate:n,dataKey:a,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:g,graphicalItemId:void 0});B0.emit(Ek,c,m,o)}},[f,n,a,i,r,o,c,u,s,g])}function d6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function h6(t){for(var e=1;e{N(rye({shared:E,trigger:S,axisId:k,active:i,defaultIndex:I}))},[N,E,S,k,i,I]);var C=Mb(),D=lq(),F=Zve(E),{activeIndex:j,isActive:q}=(e=Ct(xe=>d_e(xe,F,S,I)))!==null&&e!==void 0?e:{},R=Ct(xe=>u_e(xe,F,S,I)),W=Ct(xe=>xX(xe,F,S,I)),K=Ct(xe=>c_e(xe,F,S,I)),V=R,ee=j_e(),Y=(n=i??q)!==null&&n!==void 0?n:!1,[Q,U]=uW([V,Y]),z=F==="axis"?W:void 0;t1e(F,S,K,z,j,Y);var J=T??ee;if(J==null||C==null||F==null)return null;var se=V??f6;Y||(se=f6),u&&se.length&&(se=iW(se.filter(xe=>xe.value!=null&&(xe.hide!==!0||r.includeHidden)),g,s1e));var me=se.length>0,fe=M.createElement(Zme,{allowEscapeViewBox:s,animationDuration:a,animationEasing:o,isAnimationActive:d,active:Y,coordinate:K,hasPayload:me,offset:f,position:m,reverseDirection:x,useTranslate3d:y,viewBox:C,wrapperStyle:v,lastBoundingBox:Q,innerRef:U,hasPortalFromProps:!!T},a1e(c,h6(h6({},r),{},{payload:se,label:z,active:Y,activeIndex:j,coordinate:K,accessibilityLayer:D})));return M.createElement(M.Fragment,null,hc.createPortal(fe,J),Y&&M.createElement(O_e,{cursor:b,tooltipEventType:F,coordinate:K,payload:se,index:j}))}var $b=t=>null;$b.displayName="Cell";function l1e(t,e,n){return(e=c1e(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c1e(t){var e=u1e(t,"string");return typeof e=="symbol"?e:e+""}function u1e(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class d1e{constructor(e){l1e(this,"cache",new Map),this.maxSize=e}get(e){var n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(e,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function p6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function h1e(t){for(var e=1;e{try{var n=document.getElementById(g6);n||(n=document.createElement("span"),n.setAttribute("id",g6),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,x1e,e),n.textContent="".concat(t);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},qx=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||Ym.isSsr)return{width:0,height:0};if(!wX.enableCache)return x6(e,n);var r=b1e(e,n),i=m6.get(r);if(i)return i;var s=x6(e,n);return m6.set(r,s),s},b6=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,v6=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,v1e=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,y1e=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,SX={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},_1e=Object.keys(SX),Wp="NaN";function w1e(t,e){return t*SX[e]}class Vs{static parse(e){var n,[,r,i]=(n=y1e.exec(e))!==null&&n!==void 0?n:[];return new Vs(parseFloat(r),i??"")}constructor(e,n){this.num=e,this.unit=n,this.num=e,this.unit=n,Qs(e)&&(this.unit=""),n!==""&&!v1e.test(n)&&(this.num=NaN,this.unit=""),_1e.includes(n)&&(this.num=w1e(e,n),this.unit="px")}add(e){return this.unit!==e.unit?new Vs(NaN,""):new Vs(this.num+e.num,this.unit)}subtract(e){return this.unit!==e.unit?new Vs(NaN,""):new Vs(this.num-e.num,this.unit)}multiply(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new Vs(NaN,""):new Vs(this.num*e.num,this.unit||e.unit)}divide(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new Vs(NaN,""):new Vs(this.num/e.num,this.unit||e.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return Qs(this.num)}}function EX(t){if(t.includes(Wp))return Wp;for(var e=t;e.includes("*")||e.includes("/");){var n,[,r,i,s]=(n=b6.exec(e))!==null&&n!==void 0?n:[],a=Vs.parse(r??""),o=Vs.parse(s??""),c=i==="*"?a.multiply(o):a.divide(o);if(c.isNaN())return Wp;e=e.replace(b6,c.toString())}for(;e.includes("+")||/.-\d+(?:\.\d+)?/.test(e);){var u,[,d,f,g]=(u=v6.exec(e))!==null&&u!==void 0?u:[],m=Vs.parse(d??""),x=Vs.parse(g??""),y=f==="+"?m.add(x):m.subtract(x);if(y.isNaN())return Wp;e=e.replace(v6,y.toString())}return e}var y6=/\(([^()]*)\)/;function S1e(t){for(var e=t,n;(n=y6.exec(e))!=null;){var[,r]=n;e=e.replace(y6,EX(r))}return e}function E1e(t){var e=t.replace(/\s+/g,"");return e=S1e(e),e=EX(e),e}function M1e(t){try{return E1e(t)}catch{return Wp}}function ZT(t){var e=M1e(t.slice(5,-1));return e===Wp?"":e}var A1e=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],T1e=["dx","dy","angle","className","breakAll"];function Mk(){return Mk=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{children:e,breakAll:n,style:r}=t;try{var i=[];dr(e)||(n?i=e.toString().split(""):i=e.toString().split(MX));var s=i.map(o=>({word:o,width:qx(o,r).width})),a=n?0:qx(" ",r).width;return{wordsWithComputedWidth:s,spaceWidth:a}}catch{return null}};function N1e(t){return t==="start"||t==="middle"||t==="end"||t==="inherit"}var TX=(t,e,n,r)=>t.reduce((i,s)=>{var{word:a,width:o}=s,c=i[i.length-1];if(c&&o!=null&&(e==null||r||c.width+o+nt.reduce((e,n)=>e.width>n.width?e:n),k1e="…",w6=(t,e,n,r,i,s,a,o)=>{var c=t.slice(0,e),u=AX({breakAll:n,style:r,children:c+k1e});if(!u)return[!1,[]];var d=TX(u.wordsWithComputedWidth,s,a,o),f=d.length>i||CX(d).width>Number(s);return[f,d]},P1e=(t,e,n,r,i)=>{var{maxLines:s,children:a,style:o,breakAll:c}=t,u=Pt(s),d=String(a),f=TX(e,r,n,i);if(!u||i)return f;var g=f.length>s||CX(f).width>Number(r);if(!g)return f;for(var m=0,x=d.length-1,y=0,v;m<=x&&y<=d.length-1;){var b=Math.floor((m+x)/2),E=b-1,[S,A]=w6(d,E,c,o,s,r,n,i),[T]=w6(d,b,c,o,s,r,n,i);if(!S&&!T&&(m=b+1),S&&T&&(x=b-1),!S&&T){v=A;break}y++}return v||f},S6=t=>{var e=dr(t)?[]:t.toString().split(MX);return[{words:e,width:void 0}]},R1e=t=>{var{width:e,scaleToFit:n,children:r,style:i,breakAll:s,maxLines:a}=t;if((e||n)&&!Ym.isSsr){var o,c,u=AX({breakAll:s,children:r,style:i});if(u){var{wordsWithComputedWidth:d,spaceWidth:f}=u;o=d,c=f}else return S6(r);return P1e({breakAll:s,children:r,maxLines:a,style:i},o,c,e,!!n)}return S6(r)},NX="#808080",D1e={angle:0,breakAll:!1,capHeight:"0.71em",fill:NX,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},TE=M.forwardRef((t,e)=>{var n=Sr(t,D1e),{x:r,y:i,lineHeight:s,capHeight:a,fill:o,scaleToFit:c,textAnchor:u,verticalAnchor:d}=n,f=_6(n,A1e),g=M.useMemo(()=>R1e({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:c,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,c,f.style,f.width]),{dx:m,dy:x,angle:y,className:v,breakAll:b}=f,E=_6(f,T1e);if(!co(r)||!co(i)||g.length===0)return null;var S=Number(r)+(Pt(m)?m:0),A=Number(i)+(Pt(x)?x:0);if(!Hn(S)||!Hn(A))return null;var T;switch(d){case"start":T=ZT("calc(".concat(a,")"));break;case"middle":T=ZT("calc(".concat((g.length-1)/2," * -").concat(s," + (").concat(a," / 2))"));break;default:T=ZT("calc(".concat(g.length-1," * -").concat(s,")"));break}var k=[];if(c){var N=g[0].width,{width:I}=f;k.push("scale(".concat(Pt(I)&&Pt(N)?I/N:1,")"))}return y&&k.push("rotate(".concat(y,", ").concat(S,", ").concat(A,")")),k.length&&(E.transform=k.join(" ")),M.createElement("text",Mk({},ns(E),{ref:e,x:S,y:A,className:En("recharts-text",v),textAnchor:u,fill:o.includes("url")?NX:o}),g.map((C,D)=>{var F=C.words.join(b?"":" ");return M.createElement("tspan",{x:S,dy:D===0?T:s,key:"".concat(F,"-").concat(D)},F)}))});TE.displayName="Text";var O1e=["labelRef"];function j1e(t,e){if(t==null)return{};var n,r,i=L1e(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{x:e,y:n,upperWidth:r,lowerWidth:i,width:s,height:a,children:o}=t,c=M.useMemo(()=>({x:e,y:n,upperWidth:r,lowerWidth:i,width:s,height:a}),[e,n,r,i,s,a]);return M.createElement(kX.Provider,{value:c},o)},RX=()=>{var t=M.useContext(kX),e=Mb();return t||YW(e)},z1e=M.createContext(null),B1e=()=>{var t=M.useContext(z1e),e=Ct(_K);return t||e},H1e=t=>{var{value:e,formatter:n}=t,r=dr(t.children)?e:t.children;return typeof n=="function"?n(r):r},CO=t=>t!=null&&typeof t=="function",$1e=(t,e)=>{var n=Li(e-t),r=Math.min(Math.abs(e-t),360);return n*r},V1e=(t,e,n,r,i)=>{var{offset:s,className:a}=t,{cx:o,cy:c,innerRadius:u,outerRadius:d,startAngle:f,endAngle:g,clockWise:m}=i,x=(u+d)/2,y=$1e(f,g),v=y>=0?1:-1,b,E;switch(e){case"insideStart":b=f+v*s,E=m;break;case"insideEnd":b=g-v*s,E=!m;break;case"end":b=g+v*s,E=m;break;default:throw new Error("Unsupported position ".concat(e))}E=y<=0?E:!E;var S=Jr(o,c,x,b),A=Jr(o,c,x,b+(E?1:-1)*359),T="M".concat(S.x,",").concat(S.y,` A`).concat(x,",").concat(x,",0,1,").concat(E?0:1,`, - `).concat(A.x,",").concat(A.y),k=dr(t.id)?T0("recharts-radial-line-"):t.id;return M.createElement("text",uc({},r,{dominantBaseline:"central",className:En("recharts-radial-bar-label",a)}),M.createElement("defs",null,M.createElement("path",{id:k,d:T})),M.createElement("textPath",{xlinkHref:"#".concat(k)},n))},G1e=(t,e,n)=>{var{cx:r,cy:i,innerRadius:s,outerRadius:a,startAngle:o,endAngle:c}=t,u=(o+c)/2;if(n==="outside"){var{x:d,y:f}=Jr(r,i,a+e,u);return{x:d,y:f,textAnchor:d>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var g=(s+a)/2,{x:m,y:x}=Jr(r,i,g,u);return{x:m,y:x,textAnchor:"middle",verticalAnchor:"middle"}},Ak=t=>"cx"in t&&Pt(t.cx),W1e=(t,e)=>{var{parentViewBox:n,offset:r,position:i}=t,s;n!=null&&!Ak(n)&&(s=n);var{x:a,y:o,upperWidth:c,lowerWidth:u,height:d}=e,f=a,g=a+(c-u)/2,m=(f+g)/2,x=(c+u)/2,y=f+c/2,v=d>=0?1:-1,b=v*r,E=v>0?"end":"start",S=v>0?"start":"end",A=c>=0?1:-1,T=A*r,k=A>0?"end":"start",N=A>0?"start":"end";if(i==="top"){var I={x:f+c/2,y:o-b,textAnchor:"middle",verticalAnchor:E};return Fr(Fr({},I),s?{height:Math.max(o-s.y,0),width:c}:{})}if(i==="bottom"){var C={x:g+u/2,y:o+d+b,textAnchor:"middle",verticalAnchor:S};return Fr(Fr({},C),s?{height:Math.max(s.y+s.height-(o+d),0),width:u}:{})}if(i==="left"){var D={x:m-T,y:o+d/2,textAnchor:k,verticalAnchor:"middle"};return Fr(Fr({},D),s?{width:Math.max(D.x-s.x,0),height:d}:{})}if(i==="right"){var F={x:m+x+T,y:o+d/2,textAnchor:N,verticalAnchor:"middle"};return Fr(Fr({},F),s?{width:Math.max(s.x+s.width-F.x,0),height:d}:{})}var j=s?{width:x,height:d}:{};return i==="insideLeft"?Fr({x:m+T,y:o+d/2,textAnchor:N,verticalAnchor:"middle"},j):i==="insideRight"?Fr({x:m+x-T,y:o+d/2,textAnchor:k,verticalAnchor:"middle"},j):i==="insideTop"?Fr({x:f+c/2,y:o+b,textAnchor:"middle",verticalAnchor:S},j):i==="insideBottom"?Fr({x:g+u/2,y:o+d-b,textAnchor:"middle",verticalAnchor:E},j):i==="insideTopLeft"?Fr({x:f+T,y:o+b,textAnchor:N,verticalAnchor:S},j):i==="insideTopRight"?Fr({x:f+c-T,y:o+b,textAnchor:k,verticalAnchor:S},j):i==="insideBottomLeft"?Fr({x:g+T,y:o+d-b,textAnchor:N,verticalAnchor:E},j):i==="insideBottomRight"?Fr({x:g+u-T,y:o+d-b,textAnchor:k,verticalAnchor:E},j):i&&typeof i=="object"&&(Pt(i.x)||Cc(i.x))&&(Pt(i.y)||Cc(i.y))?Fr({x:a+ms(i.x,x),y:o+ms(i.y,d),textAnchor:"end",verticalAnchor:"end"},j):Fr({x:y,y:o+d/2,textAnchor:"middle",verticalAnchor:"middle"},j)},q1e={angle:0,offset:5,zIndex:Rr.label,position:"middle",textBreakAll:!1};function Cu(t){var e=Sr(t,q1e),{viewBox:n,position:r,value:i,children:s,content:a,className:o="",textBreakAll:c,labelRef:u}=e,d=B1e(),f=RX(),g=r==="center"?f:d??f,m,x,y;if(n==null?m=g:Ak(n)?m=n:m=YW(n),!m||dr(i)&&dr(s)&&!M.isValidElement(a)&&typeof a!="function")return null;var v=Fr(Fr({},e),{},{viewBox:m});if(M.isValidElement(a)){var{labelRef:b}=v,E=j1e(v,O1e);return M.cloneElement(a,E)}if(typeof a=="function"){if(x=M.createElement(a,v),M.isValidElement(x))return x}else x=H1e(e);var S=ns(e);if(Ak(m)){if(r==="insideStart"||r==="insideEnd"||r==="end")return V1e(e,r,x,S,m);y=G1e(m,e.offset,e.position)}else y=W1e(e,m);return M.createElement(gs,{zIndex:e.zIndex},M.createElement(TE,uc({ref:u,className:En("recharts-label",o)},S,y,{textAnchor:N1e(S.textAnchor)?S.textAnchor:y.textAnchor,breakAll:c}),x))}Cu.displayName="Label";var K1e=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?M.createElement(Cu,uc({key:"label-implicit"},r)):co(t)?M.createElement(Cu,uc({key:"label-implicit",value:t},r)):M.isValidElement(t)?t.type===Cu?M.cloneElement(t,Fr({key:"label-implicit"},r)):M.createElement(Cu,uc({key:"label-implicit",content:t},r)):CO(t)?M.createElement(Cu,uc({key:"label-implicit",content:t},r)):t&&typeof t=="object"?M.createElement(Cu,uc({},t,{key:"label-implicit"},r)):null};function DX(t){var{label:e,labelRef:n}=t,r=RX();return K1e(e,r,n)||null}var QT={},JT={},M6;function X1e(){return M6||(M6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n[n.length-1]}t.last=e})(JT)),JT}var eC={},A6;function Y1e(){return A6||(A6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Array.isArray(n)?n:Array.from(n)}t.toArray=e})(eC)),eC}var T6;function Z1e(){return T6||(T6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=X1e(),n=Y1e(),r=nD();function i(s){if(r.isArrayLike(s))return e.last(n.toArray(s))}t.last=i})(QT)),QT}var tC,C6;function Q1e(){return C6||(C6=1,tC=Z1e().last),tC}var J1e=Q1e();const ewe=fo(J1e);var twe=["valueAccessor"],nwe=["dataKey","clockWise","id","textBreakAll","zIndex"];function fw(){return fw=Object.assign?Object.assign.bind():function(t){for(var e=1;eArray.isArray(t.value)?ewe(t.value):t.value,OX=M.createContext(void 0),NO=OX.Provider,jX=M.createContext(void 0),swe=jX.Provider;function awe(){return M.useContext(OX)}function owe(){return M.useContext(jX)}function s1(t){var{valueAccessor:e=iwe}=t,n=N6(t,twe),{dataKey:r,clockWise:i,id:s,textBreakAll:a,zIndex:o}=n,c=N6(n,nwe),u=awe(),d=owe(),f=u||d;return!f||!f.length?null:M.createElement(gs,{zIndex:o??Rr.label},M.createElement(wr,{className:"recharts-label-list"},f.map((g,m)=>{var x,y=dr(r)?e(g,m):Bn(g&&g.payload,r),v=dr(s)?{}:{id:"".concat(s,"-").concat(m)};return M.createElement(Cu,fw({key:"label-".concat(m)},ns(g),c,v,{fill:(x=n.fill)!==null&&x!==void 0?x:g.fill,parentViewBox:g.parentViewBox,value:y,textBreakAll:a,viewBox:g.viewBox,index:m,zIndex:0}))})))}s1.displayName="LabelList";function CE(t){var{label:e}=t;return e?e===!0?M.createElement(s1,{key:"labelList-implicit"}):M.isValidElement(e)||CO(e)?M.createElement(s1,{key:"labelList-implicit",content:e}):typeof e=="object"?M.createElement(s1,fw({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function Tk(){return Tk=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{cx:e,cy:n,r,className:i}=t,s=En("recharts-dot",i);return Pt(e)&&Pt(n)&&Pt(r)?M.createElement("circle",Tk({},Ns(t),tD(t),{className:s,cx:e,cy:n,r})):null},IX=t=>t.graphicalItems.polarItems,lwe=Ge([xr,Db],QD),NE=Ge([IX,Er,lwe],JD),cwe=Ge([NE],eO),kE=Ge([cwe,HD],tO),uwe=Ge([kE,Er,NE],rO);Ge([kE,Er,NE],(t,e,n)=>n.length>0?t.flatMap(r=>n.flatMap(i=>{var s,a=Bn(r,(s=e.dataKey)!==null&&s!==void 0?s:i.dataKey);return{value:a,errorDomain:[]}})).filter(Boolean):e?.dataKey!=null?t.map(r=>({value:Bn(r,e.dataKey),errorDomain:[]})):t.map(r=>({value:r,errorDomain:[]})));var k6=()=>{},dwe=Ge([kE,Er,NE,SE,xr],oO),hwe=Ge([Er,sO,aO,k6,dwe,k6,xn,xr],lO),UX=Ge([Er,xn,kE,uwe,Rb,xr,hwe],cO),fwe=Ge([UX,Er,ig],hO);Ge([Er,UX,fwe,xr],pO);var pwe={radiusAxis:{},angleAxis:{}},FX=Js({name:"polarAxis",initialState:pwe,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),{addRadiusAxis:z7e,removeRadiusAxis:B7e,addAngleAxis:H7e,removeAngleAxis:$7e}=FX.actions,mwe=FX.reducer;function P6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function R6(t){for(var e=1;ee,kO=Ge([IX,vwe],(t,e)=>t.filter(n=>n.type==="pie").find(n=>n.id===e)),ywe=[],PO=(t,e,n)=>n?.length===0?ywe:n,zX=Ge([HD,kO,PO],(t,e,n)=>{var{chartData:r}=t;if(e!=null){var i;if(e?.data!=null&&e.data.length>0?i=e.data:i=r,(!i||!i.length)&&n!=null&&(i=n.map(s=>R6(R6({},e.presentationProps),s.props))),i!=null)return i}}),_we=Ge([zX,kO,PO],(t,e,n)=>{if(!(t==null||e==null))return t.map((r,i)=>{var s,a=Bn(r,e.nameKey,e.name),o;return n!=null&&(s=n[i])!==null&&s!==void 0&&(s=s.props)!==null&&s!==void 0&&s.fill?o=n[i].props.fill:typeof r=="object"&&r!=null&&"fill"in r?o=r.fill:o=e.fill,{value:vd(a,e.dataKey),color:o,payload:r,type:e.legendType}})}),wwe=Ge([zX,kO,PO,bi],(t,e,n,r)=>{if(!(e==null||t==null))return SSe({offset:r,pieSettings:e,displayedData:t,cells:n})}),nC={exports:{}},Wn={};var D6;function Swe(){if(D6)return Wn;D6=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),a=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),g=Symbol.for("react.view_transition"),m=Symbol.for("react.client.reference");function x(y){if(typeof y=="object"&&y!==null){var v=y.$$typeof;switch(v){case t:switch(y=y.type,y){case n:case i:case r:case c:case u:case g:return y;default:switch(y=y&&y.$$typeof,y){case a:case o:case f:case d:return y;case s:return y;default:return v}}case e:return v}}}return Wn.ContextConsumer=s,Wn.ContextProvider=a,Wn.Element=t,Wn.ForwardRef=o,Wn.Fragment=n,Wn.Lazy=f,Wn.Memo=d,Wn.Portal=e,Wn.Profiler=i,Wn.StrictMode=r,Wn.Suspense=c,Wn.SuspenseList=u,Wn.isContextConsumer=function(y){return x(y)===s},Wn.isContextProvider=function(y){return x(y)===a},Wn.isElement=function(y){return typeof y=="object"&&y!==null&&y.$$typeof===t},Wn.isForwardRef=function(y){return x(y)===o},Wn.isFragment=function(y){return x(y)===n},Wn.isLazy=function(y){return x(y)===f},Wn.isMemo=function(y){return x(y)===d},Wn.isPortal=function(y){return x(y)===e},Wn.isProfiler=function(y){return x(y)===i},Wn.isStrictMode=function(y){return x(y)===r},Wn.isSuspense=function(y){return x(y)===c},Wn.isSuspenseList=function(y){return x(y)===u},Wn.isValidElementType=function(y){return typeof y=="string"||typeof y=="function"||y===n||y===i||y===r||y===c||y===u||typeof y=="object"&&y!==null&&(y.$$typeof===f||y.$$typeof===d||y.$$typeof===a||y.$$typeof===s||y.$$typeof===o||y.$$typeof===m||y.getModuleId!==void 0)},Wn.typeOf=x,Wn}var O6;function Ewe(){return O6||(O6=1,nC.exports=Swe()),nC.exports}var Mwe=Ewe(),j6=t=>typeof t=="string"?t:t?t.displayName||t.name||"Component":"",L6=null,rC=null,BX=t=>{if(t===L6&&Array.isArray(rC))return rC;var e=[];return M.Children.forEach(t,n=>{dr(n)||(Mwe.isFragment(n)?e=e.concat(BX(n.props.children)):e.push(n))}),rC=e,L6=t,e};function RO(t,e){var n=[],r=[];return Array.isArray(e)?r=e.map(i=>j6(i)):r=[j6(e)],BX(t).forEach(i=>{var s=Wh(i,"type.displayName")||Wh(i,"type.name");s&&r.indexOf(s)!==-1&&n.push(i)}),n}var DO=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0,iC={},I6;function Awe(){return I6||(I6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const i=n[Symbol.toStringTag];return i==null||!Object.getOwnPropertyDescriptor(n,Symbol.toStringTag)?.writable?!1:n.toString()===`[object ${i}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}t.isPlainObject=e})(iC)),iC}var sC,U6;function Twe(){return U6||(U6=1,sC=Awe().isPlainObject),sC}var Cwe=Twe();const Nwe=fo(Cwe);function F6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function z6(t){for(var e=1;e{var s=n-r,a;return a="M ".concat(t,",").concat(e),a+="L ".concat(t+n,",").concat(e),a+="L ".concat(t+n-s/2,",").concat(e+i),a+="L ".concat(t+n-s/2-r,",").concat(e+i),a+="L ".concat(t,",").concat(e," Z"),a},Dwe={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Owe=t=>{var e=Sr(t,Dwe),{x:n,y:r,upperWidth:i,lowerWidth:s,height:a,className:o}=e,{animationEasing:c,animationDuration:u,animationBegin:d,isUpdateAnimationActive:f}=e,g=M.useRef(null),[m,x]=M.useState(-1),y=M.useRef(i),v=M.useRef(s),b=M.useRef(a),E=M.useRef(n),S=M.useRef(r),A=Qm(t,"trapezoid-");if(M.useEffect(()=>{if(g.current&&g.current.getTotalLength)try{var R=g.current.getTotalLength();R&&x(R)}catch{}},[]),n!==+n||r!==+r||i!==+i||s!==+s||a!==+a||i===0&&s===0||a===0)return null;var T=En("recharts-trapezoid",o);if(!f)return M.createElement("g",null,M.createElement("path",pw({},ns(e),{className:T,d:B6(n,r,i,s,a)})));var k=y.current,N=v.current,I=b.current,C=E.current,D=S.current,F="0px ".concat(m===-1?1:m,"px"),j="".concat(m,"px 0px"),q=cq(["strokeDasharray"],u,c);return M.createElement(Zm,{animationId:A,key:A,canBegin:m>0,duration:u,easing:c,isActive:f,begin:d},R=>{var W=On(k,i,R),K=On(N,s,R),V=On(I,a,R),ee=On(C,n,R),Y=On(D,r,R);g.current&&(y.current=W,v.current=K,b.current=V,E.current=ee,S.current=Y);var Q=R>0?{transition:q,strokeDasharray:j}:{strokeDasharray:F};return M.createElement("path",pw({},ns(e),{className:T,d:B6(ee,Y,W,K,V),ref:g,style:z6(z6({},Q),e.style)}))})},jwe=["option","shapeType","propTransformer","activeClassName"];function Lwe(t,e){if(t==null)return{};var n,r,i=Iwe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var r=rr();return(i,s)=>a=>{t?.(i,s,a),r(QK({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},LO=t=>{var e=rr();return(n,r)=>i=>{t?.(n,r,i),e(iye())}},IO=(t,e,n)=>{var r=rr();return(i,s)=>a=>{t?.(i,s,a),r(sye({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function PE(t){var{tooltipEntrySettings:e}=t,n=rr(),r=vi(),i=M.useRef(null);return M.useLayoutEffect(()=>{r||(i.current===null?n(eye(e)):i.current!==e&&n(tye({prev:i.current,next:e})),i.current=e)},[e,n,r]),M.useLayoutEffect(()=>()=>{i.current&&(n(nye(i.current)),i.current=null)},[n]),null}function UO(t){var{legendPayload:e}=t,n=rr(),r=vi(),i=M.useRef(null);return M.useLayoutEffect(()=>{r||(i.current===null?n(sq(e)):i.current!==e&&n(aq({prev:i.current,next:e})),i.current=e)},[n,r,e]),M.useLayoutEffect(()=>()=>{i.current&&(n(oq(i.current)),i.current=null)},[n]),null}function Vwe(t){var{legendPayload:e}=t,n=rr(),r=Ct(xn),i=M.useRef(null);return M.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(i.current===null?n(sq(e)):i.current!==e&&n(aq({prev:i.current,next:e})),i.current=e)},[n,r,e]),M.useLayoutEffect(()=>()=>{i.current&&(n(oq(i.current)),i.current=null)},[n]),null}var aC,Gwe=()=>{var[t]=M.useState(()=>T0("uid-"));return t},Wwe=(aC=Mre.useId)!==null&&aC!==void 0?aC:Gwe;function HX(t,e){var n=Wwe();return e||(t?"".concat(t,"-").concat(n):n)}var qwe=M.createContext(void 0),RE=t=>{var{id:e,type:n,children:r}=t,i=HX("recharts-".concat(n),e);return M.createElement(qwe.Provider,{value:i},r(i))},Kwe={cartesianItems:[],polarItems:[]},$X=Js({name:"graphicalItems",initialState:Kwe,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:fr()},replaceCartesianGraphicalItem:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Lo(t).cartesianItems.indexOf(n);i>-1&&(t.cartesianItems[i]=r)},prepare:fr()},removeCartesianGraphicalItem:{reducer(t,e){var n=Lo(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:fr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:fr()},removePolarGraphicalItem:{reducer(t,e){var n=Lo(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:fr()}}}),{addCartesianGraphicalItem:Xwe,replaceCartesianGraphicalItem:Ywe,removeCartesianGraphicalItem:Zwe,addPolarGraphicalItem:Qwe,removePolarGraphicalItem:Jwe}=$X.actions,eSe=$X.reducer,tSe=t=>{var e=rr(),n=M.useRef(null);return M.useLayoutEffect(()=>{n.current===null?e(Xwe(t)):n.current!==t&&e(Ywe({prev:n.current,next:t})),n.current=t},[e,t]),M.useLayoutEffect(()=>()=>{n.current&&(e(Zwe(n.current)),n.current=null)},[e]),null},FO=M.memo(tSe);function nSe(t){var e=rr();return M.useLayoutEffect(()=>(e(Qwe(t)),()=>{e(Jwe(t))}),[e,t]),null}var rSe=["key"],iSe=["onMouseEnter","onClick","onMouseLeave"],sSe=["id"],aSe=["id"];function V6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function kr(t){for(var e=1;eRO(t.children,$b),[t.children]),n=Ct(r=>_we(r,t.id,e));return n==null?null:M.createElement(Vwe,{legendPayload:n})}var hSe=M.memo(t=>{var{dataKey:e,nameKey:n,sectors:r,stroke:i,strokeWidth:s,fill:a,name:o,hide:c,tooltipType:u}=t,d={dataDefinedOnItem:r.map(f=>f.tooltipPayload),positions:r.map(f=>f.tooltipPosition),settings:{stroke:i,strokeWidth:s,fill:a,dataKey:e,nameKey:n,name:vd(o,e),hide:c,type:u,color:a,unit:""}};return M.createElement(PE,{tooltipEntrySettings:d})}),fSe=(t,e)=>t>e?"start":tms(typeof e=="function"?e(t):e,n,n*.8),mSe=(t,e,n)=>{var{top:r,left:i,width:s,height:a}=e,o=pq(s,a),c=i+ms(t.cx,s,s/2),u=r+ms(t.cy,a,a/2),d=ms(t.innerRadius,o,0),f=pSe(n,t.outerRadius,o),g=t.maxRadius||Math.sqrt(s*s+a*a)/2;return{cx:c,cy:u,innerRadius:d,outerRadius:f,maxRadius:g}},gSe=(t,e)=>{var n=Li(e-t),r=Math.min(Math.abs(e-t),360);return n*r};function xSe(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var bSe=(t,e)=>{if(M.isValidElement(t))return M.cloneElement(t,e);if(typeof t=="function")return t(e);var n=En("recharts-pie-label-line",typeof t!="boolean"?t.className:""),{key:r}=e,i=DE(e,rSe);return M.createElement(tm,ud({},i,{type:"linear",className:n}))},vSe=(t,e,n)=>{if(M.isValidElement(t))return M.cloneElement(t,e);var r=n;if(typeof t=="function"&&(r=t(e),M.isValidElement(r)))return r;var i=En("recharts-pie-label-text",xSe(t));return M.createElement(TE,ud({},e,{alignmentBaseline:"middle",className:i}),r)};function ySe(t){var{sectors:e,props:n,showLabels:r}=t,{label:i,labelLine:s,dataKey:a}=n;if(!r||!i||!e)return null;var o=Ns(n),c=Gh(i),u=Gh(s),d=typeof i=="object"&&"offsetRadius"in i&&typeof i.offsetRadius=="number"&&i.offsetRadius||20,f=e.map((g,m)=>{var x=(g.startAngle+g.endAngle)/2,y=Jr(g.cx,g.cy,g.outerRadius+d,x),v=kr(kr(kr(kr({},o),g),{},{stroke:"none"},c),{},{index:m,textAnchor:fSe(y.x,g.cx)},y),b=kr(kr(kr(kr({},o),g),{},{fill:"none",stroke:g.fill},u),{},{index:m,points:[Jr(g.cx,g.cy,g.outerRadius,x),y],key:"line"});return M.createElement(gs,{zIndex:Rr.label,key:"label-".concat(g.startAngle,"-").concat(g.endAngle,"-").concat(g.midAngle,"-").concat(m)},M.createElement(wr,null,s&&bSe(s,b),vSe(i,v,Bn(g,a))))});return M.createElement(wr,{className:"recharts-pie-labels"},f)}function _Se(t){var{sectors:e,props:n,showLabels:r}=t,{label:i}=n;return typeof i=="object"&&i!=null&&"position"in i?M.createElement(CE,{label:i}):M.createElement(ySe,{sectors:e,props:n,showLabels:r})}function wSe(t){var{sectors:e,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:s,id:a}=t,o=Ct(cd),c=Ct(SO),u=Ct(Vye),{onMouseEnter:d,onClick:f,onMouseLeave:g}=i,m=DE(i,iSe),x=jO(d,i.dataKey,a),y=LO(g),v=IO(f,i.dataKey,a);return e==null||e.length===0?null:M.createElement(M.Fragment,null,e.map((b,E)=>{if(b?.startAngle===0&&b?.endAngle===0&&e.length!==1)return null;var S=u==null||u===a,A=String(E)===o&&(c==null||i.dataKey===c)&&S,T=o?r:null,k=n&&A?n:T,N=kr(kr({},b),{},{stroke:b.stroke,tabIndex:-1,[GW]:E,[WW]:i.dataKey});return M.createElement(wr,ud({key:"sector-".concat(b?.startAngle,"-").concat(b?.endAngle,"-").concat(b.midAngle,"-").concat(E),tabIndex:-1,className:"recharts-pie-sector"},yb(m,b,E),{onMouseEnter:x(b,E),onMouseLeave:y(b,E),onClick:v(b,E)}),M.createElement(OO,ud({option:s??k,index:E,shapeType:"sector",isActive:A},N)))}))}function SSe(t){var e,{pieSettings:n,displayedData:r,cells:i,offset:s}=t,{cornerRadius:a,startAngle:o,endAngle:c,dataKey:u,nameKey:d,tooltipType:f}=n,g=Math.abs(n.minAngle),m=gSe(o,c),x=Math.abs(m),y=r.length<=1?0:(e=n.paddingAngle)!==null&&e!==void 0?e:0,v=r.filter(k=>Bn(k,u,0)!==0).length,b=(x>=360?v:v-1)*y,E=x-v*g-b,S=r.reduce((k,N)=>{var I=Bn(N,u,0);return k+(Pt(I)?I:0)},0),A;if(S>0){var T;A=r.map((k,N)=>{var I=Bn(k,u,0),C=Bn(k,d,N),D=mSe(n,s,k),F=(Pt(I)?I:0)/S,j,q=kr(kr({},k),i&&i[N]&&i[N].props);N?j=T.endAngle+Li(m)*y*(I!==0?1:0):j=o;var R=j+Li(m)*((I!==0?g:0)+F*E),W=(j+R)/2,K=(D.innerRadius+D.outerRadius)/2,V=[{name:C,value:I,payload:q,dataKey:u,type:f}],ee=Jr(D.cx,D.cy,K,W);return T=kr(kr(kr(kr({},n.presentationProps),{},{percent:F,cornerRadius:typeof a=="string"?parseFloat(a):a,name:C,tooltipPayload:V,midAngle:W,middleRadius:K,tooltipPosition:ee},q),D),{},{value:I,dataKey:u,startAngle:j,endAngle:R,payload:q,paddingAngle:Li(m)*y}),T})}return A}function ESe(t){var{showLabels:e,sectors:n,children:r}=t,i=M.useMemo(()=>!e||!n?[]:n.map(s=>({value:s.value,payload:s.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:s.cx,cy:s.cy,innerRadius:s.innerRadius,outerRadius:s.outerRadius,startAngle:s.startAngle,endAngle:s.endAngle,clockWise:!1},fill:s.fill})),[n,e]);return M.createElement(swe,{value:e?i:void 0},r)}function MSe(t){var{props:e,previousSectorsRef:n,id:r}=t,{sectors:i,isAnimationActive:s,animationBegin:a,animationDuration:o,animationEasing:c,activeShape:u,inactiveShape:d,onAnimationStart:f,onAnimationEnd:g}=e,m=Qm(e,"recharts-pie-"),x=n.current,[y,v]=M.useState(!1),b=M.useCallback(()=>{typeof g=="function"&&g(),v(!1)},[g]),E=M.useCallback(()=>{typeof f=="function"&&f(),v(!0)},[f]);return M.createElement(ESe,{showLabels:!y,sectors:i},M.createElement(Zm,{animationId:m,begin:a,duration:o,isActive:s,easing:c,onAnimationStart:E,onAnimationEnd:b,key:m},S=>{var A=[],T=i&&i[0],k=T?.startAngle;return i?.forEach((N,I)=>{var C=x&&x[I],D=I>0?Wh(N,"paddingAngle",0):0;if(C){var F=On(C.endAngle-C.startAngle,N.endAngle-N.startAngle,S),j=kr(kr({},N),{},{startAngle:k+D,endAngle:k+F+D});A.push(j),k=j.endAngle}else{var{endAngle:q,startAngle:R}=N,W=On(0,q-R,S),K=kr(kr({},N),{},{startAngle:k+D,endAngle:k+W+D});A.push(K),k=K.endAngle}}),n.current=A,M.createElement(wr,null,M.createElement(wSe,{sectors:A,activeShape:u,inactiveShape:d,allOtherPieProps:e,shape:e.shape,id:r}))}),M.createElement(_Se,{showLabels:!y,sectors:i,props:e}),e.children)}var ASe={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:Rr.area};function TSe(t){var{id:e}=t,n=DE(t,sSe),{hide:r,className:i,rootTabIndex:s}=t,a=M.useMemo(()=>RO(t.children,$b),[t.children]),o=Ct(d=>wwe(d,e,a)),c=M.useRef(null),u=En("recharts-pie",i);return r||o==null?(c.current=null,M.createElement(wr,{tabIndex:s,className:u})):M.createElement(gs,{zIndex:t.zIndex},M.createElement(hSe,{dataKey:t.dataKey,nameKey:t.nameKey,sectors:o,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,tooltipType:t.tooltipType}),M.createElement(wr,{tabIndex:s,className:u},M.createElement(MSe,{props:kr(kr({},n),{},{sectors:o}),previousSectorsRef:c,id:e})))}function VX(t){var e=Sr(t,ASe),{id:n}=e,r=DE(e,aSe),i=Ns(r);return M.createElement(RE,{id:n,type:"pie"},s=>M.createElement(M.Fragment,null,M.createElement(nSe,{type:"pie",id:s,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:e.maxRadius}),M.createElement(dSe,ud({},r,{id:s})),M.createElement(TSe,ud({},r,{id:s}))))}VX.displayName="Pie";var CSe=["points"];function G6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function oC(t){for(var e=1;e{var v,b,E=oC(oC(oC({r:3},a),f),{},{index:y,cx:(v=x.x)!==null&&v!==void 0?v:void 0,cy:(b=x.y)!==null&&b!==void 0?b:void 0,dataKey:s,value:x.value,payload:x.payload,points:e});return M.createElement(OSe,{key:"dot-".concat(y),option:n,dotProps:E,className:i})}),m={};return o&&c!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(c,")")),M.createElement(gs,{zIndex:u},M.createElement(wr,gw({className:r},m),g))}function W6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function q6(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),XSe=Ge([KSe,Ic,Uc],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),OE=()=>Ct(XSe),YSe=()=>Ct(Xye);function K6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lC(t){for(var e=1;e{var{point:e,childIndex:n,mainColor:r,activeDot:i,dataKey:s,clipPath:a}=t;if(i===!1||e.x==null||e.y==null)return null;var o={index:n,dataKey:s,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},c=lC(lC(lC({},o),Gh(i)),tD(i)),u;return M.isValidElement(i)?u=M.cloneElement(i,c):typeof i=="function"?u=i(c):u=M.createElement(LX,c),M.createElement(wr,{className:"recharts-active-dot",clipPath:a},u)};function Ck(t){var{points:e,mainColor:n,activeDot:r,itemDataKey:i,clipPath:s,zIndex:a=Rr.activeDot}=t,o=Ct(cd),c=YSe();if(e==null||c==null)return null;var u=e.find(d=>c.includes(d.payload));return dr(u)?null:M.createElement(gs,{zIndex:a},M.createElement(eEe,{point:u,childIndex:Number(o),mainColor:n,dataKey:i,activeDot:r,clipPath:s}))}var tEe="Invariant failed";function nEe(t,e){throw new Error(tEe)}var rEe=["x","y"];function Nk(){return Nk=Object.assign?Object.assign.bind():function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(Pt(e))return e;var s=Pt(r)||dr(r);return s?e(r,i):(s||nEe(),n)}},dEe={},qX=Js({name:"errorBars",initialState:dEe,reducers:{addErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]||(t[n]=[]),t[n].push(r)},replaceErrorBar:(t,e)=>{var{itemId:n,prev:r,next:i}=e.payload;t[n]&&(t[n]=t[n].map(s=>s.dataKey===r.dataKey&&s.direction===r.direction?i:s))},removeErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]&&(t[n]=t[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:q7e,replaceErrorBar:K7e,removeErrorBar:X7e}=qX.actions,hEe=qX.reducer,fEe=["children"];function pEe(t,e){if(t==null)return{};var n,r,i=mEe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},xEe=M.createContext(gEe);function KX(t){var{children:e}=t,n=pEe(t,fEe);return M.createElement(xEe.Provider,{value:n},e)}function jE(t,e){var n,r,i=Ct(u=>Sl(u,t)),s=Ct(u=>El(u,e)),a=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:Pi.allowDataOverflow,o=(r=s?.allowDataOverflow)!==null&&r!==void 0?r:Ri.allowDataOverflow,c=a||o;return{needClip:c,needClipX:a,needClipY:o}}function zO(t){var{xAxisId:e,yAxisId:n,clipPathId:r}=t,i=OE(),{needClipX:s,needClipY:a,needClip:o}=jE(e,n);if(!o||!i)return null;var{x:c,y:u,width:d,height:f}=i;return M.createElement("clipPath",{id:"clipPath-".concat(r)},M.createElement("rect",{x:s?c:c-d/2,y:a?u:u-f/2,width:s?d:d*2,height:a?f:f*2}))}function bEe(t,e){return t&&typeof t=="object"&&"zIndex"in t&&typeof t.zIndex=="number"&&Hn(t.zIndex)?t.zIndex:e}var cC={exports:{}},uC={};var Y6;function vEe(){if(Y6)return uC;Y6=1;var t=Vm();function e(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,s=t.useEffect,a=t.useMemo,o=t.useDebugValue;return uC.useSyncExternalStoreWithSelector=function(c,u,d,f,g){var m=i(null);if(m.current===null){var x={hasValue:!1,value:null};m.current=x}else x=m.current;m=a(function(){function v(T){if(!b){if(b=!0,E=T,T=f(T),g!==void 0&&x.hasValue){var k=x.value;if(g(k,T))return S=k}return S=T}if(k=S,n(E,T))return k;var N=f(T);return g!==void 0&&g(k,N)?(E=T,k):(E=T,S=N)}var b=!1,E,S,A=d===void 0?null:d;return[function(){return v(u())},A===null?void 0:function(){return v(A())}]},[u,d,f,g]);var y=r(c,m[0],m[1]);return s(function(){x.hasValue=!0,x.value=y},[y]),o(y),y},uC}var Z6;function yEe(){return Z6||(Z6=1,cC.exports=vEe()),cC.exports}yEe();function _Ee(t){t()}function wEe(){let t=null,e=null;return{clear(){t=null,e=null},notify(){_Ee(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var Q6={notify(){},get:()=>[]};function SEe(t,e){let n,r=Q6,i=0,s=!1;function a(y){d();const v=r.subscribe(y);let b=!1;return()=>{b||(b=!0,v(),f())}}function o(){r.notify()}function c(){x.onStateChange&&x.onStateChange()}function u(){return s}function d(){i++,n||(n=t.subscribe(c),r=wEe())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Q6)}function g(){s||(s=!0,d())}function m(){s&&(s=!1,f())}const x={addNestedSub:a,notifyNestedSubs:o,handleChangeWrapper:c,isSubscribed:u,trySubscribe:g,tryUnsubscribe:m,getListeners:()=>r};return x}var EEe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",MEe=EEe(),AEe=()=>typeof navigator<"u"&&navigator.product==="ReactNative",TEe=AEe(),CEe=()=>MEe||TEe?M.useLayoutEffect:M.useEffect,NEe=CEe();function J6(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function kEe(t,e){if(J6(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const c=SEe(i);return{store:i,subscription:c,getServerState:r?()=>r:void 0}},[i,r]),a=M.useMemo(()=>i.getState(),[i]);NEe(()=>{const{subscription:c}=s;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),a!==i.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[s,a]);const o=n||OEe;return M.createElement(o.Provider,{value:s},e)}var LEe=jEe,IEe=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle"]);function UEe(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function Vb(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(IEe.has(r)){if(t[r]==null&&e[r]==null)continue;if(!kEe(t[r],e[r]))return!1}else if(!UEe(t[r],e[r]))return!1;return!0}var FEe=["onMouseEnter","onMouseLeave","onClick"],zEe=["value","background","tooltipPosition"],BEe=["id"],HEe=["onMouseEnter","onClick","onMouseLeave"];function Oc(){return Oc=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,fill:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:vd(n,e),payload:t}]},KEe=M.memo(t=>{var{dataKey:e,stroke:n,strokeWidth:r,fill:i,name:s,hide:a,unit:o,tooltipType:c}=t,u={dataDefinedOnItem:void 0,positions:void 0,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:e,nameKey:void 0,name:vd(s,e),hide:a,type:c,color:i,unit:o}};return M.createElement(PE,{tooltipEntrySettings:u})});function XEe(t){var e=Ct(cd),{data:n,dataKey:r,background:i,allOtherBarProps:s}=t,{onMouseEnter:a,onMouseLeave:o,onClick:c}=s,u=bw(s,FEe),d=jO(a,r),f=LO(o),g=IO(c,r);if(!i||n==null)return null;var m=Gh(i);return M.createElement(gs,{zIndex:bEe(i,Rr.barBackground)},n.map((x,y)=>{var{value:v,background:b,tooltipPosition:E}=x,S=bw(x,zEe);if(!b)return null;var A=d(x,y),T=f(x,y),k=g(x,y),N=Es(Es(Es(Es(Es({option:i,isActive:String(y)===e},S),{},{fill:"#eee"},b),m),yb(u,x,y)),{},{onMouseEnter:A,onMouseLeave:T,onClick:k,dataKey:r,index:y,className:"recharts-bar-background-rectangle"});return M.createElement(xw,Oc({key:"background-bar-".concat(y)},N))}))}function YEe(t){var{showLabels:e,children:n,rects:r}=t,i=r?.map(s=>{var a={x:s.x,y:s.y,width:s.width,lowerWidth:s.width,upperWidth:s.width,height:s.height};return Es(Es({},a),{},{value:s.value,payload:s.payload,parentViewBox:s.parentViewBox,viewBox:a,fill:s.fill})});return M.createElement(NO,{value:e?i:void 0},n)}function ZEe(t){var{shape:e,activeBar:n,baseProps:r,entry:i,index:s,dataKey:a}=t,o=Ct(cd),c=Ct(SO),u=n&&String(s)===o&&(c==null||a===c),d=u?n:e;return u?M.createElement(gs,{zIndex:Rr.activeBar},M.createElement(xw,Oc({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:a}))):M.createElement(xw,Oc({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:a}))}function QEe(t){var{shape:e,baseProps:n,entry:r,index:i,dataKey:s}=t;return M.createElement(xw,Oc({},n,{name:String(n.name)},r,{isActive:!1,option:e,index:i,dataKey:s}))}function JEe(t){var e,{data:n,props:r}=t,i=(e=Ns(r))!==null&&e!==void 0?e:{},{id:s}=i,a=bw(i,BEe),{shape:o,dataKey:c,activeBar:u}=r,{onMouseEnter:d,onClick:f,onMouseLeave:g}=r,m=bw(r,HEe),x=jO(d,c),y=LO(g),v=IO(f,c);return n?M.createElement(M.Fragment,null,n.map((b,E)=>M.createElement(wr,Oc({key:"rectangle-".concat(b?.x,"-").concat(b?.y,"-").concat(b?.value,"-").concat(E),className:"recharts-bar-rectangle"},yb(m,b,E),{onMouseEnter:x(b,E),onMouseLeave:y(b,E),onClick:v(b,E)}),u?M.createElement(ZEe,{shape:o,activeBar:u,baseProps:a,entry:b,index:E,dataKey:c}):M.createElement(QEe,{shape:o,baseProps:a,entry:b,index:E,dataKey:c})))):null}function eMe(t){var{props:e,previousRectanglesRef:n}=t,{data:r,layout:i,isAnimationActive:s,animationBegin:a,animationDuration:o,animationEasing:c,onAnimationEnd:u,onAnimationStart:d}=e,f=n.current,g=Qm(e,"recharts-bar-"),[m,x]=M.useState(!1),y=!m,v=M.useCallback(()=>{typeof u=="function"&&u(),x(!1)},[u]),b=M.useCallback(()=>{typeof d=="function"&&d(),x(!0)},[d]);return M.createElement(YEe,{showLabels:y,rects:r},M.createElement(Zm,{animationId:g,begin:a,duration:o,isActive:s,easing:c,onAnimationEnd:v,onAnimationStart:b,key:g},E=>{var S=E===1?r:r?.map((A,T)=>{var k=f&&f[T];if(k)return Es(Es({},A),{},{x:On(k.x,A.x,E),y:On(k.y,A.y,E),width:On(k.width,A.width,E),height:On(k.height,A.height,E)});if(i==="horizontal"){var N=On(0,A.height,E),I=On(A.stackedBarStart,A.y,E);return Es(Es({},A),{},{y:I,height:N})}var C=On(0,A.width,E),D=On(A.stackedBarStart,A.x,E);return Es(Es({},A),{},{width:C,x:D})});return E>0&&(n.current=S??null),S==null?null:M.createElement(wr,null,M.createElement(JEe,{props:e,data:S}))}),M.createElement(CE,{label:e.label}),e.children)}function tMe(t){var e=M.useRef(null);return M.createElement(eMe,{previousRectanglesRef:e,props:t})}var XX=0,nMe=(t,e)=>{var n=Array.isArray(t.value)?t.value[1]:t.value;return{x:t.x,y:t.y,value:n,errorVal:Bn(t,e)}};class rMe extends M.PureComponent{render(){var{hide:e,data:n,dataKey:r,className:i,xAxisId:s,yAxisId:a,needClip:o,background:c,id:u}=this.props;if(e||n==null)return null;var d=En("recharts-bar",i),f=u;return M.createElement(wr,{className:d,id:u},o&&M.createElement("defs",null,M.createElement(zO,{clipPathId:f,xAxisId:s,yAxisId:a})),M.createElement(wr,{className:"recharts-bar-rectangles",clipPath:o?"url(#clipPath-".concat(f,")"):void 0},M.createElement(XEe,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),M.createElement(tMe,this.props)))}}var iMe={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:XX,xAxisId:0,yAxisId:0,zIndex:Rr.bar};function sMe(t){var{xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:a,animationBegin:o,animationDuration:c,animationEasing:u,isAnimationActive:d}=t,{needClip:f}=jE(e,n),g=hf(),m=vi(),x=RO(t.children,$b),y=Ct(E=>DMe(E,e,n,m,t.id,x));if(g!=="vertical"&&g!=="horizontal")return null;var v,b=y?.[0];return b==null||b.height==null||b.width==null?v=0:v=g==="vertical"?b.height/2:b.width/2,M.createElement(KX,{xAxisId:e,yAxisId:n,data:y,dataPointFormatter:nMe,errorBarOffset:v},M.createElement(rMe,Oc({},t,{layout:g,needClip:f,data:y,xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:a,animationBegin:o,animationDuration:c,animationEasing:u,isAnimationActive:d})))}function aMe(t){var{layout:e,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:s,xAxis:a,yAxis:o,xAxisTicks:c,yAxisTicks:u,stackedData:d,displayedData:f,offset:g,cells:m,parentViewBox:x,dataStartIndex:y}=t,v=e==="horizontal"?o:a,b=d?v.scale.domain():null,E=Npe({numericAxis:v}),S=v.scale(E);return f.map((A,T)=>{var k,N,I,C,D,F;d?k=Epe(d[T+y],b):(k=Bn(A,n),Array.isArray(k)||(k=[E,k]));var j=uEe(r,XX)(k[1],T);if(e==="horizontal"){var q,[R,W]=[o.scale(k[0]),o.scale(k[1])];N=xz({axis:a,ticks:c,bandSize:s,offset:i.offset,entry:A,index:T}),I=(q=W??R)!==null&&q!==void 0?q:void 0,C=i.size;var K=R-W;if(D=Qs(K)?0:K,F={x:N,y:g.top,width:C,height:g.height},Math.abs(j)>0&&Math.abs(D)0&&Math.abs(C)M.createElement(M.Fragment,null,M.createElement(UO,{legendPayload:qEe(e)}),M.createElement(KEe,{dataKey:e.dataKey,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),M.createElement(FO,{type:"bar",id:r,data:void 0,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,stackId:$W(e.stackId),hide:e.hide,barSize:e.barSize,minPointSize:e.minPointSize,maxBarSize:e.maxBarSize,isPanorama:n}),M.createElement(gs,{zIndex:e.zIndex},M.createElement(sMe,Oc({},e,{id:r})))))}var YX=M.memo(oMe,Vb);YX.displayName="Bar";function t8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Ry(t){for(var e=1;ee,hMe=(t,e,n)=>n,fMe=(t,e,n,r)=>r,pMe=(t,e,n,r,i)=>i,Gb=Ge([jb,pMe],(t,e)=>t.filter(n=>n.type==="bar").find(n=>n.id===e)),mMe=Ge([Gb],t=>t?.maxBarSize),gMe=(t,e,n,r,i,s)=>s,n8=(t,e,n)=>{var r=n??t;if(!dr(r))return ms(r,e,0)},xMe=Ge([xn,jb,dMe,hMe,fMe],(t,e,n,r,i)=>e.filter(s=>t==="horizontal"?s.xAxisId===n:s.yAxisId===r).filter(s=>s.isPanorama===i).filter(s=>s.hide===!1).filter(s=>s.type==="bar")),bMe=(t,e,n,r)=>{var i=xn(t);return i==="horizontal"?z0(t,"yAxis",n,r):z0(t,"xAxis",e,r)},vMe=(t,e,n)=>{var r=xn(t);return r==="horizontal"?YB(t,"xAxis",e):YB(t,"yAxis",n)},yMe=(t,e,n)=>{var r={},i=t.filter(vE),s=t.filter(u=>u.stackId==null),a=i.reduce((u,d)=>(u[d.stackId]||(u[d.stackId]=[]),u[d.stackId].push(d),u),r),o=Object.entries(a).map(u=>{var[d,f]=u,g=f.map(x=>x.dataKey),m=n8(e,n,f[0].barSize);return{stackId:d,dataKeys:g,barSize:m}}),c=s.map(u=>{var d=[u.dataKey].filter(g=>g!=null),f=n8(e,n,u.barSize);return{stackId:void 0,dataKeys:d,barSize:f}});return[...o,...c]},_Me=Ge([xMe,Wbe,vMe],yMe),wMe=(t,e,n,r,i)=>{var s,a,o=Gb(t,e,n,r,i);if(o!=null){var c=xn(t),u=fK(t),{maxBarSize:d}=o,f=dr(d)?u:d,g,m;return c==="horizontal"?(g=ml(t,"xAxis",e,r),m=pl(t,"xAxis",e,r)):(g=ml(t,"yAxis",n,r),m=pl(t,"yAxis",n,r)),(s=(a=ad(g,m,!0))!==null&&a!==void 0?a:f)!==null&&s!==void 0?s:0}},ZX=(t,e,n,r)=>{var i=xn(t),s,a;return i==="horizontal"?(s=ml(t,"xAxis",e,r),a=pl(t,"xAxis",e,r)):(s=ml(t,"yAxis",n,r),a=pl(t,"yAxis",n,r)),ad(s,a)};function SMe(t,e,n,r,i){var s=r.length;if(!(s<1)){var a=ms(t,n,0,!0),o,c=[];if(Hn(r[0].barSize)){var u=!1,d=n/s,f=r.reduce((b,E)=>b+(E.barSize||0),0);f+=(s-1)*a,f>=n&&(f-=(s-1)*a,a=0),f>=n&&d>0&&(u=!0,d*=.9,f=s*d);var g=(n-f)/2>>0,m={offset:g-a,size:0};o=r.reduce((b,E)=>{var S,A={stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:m.offset+m.size+a,size:u?d:(S=E.barSize)!==null&&S!==void 0?S:0}},T=[...b,A];return m=T[T.length-1].position,T},c)}else{var x=ms(e,n,0,!0);n-2*x-(s-1)*a<=0&&(a=0);var y=(n-2*x-(s-1)*a)/s;y>1&&(y>>=0);var v=Hn(i)?Math.min(y,i):y;o=r.reduce((b,E,S)=>[...b,{stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:x+(y+a)*S+(y-v)/2,size:v}}],c)}return o}}var EMe=(t,e,n,r,i,s,a)=>{var o=dr(a)?e:a,c=SMe(n,r,i!==s?i:s,t,o);return i!==s&&c!=null&&(c=c.map(u=>Ry(Ry({},u),{},{position:Ry(Ry({},u.position),{},{offset:u.position.offset-i/2})}))),c},MMe=Ge([_Me,fK,Gbe,pK,wMe,ZX,mMe],EMe),AMe=(t,e,n,r)=>ml(t,"xAxis",e,r),TMe=(t,e,n,r)=>ml(t,"yAxis",n,r),CMe=(t,e,n,r)=>pl(t,"xAxis",e,r),NMe=(t,e,n,r)=>pl(t,"yAxis",n,r),kMe=Ge([MMe,Gb],(t,e)=>{if(!(t==null||e==null)){var n=t.find(r=>r.stackId===e.stackId&&e.dataKey!=null&&r.dataKeys.includes(e.dataKey));if(n!=null)return n.position}}),PMe=(t,e)=>{var n=bE(e);if(!(!t||n==null||e==null)){var{stackId:r}=e;if(r!=null){var i=t[r];if(i){var{stackedData:s}=i;if(s)return s.find(a=>a.key===n)}}}},RMe=Ge([bMe,Gb],PMe),DMe=Ge([bi,hD,AMe,TMe,CMe,NMe,kMe,xn,Pb,ZX,RMe,Gb,gMe],(t,e,n,r,i,s,a,o,c,u,d,f,g)=>{var{chartData:m,dataStartIndex:x,dataEndIndex:y}=c;if(!(f==null||a==null||e==null||o!=="horizontal"&&o!=="vertical"||n==null||r==null||i==null||s==null||u==null)){var{data:v}=f,b;if(v!=null&&v.length>0?b=v:b=m?.slice(x,y+1),b!=null)return aMe({layout:o,barSettings:f,pos:a,parentViewBox:e,bandSize:u,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,stackedData:d,displayedData:b,offset:t,cells:g,dataStartIndex:x})}}),QX=t=>{var{chartData:e}=t,n=rr(),r=vi();return M.useEffect(()=>r?()=>{}:(n(c6(e)),()=>{n(c6(void 0))}),[e,n,r]),null},r8={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},JX=Js({name:"brush",initialState:r8,reducers:{setBrushSettings(t,e){return e.payload==null?r8:e.payload}}}),{setBrushSettings:Y7e}=JX.actions,OMe=JX.reducer;function i8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Dy(t){for(var e=1;e{var{x:n,y:r}=t,{x:i,y:s}=e;return{x:Math.min(n,i),y:Math.min(r,s),width:Math.abs(i-n),height:Math.abs(s-r)}},UMe=t=>{var{x1:e,y1:n,x2:r,y2:i}=t;return IMe({x:e,y:n},{x:r,y:i})};class LE{static create(e){return new LE(e)}constructor(e){this.scale=e}get domain(){return this.scale.domain}get range(){return this.scale.range}get rangeMin(){return this.range()[0]}get rangeMax(){return this.range()[1]}get bandwidth(){return this.scale.bandwidth}apply(e){var{bandAware:n,position:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e!==void 0){if(r)switch(r){case"start":return this.scale(e);case"middle":{var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(e)+s}default:return this.scale(e)}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+a}return this.scale(e)}}isInRange(e){var n=this.range(),r=n[0],i=n[n.length-1];return r<=i?e>=r&&e<=i:e>=i&&e<=r}}eY(LE,"EPS",1e-4);var FMe=t=>{var e=Object.keys(t).reduce((n,r)=>Dy(Dy({},n),{},{[r]:LE.create(t[r])}),{});return Dy(Dy({},e),{},{apply(n){var{bandAware:r,position:i}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.fromEntries(Object.entries(n).map(s=>{var[a,o]=s;return[a,e[a].apply(o,{bandAware:r,position:i})]}))},isInRange(n){return Object.keys(n).every(r=>e[r].isInRange(n[r]))}})};function zMe(t){return(t%180+180)%180}var BMe=function(e){var{width:n,height:r}=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=zMe(i),a=s*Math.PI/180,o=Math.atan(r/n),c=a>o&&a{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=Lo(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=Lo(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=Lo(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),{addDot:Z7e,removeDot:Q7e,addArea:J7e,removeArea:eWe,addLine:$Me,removeLine:VMe}=tY.actions,GMe=tY.reducer,nY=M.createContext(void 0),WMe=t=>{var{children:e}=t,[n]=M.useState("".concat(T0("recharts"),"-clip")),r=OE();if(r==null)return null;var{x:i,y:s,width:a,height:o}=r;return M.createElement(nY.Provider,{value:n},M.createElement("defs",null,M.createElement("clipPath",{id:n},M.createElement("rect",{x:i,y:s,height:o,width:a}))),e)},qMe=()=>M.useContext(nY);function s8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function a8(t){for(var e=1;e{var n;if(M.isValidElement(t))n=M.cloneElement(t,e);else if(typeof t=="function")n=t(e);else{if(!Hn(e.x1)||!Hn(e.y1)||!Hn(e.x2)||!Hn(e.y2))return null;n=M.createElement("line",vw({},e,{className:"recharts-reference-line-line"}))}return n},QMe=(t,e,n,r,i,s)=>{var{x:a,width:o}=s,c=i.y.apply(t,{position:n});if(Qs(c)||e==="discard"&&!i.y.isInRange(c))return null;var u=[{x:a+o,y:c},{x:a,y:c}];return r==="left"?u.reverse():u},JMe=(t,e,n,r,i,s)=>{var{y:a,height:o}=s,c=i.x.apply(t,{position:n});if(Qs(c)||e==="discard"&&!i.x.isInRange(c))return null;var u=[{x:c,y:a+o},{x:c,y:a}];return r==="top"?u.reverse():u},e2e=(t,e,n,r)=>{var i=t.map(s=>r.apply(s,{position:n}));return e==="discard"&&i.some(s=>!r.isInRange(s))?null:i},t2e=(t,e,n,r,i,s)=>{var{x:a,y:o,segment:c,ifOverflow:u}=s,d=co(a),f=co(o);return f?QMe(o,u,n,i,t,e):d?JMe(a,u,n,r,t,e):c!=null&&c.length===2?e2e(c,u,n,t):null};function n2e(t){var e=rr();return M.useEffect(()=>(e($Me(t)),()=>{e(VMe(t))})),null}function r2e(t){var{xAxisId:e,yAxisId:n,shape:r,className:i,ifOverflow:s}=t,a=vi(),o=qMe(),c=Ct(k=>Sl(k,e)),u=Ct(k=>El(k,n)),d=Ct(k=>ld(k,"xAxis",e,a)),f=Ct(k=>ld(k,"yAxis",n,a)),g=Mb();if(!o||!g||c==null||u==null||d==null||f==null)return null;var m=FMe({x:d,y:f}),x=t2e(m,g,t.position,c.orientation,u.orientation,t);if(!x)return null;var[{x:y,y:v},{x:b,y:E}]=x,S=s==="hidden"?"url(#".concat(o,")"):void 0,A=a8(a8({clipPath:S},ns(t)),{},{x1:y,y1:v,x2:b,y2:E}),T=UMe({x1:y,y1:v,x2:b,y2:E});return M.createElement(gs,{zIndex:t.zIndex},M.createElement(wr,{className:En("recharts-reference-line",i)},ZMe(r,A),M.createElement(PX,vw({},T,{lowerWidth:T.width,upperWidth:T.width}),M.createElement(DX,{label:t.label}),t.children)))}var i2e={ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle",zIndex:Rr.line};function jx(t){var e=Sr(t,i2e);return M.createElement(M.Fragment,null,M.createElement(n2e,{yAxisId:e.yAxisId,xAxisId:e.xAxisId,ifOverflow:e.ifOverflow,x:e.x,y:e.y,segment:e.segment}),M.createElement(r2e,e))}jx.displayName="ReferenceLine";function rY(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var s=n();return t*(e-t*s/2-r)>=0&&t*(e+t*s/2-i)<=0}function o2e(t,e){return rY(t,e+1)}function l2e(t,e,n,r,i){for(var s=(r||[]).slice(),{start:a,end:o}=e,c=0,u=1,d=a,f=function(){var x=r?.[c];if(x===void 0)return{v:rY(r,u)};var y=c,v,b=()=>(v===void 0&&(v=n(x,y)),v),E=x.coordinate,S=c===0||yw(t,E,b,d,o);S||(c=0,d=a,u+=1),S&&(d=E+t*(b()/2+i),c+=u)},g;u<=s.length;)if(g=f(),g)return g.v;return[]}function o8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ds(t){for(var e=1;e(x===void 0&&(x=n(m,g)),x);if(g===a-1){var v=t*(m.coordinate+t*y()/2-c);s[g]=m=ds(ds({},m),{},{tickCoord:v>0?m.coordinate-v*t:m.coordinate})}else s[g]=m=ds(ds({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var b=yw(t,m.tickCoord,y,o,c);b&&(c=m.tickCoord-t*(y()/2+i),s[g]=ds(ds({},m),{},{isShow:!0}))}},d=a-1;d>=0;d--)u(d);return s}function f2e(t,e,n,r,i,s){var a=(r||[]).slice(),o=a.length,{start:c,end:u}=e;if(s){var d=r[o-1],f=n(d,o-1),g=t*(d.coordinate+t*f/2-u);if(a[o-1]=d=ds(ds({},d),{},{tickCoord:g>0?d.coordinate-g*t:d.coordinate}),d.tickCoord!=null){var m=yw(t,d.tickCoord,()=>f,c,u);m&&(u=d.tickCoord-t*(f/2+i),a[o-1]=ds(ds({},d),{},{isShow:!0}))}}for(var x=s?o-1:o,y=function(E){var S=a[E],A,T=()=>(A===void 0&&(A=n(S,E)),A);if(E===0){var k=t*(S.coordinate-t*T()/2-c);a[E]=S=ds(ds({},S),{},{tickCoord:k<0?S.coordinate-k*t:S.coordinate})}else a[E]=S=ds(ds({},S),{},{tickCoord:S.coordinate});if(S.tickCoord!=null){var N=yw(t,S.tickCoord,T,c,u);N&&(c=S.tickCoord+t*(T()/2+i),a[E]=ds(ds({},S),{},{isShow:!0}))}},v=0;v{var T=typeof u=="function"?u(S.value,A):S.value;return x==="width"?s2e(qx(T,{fontSize:e,letterSpacing:n}),y,f):qx(T,{fontSize:e,letterSpacing:n})[x]},b=i.length>=2?Li(i[1].coordinate-i[0].coordinate):1,E=a2e(s,b,x);return c==="equidistantPreserveStart"?l2e(b,E,v,i,a):(c==="preserveStart"||c==="preserveStartEnd"?m=f2e(b,E,v,i,a,c==="preserveStartEnd"):m=h2e(b,E,v,i,a),m.filter(S=>S.isShow))}var p2e=t=>{var{ticks:e,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:s=0}=t,a=0;if(e){Array.from(e).forEach(d=>{if(d){var f=d.getBoundingClientRect();f.width>a&&(a=f.width)}});var o=n?n.getBoundingClientRect().width:0,c=i+s,u=a+c+o+(n?r:0);return Math.round(u)}return 0},m2e=["axisLine","width","height","className","hide","ticks","axisType"];function g2e(t,e){if(t==null)return{};var n,r,i=x2e(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:s,tickFormatter:a,unit:o,padding:c,tickTextProps:u,orientation:d,mirror:f,x:g,y:m,width:x,height:y,tickSize:v,tickMargin:b,fontSize:E,letterSpacing:S,getTicksConfig:A,events:T,axisType:k}=t,N=BO(Xr(Xr({},A),{},{ticks:n}),E,S),I=S2e(d,f),C=E2e(d,f),D=Ns(A),F=Gh(r),j={};typeof i=="object"&&(j=i);var q=Xr(Xr({},D),{},{fill:"none"},j),R=N.map(V=>Xr({entry:V},w2e(V,g,m,x,y,d,v,f,b))),W=R.map(V=>{var{entry:ee,line:Y}=V;return M.createElement(wr,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(ee.value,"-").concat(ee.coordinate,"-").concat(ee.tickCoord)},i&&M.createElement("line",Yh({},q,Y,{className:En("recharts-cartesian-axis-tick-line",Wh(i,"className"))})))}),K=R.map((V,ee)=>{var{entry:Y,tick:Q}=V,U=Xr(Xr(Xr(Xr({textAnchor:I,verticalAnchor:C},D),{},{stroke:"none",fill:s},F),Q),{},{index:ee,payload:Y,visibleTicksCount:N.length,tickFormatter:a,padding:c},u);return M.createElement(wr,Yh({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Y.value,"-").concat(Y.coordinate,"-").concat(Y.tickCoord)},yb(T,Y,ee)),r&&M.createElement(M2e,{option:r,tickProps:U,value:"".concat(typeof a=="function"?a(Y.value,ee):Y.value).concat(o||"")}))});return M.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(k,"-ticks")},K.length>0&&M.createElement(gs,{zIndex:Rr.label},M.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(k,"-tick-labels"),ref:e},K)),W.length>0&&M.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(k,"-tick-lines")},W))}),T2e=M.forwardRef((t,e)=>{var{axisLine:n,width:r,height:i,className:s,hide:a,ticks:o,axisType:c}=t,u=g2e(t,m2e),[d,f]=M.useState(""),[g,m]=M.useState(""),x=M.useRef(null);M.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var v;return p2e({ticks:x.current,label:(v=t.labelRef)===null||v===void 0?void 0:v.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var y=M.useCallback(v=>{if(v){var b=v.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=b;var E=b[0];if(E){var S=window.getComputedStyle(E),A=S.fontSize,T=S.letterSpacing;(A!==d||T!==g)&&(f(A),m(T))}}},[d,g]);return a||r!=null&&r<=0||i!=null&&i<=0?null:M.createElement(gs,{zIndex:t.zIndex},M.createElement(wr,{className:En("recharts-cartesian-axis",s)},M.createElement(_2e,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:Ns(t)}),M.createElement(A2e,{ref:y,axisType:c,events:u,fontSize:d,getTicksConfig:t,height:t.height,letterSpacing:g,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:o,unit:t.unit,width:t.width,x:t.x,y:t.y}),M.createElement(PX,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},M.createElement(DX,{label:t.label,labelRef:t.labelRef}),t.children)))}),HO=M.forwardRef((t,e)=>{var n=Sr(t,_c);return M.createElement(T2e,Yh({},n,{ref:e}))});HO.displayName="CartesianAxis";var C2e=["x1","y1","x2","y2","key"],N2e=["offset"],k2e=["xAxisId","yAxisId"],P2e=["xAxisId","yAxisId"];function c8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function fs(t){for(var e=1;e{var{fill:e}=t;if(!e||e==="none")return null;var{fillOpacity:n,x:r,y:i,width:s,height:a,ry:o}=t;return M.createElement("rect",{x:r,y:i,ry:o,width:s,height:a,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function iY(t){var{option:e,lineItemProps:n}=t,r;if(M.isValidElement(e))r=M.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,{x1:s,y1:a,x2:o,y2:c,key:u}=n,d=_w(n,C2e),f=(i=Ns(d))!==null&&i!==void 0?i:{},{offset:g}=f,m=_w(f,N2e);r=M.createElement("line",mh({},m,{x1:s,y1:a,x2:o,y2:c,fill:"none",key:u}))}return r}function I2e(t){var{x:e,width:n,horizontal:r=!0,horizontalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:a}=t,o=_w(t,k2e),c=i.map((u,d)=>{var f=fs(fs({},o),{},{x1:e,y1:u,x2:e+n,y2:u,key:"line-".concat(d),index:d});return M.createElement(iY,{key:"line-".concat(d),option:r,lineItemProps:f})});return M.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function U2e(t){var{y:e,height:n,vertical:r=!0,verticalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:a}=t,o=_w(t,P2e),c=i.map((u,d)=>{var f=fs(fs({},o),{},{x1:u,y1:e,x2:u,y2:e+n,key:"line-".concat(d),index:d});return M.createElement(iY,{option:r,lineItemProps:f,key:"line-".concat(d)})});return M.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function F2e(t){var{horizontalFill:e,fillOpacity:n,x:r,y:i,width:s,height:a,horizontalPoints:o,horizontal:c=!0}=t;if(!c||!e||!e.length||o==null)return null;var u=o.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==u[0]&&u.unshift(0);var d=u.map((f,g)=>{var m=!u[g+1],x=m?i+a-f:u[g+1]-f;if(x<=0)return null;var y=g%e.length;return M.createElement("rect",{key:"react-".concat(g),y:f,x:r,height:x,width:s,stroke:"none",fill:e[y],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return M.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function z2e(t){var{vertical:e=!0,verticalFill:n,fillOpacity:r,x:i,y:s,width:a,height:o,verticalPoints:c}=t;if(!e||!n||!n.length)return null;var u=c.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==u[0]&&u.unshift(0);var d=u.map((f,g)=>{var m=!u[g+1],x=m?i+a-f:u[g+1]-f;if(x<=0)return null;var y=g%n.length;return M.createElement("rect",{key:"react-".concat(g),x:f,y:s,width:x,height:o,stroke:"none",fill:n[y],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return M.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var B2e=(t,e)=>{var{xAxis:n,width:r,height:i,offset:s}=t;return BW(BO(fs(fs(fs({},_c),n),{},{ticks:HW(n),viewBox:{x:0,y:0,width:r,height:i}})),s.left,s.left+s.width,e)},H2e=(t,e)=>{var{yAxis:n,width:r,height:i,offset:s}=t;return BW(BO(fs(fs(fs({},_c),n),{},{ticks:HW(n),viewBox:{x:0,y:0,width:r,height:i}})),s.top,s.top+s.height,e)},$2e={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Rr.grid};function ww(t){var e=pD(),n=mD(),r=ZW(),i=fs(fs({},Sr(t,$2e)),{},{x:Pt(t.x)?t.x:r.left,y:Pt(t.y)?t.y:r.top,width:Pt(t.width)?t.width:r.width,height:Pt(t.height)?t.height:r.height}),{xAxisId:s,yAxisId:a,x:o,y:c,width:u,height:d,syncWithTicks:f,horizontalValues:g,verticalValues:m}=i,x=vi(),y=Ct(C=>ZB(C,"xAxis",s,x)),v=Ct(C=>ZB(C,"yAxis",a,x));if(!hl(u)||!hl(d)||!Pt(o)||!Pt(c))return null;var b=i.verticalCoordinatesGenerator||B2e,E=i.horizontalCoordinatesGenerator||H2e,{horizontalPoints:S,verticalPoints:A}=i;if((!S||!S.length)&&typeof E=="function"){var T=g&&g.length,k=E({yAxis:v?fs(fs({},v),{},{ticks:T?g:v.ticks}):void 0,width:e??u,height:n??d,offset:r},T?!0:f);G1(Array.isArray(k),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof k,"]")),Array.isArray(k)&&(S=k)}if((!A||!A.length)&&typeof b=="function"){var N=m&&m.length,I=b({xAxis:y?fs(fs({},y),{},{ticks:N?m:y.ticks}):void 0,width:e??u,height:n??d,offset:r},N?!0:f);G1(Array.isArray(I),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof I,"]")),Array.isArray(I)&&(A=I)}return M.createElement(gs,{zIndex:i.zIndex},M.createElement("g",{className:"recharts-cartesian-grid"},M.createElement(L2e,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),M.createElement(F2e,mh({},i,{horizontalPoints:S})),M.createElement(z2e,mh({},i,{verticalPoints:A})),M.createElement(I2e,mh({},i,{offset:r,horizontalPoints:S,xAxis:y,yAxis:v})),M.createElement(U2e,mh({},i,{offset:r,verticalPoints:A,xAxis:y,yAxis:v}))))}ww.displayName="CartesianGrid";var sY=(t,e,n,r)=>ml(t,"xAxis",e,r),aY=(t,e,n,r)=>pl(t,"xAxis",e,r),oY=(t,e,n,r)=>ml(t,"yAxis",n,r),lY=(t,e,n,r)=>pl(t,"yAxis",n,r),V2e=Ge([xn,sY,oY,aY,lY],(t,e,n,r,i)=>wl(t,"xAxis")?ad(e,r,!1):ad(n,i,!1)),G2e=(t,e,n,r,i)=>i;function W2e(t){return t.type==="line"}var q2e=Ge([jb,G2e],(t,e)=>t.filter(W2e).find(n=>n.id===e)),K2e=Ge([xn,sY,oY,aY,lY,q2e,V2e,Pb],(t,e,n,r,i,s,a,o)=>{var{chartData:c,dataStartIndex:u,dataEndIndex:d}=o;if(!(s==null||e==null||n==null||r==null||i==null||r.length===0||i.length===0||a==null||t!=="horizontal"&&t!=="vertical")){var{dataKey:f,data:g}=s,m;if(g!=null&&g.length>0?m=g:m=c?.slice(u,d+1),m!=null)return pAe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:f,bandSize:a,displayedData:m})}});function cY(t){var e=Gh(t),n=3,r=2;if(e!=null){var{r:i,strokeWidth:s}=e,a=Number(i),o=Number(s);return(Number.isNaN(a)||a<0)&&(a=n),(Number.isNaN(o)||o<0)&&(o=r),{r:a,strokeWidth:o}}return{r:n,strokeWidth:r}}var X2e=["id"],Y2e=["type","layout","connectNulls","needClip","shape"],Z2e=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function H0(){return H0=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:vd(n,e),payload:t}]},rAe=M.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:a,hide:o,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:vd(a,e),hide:o,type:u,color:r,unit:c}};return M.createElement(PE,{tooltipEntrySettings:d})}),uY=(t,e)=>"".concat(e,"px ").concat(t-e,"px");function iAe(t,e){for(var n=t.length%2!==0?[...t,0]:t,r=[],i=0;i{var r=n.reduce((f,g)=>f+g);if(!r)return uY(e,t);for(var i=Math.floor(t/r),s=t%r,a=e-t,o=[],c=0,u=0;cs){o=[...n.slice(0,c),s-u];break}var d=o.length%2===0?[0,a]:[a];return[...iAe(n,i),...o,...d].map(f=>"".concat(f,"px")).join(", ")};function aAe(t){var{clipPathId:e,points:n,props:r}=t,{dot:i,dataKey:s,needClip:a}=r,{id:o}=r,c=$O(r,X2e),u=Ns(c);return M.createElement(GX,{points:n,dot:i,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:s,baseProps:u,needClip:a,clipPathId:e})}function oAe(t){var{showLabels:e,children:n,points:r}=t,i=M.useMemo(()=>r?.map(s=>{var a,o,c={x:(a=s.x)!==null&&a!==void 0?a:0,y:(o=s.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return tl(tl({},c),{},{value:s.value,payload:s.payload,viewBox:c,parentViewBox:void 0,fill:void 0})}),[r]);return M.createElement(NO,{value:e?i:void 0},n)}function d8(t){var{clipPathId:e,pathRef:n,points:r,strokeDasharray:i,props:s}=t,{type:a,layout:o,connectNulls:c,needClip:u,shape:d}=s,f=$O(s,Y2e),g=tl(tl({},ns(f)),{},{fill:"none",className:"recharts-line-curve",clipPath:u?"url(#clipPath-".concat(e,")"):void 0,points:r,type:a,layout:o,connectNulls:c,strokeDasharray:i??s.strokeDasharray});return M.createElement(M.Fragment,null,r?.length>1&&M.createElement(OO,H0({shapeType:"curve",option:d},g,{pathRef:n})),M.createElement(aAe,{points:r,clipPathId:e,props:s}))}function lAe(t){try{return t&&t.getTotalLength&&t.getTotalLength()||0}catch{return 0}}function cAe(t){var{clipPathId:e,props:n,pathRef:r,previousPointsRef:i,longestAnimatedLengthRef:s}=t,{points:a,strokeDasharray:o,isAnimationActive:c,animationBegin:u,animationDuration:d,animationEasing:f,animateNewValues:g,width:m,height:x,onAnimationEnd:y,onAnimationStart:v}=n,b=i.current,E=Qm(a,"recharts-line-"),S=M.useRef(E),[A,T]=M.useState(!1),k=!A,N=M.useCallback(()=>{typeof y=="function"&&y(),T(!1)},[y]),I=M.useCallback(()=>{typeof v=="function"&&v(),T(!0)},[v]),C=lAe(r.current),D=M.useRef(0);S.current!==E&&(D.current=s.current,S.current=E);var F=D.current;return M.createElement(oAe,{points:a,showLabels:k},n.children,M.createElement(Zm,{animationId:E,begin:u,duration:d,isActive:c,easing:f,onAnimationEnd:N,onAnimationStart:I,key:E},j=>{var q=On(F,C+F,j),R=Math.min(q,C),W;if(c)if(o){var K="".concat(o).split(/[,\s]+/gim).map(Y=>parseFloat(Y));W=sAe(R,C,K)}else W=uY(C,R);else W=o==null?void 0:String(o);if(j>0&&C>0&&(i.current=a,s.current=Math.max(s.current,R)),b){var V=b.length/a.length,ee=j===1?a:a.map((Y,Q)=>{var U=Math.floor(Q*V);if(b[U]){var z=b[U];return tl(tl({},Y),{},{x:On(z.x,Y.x,j),y:On(z.y,Y.y,j)})}return g?tl(tl({},Y),{},{x:On(m*2,Y.x,j),y:On(x/2,Y.y,j)}):tl(tl({},Y),{},{x:Y.x,y:Y.y})});return i.current=ee,M.createElement(d8,{props:n,points:ee,clipPathId:e,pathRef:r,strokeDasharray:W})}return M.createElement(d8,{props:n,points:a,clipPathId:e,pathRef:r,strokeDasharray:W})}),M.createElement(CE,{label:n.label}))}function uAe(t){var{clipPathId:e,props:n}=t,r=M.useRef(null),i=M.useRef(0),s=M.useRef(null);return M.createElement(cAe,{props:n,clipPathId:e,previousPointsRef:r,longestAnimatedLengthRef:i,pathRef:s})}var dAe=(t,e)=>{var n,r;return{x:(n=t.x)!==null&&n!==void 0?n:void 0,y:(r=t.y)!==null&&r!==void 0?r:void 0,value:t.value,errorVal:Bn(t.payload,e)}};class hAe extends M.Component{render(){var{hide:e,dot:n,points:r,className:i,xAxisId:s,yAxisId:a,top:o,left:c,width:u,height:d,id:f,needClip:g,zIndex:m}=this.props;if(e)return null;var x=En("recharts-line",i),y=f,{r:v,strokeWidth:b}=cY(n),E=DO(n),S=v*2+b,A=g?"url(#clipPath-".concat(E?"":"dots-").concat(y,")"):void 0;return M.createElement(gs,{zIndex:m},M.createElement(wr,{className:x},g&&M.createElement("defs",null,M.createElement(zO,{clipPathId:y,xAxisId:s,yAxisId:a}),!E&&M.createElement("clipPath",{id:"clipPath-dots-".concat(y)},M.createElement("rect",{x:c-S/2,y:o-S/2,width:u+S,height:d+S}))),M.createElement(KX,{xAxisId:s,yAxisId:a,data:r,dataPointFormatter:dAe,errorBarOffset:0},M.createElement(uAe,{props:this.props,clipPathId:y}))),M.createElement(Ck,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:A}))}}var dY={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:Rr.line,type:"linear"};function fAe(t){var e=Sr(t,dY),{activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:a,connectNulls:o,dot:c,hide:u,isAnimationActive:d,label:f,legendType:g,xAxisId:m,yAxisId:x,id:y}=e,v=$O(e,Z2e),{needClip:b}=jE(m,x),E=OE(),S=hf(),A=vi(),T=Ct(D=>K2e(D,m,x,A,y));if(S!=="horizontal"&&S!=="vertical"||T==null||E==null)return null;var{height:k,width:N,x:I,y:C}=E;return M.createElement(hAe,H0({},v,{id:y,connectNulls:o,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:a,isAnimationActive:d,hide:u,label:f,legendType:g,xAxisId:m,yAxisId:x,points:T,layout:S,height:k,width:N,left:I,top:C,needClip:b}))}function pAe(t){var{layout:e,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,dataKey:a,bandSize:o,displayedData:c}=t;return c.map((u,d)=>{var f=Bn(u,a);if(e==="horizontal"){var g=V1({axis:n,ticks:i,bandSize:o,entry:u,index:d}),m=dr(f)?null:r.scale(f);return{x:g,y:m,value:f,payload:u}}var x=dr(f)?null:n.scale(f),y=V1({axis:r,ticks:s,bandSize:o,entry:u,index:d});return x==null||y==null?null:{x,y,value:f,payload:u}}).filter(Boolean)}function mAe(t){var e=Sr(t,dY),n=vi();return M.createElement(RE,{id:e.id,type:"line"},r=>M.createElement(M.Fragment,null,M.createElement(UO,{legendPayload:nAe(e)}),M.createElement(rAe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),M.createElement(FO,{type:"line",id:r,data:e.data,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,hide:e.hide,isPanorama:n}),M.createElement(fAe,H0({},e,{id:r}))))}var hY=M.memo(mAe,Vb);hY.displayName="Line";var fY=(t,e,n,r)=>ml(t,"xAxis",e,r),pY=(t,e,n,r)=>pl(t,"xAxis",e,r),mY=(t,e,n,r)=>ml(t,"yAxis",n,r),gY=(t,e,n,r)=>pl(t,"yAxis",n,r),gAe=Ge([xn,fY,mY,pY,gY],(t,e,n,r,i)=>wl(t,"xAxis")?ad(e,r,!1):ad(n,i,!1)),xAe=(t,e,n,r,i)=>i,xY=Ge([jb,xAe],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),bAe=(t,e,n,r,i)=>{var s,a=xY(t,e,n,r,i);if(a!=null){var o=xn(t),c=wl(o,"xAxis"),u;if(c?u=z0(t,"yAxis",n,r):u=z0(t,"xAxis",e,r),u!=null){var{stackId:d}=a,f=bE(a);if(!(d==null||f==null)){var g=(s=u[d])===null||s===void 0?void 0:s.stackedData;return g?.find(m=>m.key===f)}}}},vAe=Ge([xn,fY,mY,pY,gY,bAe,Pb,gAe,xY,qbe],(t,e,n,r,i,s,a,o,c,u)=>{var{chartData:d,dataStartIndex:f,dataEndIndex:g}=a;if(!(c==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null)){var{data:m}=c,x;if(m&&m.length>0?x=m:x=d?.slice(f,g+1),x!=null)return UAe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:c,stackedData:s,displayedData:x,chartBaseValue:u,bandSize:o})}}),yAe=["id"],_Ae=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Ch(){return Ch=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,fill:i,legendType:s,hide:a}=t;return[{inactive:a,dataKey:e,type:s,color:Sw(r,i),value:vd(n,e),payload:t}]},TAe=M.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:a,hide:o,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:vd(a,e),hide:o,type:u,color:Sw(r,s),unit:c}};return M.createElement(PE,{tooltipEntrySettings:d})});function CAe(t){var{clipPathId:e,points:n,props:r}=t,{needClip:i,dot:s,dataKey:a}=r,o=Ns(r);return M.createElement(GX,{points:n,dot:s,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:a,baseProps:o,needClip:i,clipPathId:e})}function NAe(t){var{showLabels:e,children:n,points:r}=t,i=r.map(s=>{var a,o,c={x:(a=s.x)!==null&&a!==void 0?a:0,y:(o=s.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return qp(qp({},c),{},{value:s.value,payload:s.payload,parentViewBox:void 0,viewBox:c,fill:void 0})});return M.createElement(NO,{value:e?i:void 0},n)}function f8(t){var{points:e,baseLine:n,needClip:r,clipPathId:i,props:s}=t,{layout:a,type:o,stroke:c,connectNulls:u,isRange:d}=s,{id:f}=s,g=bY(s,yAe),m=Ns(g),x=ns(g);return M.createElement(M.Fragment,null,e?.length>1&&M.createElement(wr,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},M.createElement(tm,Ch({},x,{id:f,points:e,connectNulls:u,type:o,baseLine:n,layout:a,stroke:"none",className:"recharts-area-area"})),c!=="none"&&M.createElement(tm,Ch({},m,{className:"recharts-area-curve",layout:a,type:o,connectNulls:u,fill:"none",points:e})),c!=="none"&&d&&M.createElement(tm,Ch({},m,{className:"recharts-area-curve",layout:a,type:o,connectNulls:u,fill:"none",points:n}))),M.createElement(CAe,{points:e,props:g,clipPathId:i}))}function kAe(t){var{alpha:e,baseLine:n,points:r,strokeWidth:i}=t,s=r[0].y,a=r[r.length-1].y;if(!Hn(s)||!Hn(a))return null;var o=e*Math.abs(s-a),c=Math.max(...r.map(u=>u.x||0));return Pt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.x||0),c)),Pt(c)?M.createElement("rect",{x:0,y:su.y||0));return Pt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.y||0),c)),Pt(c)?M.createElement("rect",{x:s({points:a,baseLine:o}),[a,o]),y=Qm(x,"recharts-area-"),v=dme(),[b,E]=M.useState(!1),S=!b,A=M.useCallback(()=>{typeof m=="function"&&m(),E(!1)},[m]),T=M.useCallback(()=>{typeof g=="function"&&g(),E(!0)},[g]);if(v==null)return null;var k=i.current,N=s.current;return M.createElement(NAe,{showLabels:S,points:a},r.children,M.createElement(Zm,{animationId:y,begin:u,duration:d,isActive:c,easing:f,onAnimationEnd:A,onAnimationStart:T,key:y},I=>{if(k){var C=k.length/a.length,D=I===1?a:a.map((j,q)=>{var R=Math.floor(q*C);if(k[R]){var W=k[R];return qp(qp({},j),{},{x:On(W.x,j.x,I),y:On(W.y,j.y,I)})}return j}),F;return Pt(o)?F=On(N,o,I):dr(o)||Qs(o)?F=On(N,0,I):F=o.map((j,q)=>{var R=Math.floor(q*C);if(Array.isArray(N)&&N[R]){var W=N[R];return qp(qp({},j),{},{x:On(W.x,j.x,I),y:On(W.y,j.y,I)})}return j}),I>0&&(i.current=D,s.current=F),M.createElement(f8,{points:D,baseLine:F,needClip:e,clipPathId:n,props:r})}return I>0&&(i.current=a,s.current=o),M.createElement(wr,null,c&&M.createElement("defs",null,M.createElement("clipPath",{id:"animationClipPath-".concat(n)},M.createElement(RAe,{alpha:I,points:a,baseLine:o,layout:v,strokeWidth:r.strokeWidth}))),M.createElement(wr,{clipPath:"url(#animationClipPath-".concat(n,")")},M.createElement(f8,{points:a,baseLine:o,needClip:e,clipPathId:n,props:r})))}),M.createElement(CE,{label:r.label}))}function OAe(t){var{needClip:e,clipPathId:n,props:r}=t,i=M.useRef(null),s=M.useRef();return M.createElement(DAe,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:s})}class jAe extends M.PureComponent{render(){var{hide:e,dot:n,points:r,className:i,top:s,left:a,needClip:o,xAxisId:c,yAxisId:u,width:d,height:f,id:g,baseLine:m,zIndex:x}=this.props;if(e)return null;var y=En("recharts-area",i),v=g,{r:b,strokeWidth:E}=cY(n),S=DO(n),A=b*2+E,T=o?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return M.createElement(gs,{zIndex:x},M.createElement(wr,{className:y},o&&M.createElement("defs",null,M.createElement(zO,{clipPathId:v,xAxisId:c,yAxisId:u}),!S&&M.createElement("clipPath",{id:"clipPath-dots-".concat(v)},M.createElement("rect",{x:a-A/2,y:s-A/2,width:d+A,height:f+A}))),M.createElement(OAe,{needClip:o,clipPathId:v,props:this.props})),M.createElement(Ck,{points:r,mainColor:Sw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(m)&&M.createElement(Ck,{points:m,mainColor:Sw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}}var vY={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:Rr.area};function LAe(t){var e,n=Sr(t,vY),{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:a,connectNulls:o,dot:c,fill:u,fillOpacity:d,hide:f,isAnimationActive:g,legendType:m,stroke:x,xAxisId:y,yAxisId:v}=n,b=bY(n,_Ae),E=hf(),S=pX(),{needClip:A}=jE(y,v),T=vi(),{points:k,isRange:N,baseLine:I}=(e=Ct(R=>vAe(R,y,v,T,t.id)))!==null&&e!==void 0?e:{},C=OE();if(E!=="horizontal"&&E!=="vertical"||C==null||S!=="AreaChart"&&S!=="ComposedChart")return null;var{height:D,width:F,x:j,y:q}=C;return!k||!k.length?null:M.createElement(jAe,Ch({},b,{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:a,baseLine:I,connectNulls:o,dot:c,fill:u,fillOpacity:d,height:D,hide:f,layout:E,isAnimationActive:g==="auto"?!Ym.isSsr:g,isRange:N,legendType:m,needClip:A,points:k,stroke:x,width:F,left:j,top:q,xAxisId:y,yAxisId:v}))}var IAe=(t,e,n,r,i)=>{var s=n??e;if(Pt(s))return s;var a=t==="horizontal"?i:r,o=a.scale.domain();if(a.type==="number"){var c=Math.max(o[0],o[1]),u=Math.min(o[0],o[1]);return s==="dataMin"?u:s==="dataMax"||c<0?c:Math.max(Math.min(o[0],o[1]),0)}return s==="dataMin"?o[0]:s==="dataMax"?o[1]:o[0]};function UAe(t){var{areaSettings:{connectNulls:e,baseValue:n,dataKey:r},stackedData:i,layout:s,chartBaseValue:a,xAxis:o,yAxis:c,displayedData:u,dataStartIndex:d,xAxisTicks:f,yAxisTicks:g,bandSize:m}=t,x=i&&i.length,y=IAe(s,a,n,o,c),v=s==="horizontal",b=!1,E=u.map((A,T)=>{var k;x?k=i[d+T]:(k=Bn(A,r),Array.isArray(k)?b=!0:k=[y,k]);var N=k[1]==null||x&&!e&&Bn(A,r)==null;return v?{x:V1({axis:o,ticks:f,bandSize:m,entry:A,index:T}),y:N?null:c.scale(k[1]),value:k,payload:A}:{x:N?null:o.scale(k[1]),y:V1({axis:c,ticks:g,bandSize:m,entry:A,index:T}),value:k,payload:A}}),S;return x||b?S=E.map(A=>{var T=Array.isArray(A.value)?A.value[0]:null;return v?{x:A.x,y:T!=null&&A.y!=null?c.scale(T):null,payload:A.payload}:{x:T!=null?o.scale(T):null,y:A.y,payload:A.payload}}):S=v?c.scale(y):o.scale(y),{points:E,baseLine:S,isRange:b}}function FAe(t){var e=Sr(t,vY),n=vi();return M.createElement(RE,{id:e.id,type:"area"},r=>M.createElement(M.Fragment,null,M.createElement(UO,{legendPayload:AAe(e)}),M.createElement(TAe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),M.createElement(FO,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:$W(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),M.createElement(LAe,Ch({},e,{id:r}))))}var yY=M.memo(FAe,Vb);yY.displayName="Area";var zAe=["domain","range"],BAe=["domain","range"];function p8(t,e){if(t==null)return{};var n,r,i=HAe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{n.current===null?e(zSe(t)):n.current!==t&&e(BSe({prev:n.current,next:t})),n.current=t},[t,e]),M.useLayoutEffect(()=>()=>{n.current&&(e(HSe(n.current)),n.current=null)},[e]),null}var qAe=t=>{var{xAxisId:e,className:n}=t,r=Ct(hD),i=vi(),s="xAxis",a=Ct(v=>ld(v,s,e,i)),o=Ct(v=>WK(v,s,e,i)),c=Ct(v=>HK(v,e)),u=Ct(v=>Vve(v,e)),d=Ct(v=>SK(v,e));if(c==null||u==null||d==null)return null;var{dangerouslySetInnerHTML:f,ticks:g}=t,m=g8(t,$Ae),{id:x}=d,y=g8(d,VAe);return M.createElement(HO,kk({},m,y,{scale:a,x:u.x,y:u.y,width:c.width,height:c.height,className:En("recharts-".concat(s," ").concat(s),n),viewBox:r,ticks:o,axisType:s}))},KAe={allowDataOverflow:Pi.allowDataOverflow,allowDecimals:Pi.allowDecimals,allowDuplicatedCategory:Pi.allowDuplicatedCategory,angle:Pi.angle,axisLine:_c.axisLine,height:Pi.height,hide:!1,includeHidden:Pi.includeHidden,interval:Pi.interval,minTickGap:Pi.minTickGap,mirror:Pi.mirror,orientation:Pi.orientation,padding:Pi.padding,reversed:Pi.reversed,scale:Pi.scale,tick:Pi.tick,tickCount:Pi.tickCount,tickLine:_c.tickLine,tickSize:_c.tickSize,type:Pi.type,xAxisId:0},XAe=t=>{var e=Sr(t,KAe);return M.createElement(M.Fragment,null,M.createElement(WAe,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit}),M.createElement(qAe,e))},Ew=M.memo(XAe,_Y);Ew.displayName="XAxis";var YAe=["dangerouslySetInnerHTML","ticks"],ZAe=["id"];function Pk(){return Pk=Object.assign?Object.assign.bind():function(t){for(var e=1;e{n.current===null?e($Se(t)):n.current!==t&&e(VSe({prev:n.current,next:t})),n.current=t},[t,e]),M.useLayoutEffect(()=>()=>{n.current&&(e(GSe(n.current)),n.current=null)},[e]),null}var eTe=t=>{var{yAxisId:e,className:n,width:r,label:i}=t,s=M.useRef(null),a=M.useRef(null),o=Ct(hD),c=vi(),u=rr(),d="yAxis",f=Ct(T=>ld(T,d,e,c)),g=Ct(T=>$K(T,e)),m=Ct(T=>Wve(T,e)),x=Ct(T=>WK(T,d,e,c)),y=Ct(T=>EK(T,e));if(M.useLayoutEffect(()=>{if(!(r!=="auto"||!g||CO(i)||M.isValidElement(i)||y==null)){var T=s.current;if(T){var k=T.getCalculatedWidth();Math.round(g.width)!==Math.round(k)&&u(WSe({id:e,width:k}))}}},[x,g,u,i,e,r,y]),g==null||m==null||y==null)return null;var{dangerouslySetInnerHTML:v,ticks:b}=t,E=x8(t,YAe),{id:S}=y,A=x8(y,ZAe);return M.createElement(HO,Pk({},E,A,{ref:s,labelRef:a,scale:f,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:g.width,height:g.height,className:En("recharts-".concat(d," ").concat(d),n),viewBox:o,ticks:x,axisType:d}))},tTe={allowDataOverflow:Ri.allowDataOverflow,allowDecimals:Ri.allowDecimals,allowDuplicatedCategory:Ri.allowDuplicatedCategory,angle:Ri.angle,axisLine:_c.axisLine,hide:!1,includeHidden:Ri.includeHidden,interval:Ri.interval,minTickGap:Ri.minTickGap,mirror:Ri.mirror,orientation:Ri.orientation,padding:Ri.padding,reversed:Ri.reversed,scale:Ri.scale,tick:Ri.tick,tickCount:Ri.tickCount,tickLine:_c.tickLine,tickSize:_c.tickSize,type:Ri.type,width:Ri.width,yAxisId:0},nTe=t=>{var e=Sr(t,tTe);return M.createElement(M.Fragment,null,M.createElement(JAe,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter}),M.createElement(eTe,e))},Mw=M.memo(nTe,_Y);Mw.displayName="YAxis";var rTe=(t,e)=>e,VO=Ge([rTe,xn,_K,_i,lX,zc,o_e,bi],p_e),GO=t=>{var e=t.currentTarget.getBoundingClientRect(),n=e.width/t.currentTarget.offsetWidth,r=e.height/t.currentTarget.offsetHeight;return{chartX:Math.round((t.clientX-e.left)/n),chartY:Math.round((t.clientY-e.top)/r)}},wY=uo("mouseClick"),SY=Sb();SY.startListening({actionCreator:wY,effect:(t,e)=>{var n=t.payload,r=VO(e.getState(),GO(n));r?.activeIndex!=null&&e.dispatch(aye({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Rk=uo("mouseMove"),EY=Sb(),Oy=null;EY.startListening({actionCreator:Rk,effect:(t,e)=>{var n=t.payload;Oy!==null&&cancelAnimationFrame(Oy);var r=GO(n);Oy=requestAnimationFrame(()=>{var i=e.getState(),s=xO(i,i.tooltip.settings.shared);if(s==="axis"){var a=VO(i,r);a?.activeIndex!=null?e.dispatch(eX({activeIndex:a.activeIndex,activeDataKey:void 0,activeCoordinate:a.activeCoordinate})):e.dispatch(JK())}Oy=null})}});var b8={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},MY=Js({name:"rootProps",initialState:b8,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:b8.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),iTe=MY.reducer,{updateOptions:sTe}=MY.actions,AY=Js({name:"polarOptions",initialState:null,reducers:{updatePolarOptions:(t,e)=>e.payload}}),{updatePolarOptions:aTe}=AY.actions,oTe=AY.reducer,TY=uo("keyDown"),CY=uo("focus"),WO=Sb();WO.startListening({actionCreator:TY,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,s=t.payload;if(!(s!=="ArrowRight"&&s!=="ArrowLeft"&&s!=="Enter")){var a=bO(i,ag(n),Ib(n),Bb(n)),o=a==null?-1:Number(a);if(!(!Number.isFinite(o)||o<0)){var c=zc(n);if(s==="Enter"){var u=hw(n,"axis","hover",String(i.index));e.dispatch(wk({active:!i.active,activeIndex:i.index,activeDataKey:i.dataKey,activeCoordinate:u}));return}var d=Yve(n),f=d==="left-to-right"?1:-1,g=s==="ArrowRight"?1:-1,m=o+g*f;if(!(c==null||m>=c.length||m<0)){var x=hw(n,"axis","hover",String(m));e.dispatch(wk({active:!0,activeIndex:m.toString(),activeDataKey:void 0,activeCoordinate:x}))}}}}}});WO.startListening({actionCreator:CY,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var s="0",a=hw(n,"axis","hover",String(s));e.dispatch(wk({activeDataKey:void 0,active:!0,activeIndex:s,activeCoordinate:a}))}}}});var $a=uo("externalEvent"),NY=Sb(),dC=new Map;NY.startListening({actionCreator:$a,effect:(t,e)=>{var{handler:n,reactEvent:r}=t.payload;if(n!=null){r.persist();var i=r.type,s=dC.get(i);s!==void 0&&cancelAnimationFrame(s);var a=requestAnimationFrame(()=>{try{var o=e.getState(),c={activeCoordinate:Wye(o),activeDataKey:SO(o),activeIndex:cd(o),activeLabel:dX(o),activeTooltipIndex:cd(o),isTooltipActive:qye(o)};n(c,r)}finally{dC.delete(i)}});dC.set(i,a)}}});var lTe=Ge([sg],t=>t.tooltipItemPayloads),cTe=Ge([lTe,Fb,(t,e,n)=>e,(t,e,n)=>n],(t,e,n,r)=>{var i=t.find(o=>o.settings.dataKey===r);if(i!=null){var{positions:s}=i;if(s!=null){var a=e(s,n);return a}}}),kY=uo("touchMove"),PY=Sb();PY.startListening({actionCreator:kY,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){var r=e.getState(),i=xO(r,r.tooltip.settings.shared);if(i==="axis"){var s=VO(r,GO({clientX:n.touches[0].clientX,clientY:n.touches[0].clientY,currentTarget:n.currentTarget}));s?.activeIndex!=null&&e.dispatch(eX({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate}))}else if(i==="item"){var a,o=n.touches[0];if(document.elementFromPoint==null)return;var c=document.elementFromPoint(o.clientX,o.clientY);if(!c||!c.getAttribute)return;var u=c.getAttribute(GW),d=(a=c.getAttribute(WW))!==null&&a!==void 0?a:void 0,f=cTe(e.getState(),u,d);e.dispatch(QK({activeDataKey:d,activeIndex:u,activeCoordinate:f}))}}}});var uTe=hW({brush:OMe,cartesianAxis:qSe,chartData:G_e,errorBars:hEe,graphicalItems:eSe,layout:bpe,legend:Ame,options:z_e,polarAxis:mwe,polarOptions:oTe,referenceElements:GMe,rootProps:iTe,tooltip:oye,zIndex:C_e}),dTe=function(e){return $fe({reducer:uTe,preloadedState:e,middleware:n=>{var r;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((r="es6")!==null&&r!==void 0?r:"")}).concat([SY.middleware,EY.middleware,WO.middleware,NY.middleware,PY.middleware])},enhancers:n=>{var r=n;return typeof n=="function"&&(r=n()),r.concat(TW({type:"raf"}))},devTools:Ym.devToolsEnabled})};function RY(t){var{preloadedState:e,children:n,reduxStoreName:r}=t,i=vi(),s=M.useRef(null);if(i)return n;s.current==null&&(s.current=dTe(e));var a=rD;return M.createElement(LEe,{context:a,store:s.current},n)}function hTe(t){var{layout:e,margin:n}=t,r=rr(),i=vi();return M.useEffect(()=>{i||(r(mpe(e)),r(ppe(n)))},[r,i,e,n]),null}var DY=M.memo(hTe,Vb);function OY(t){var e=rr();return M.useEffect(()=>{e(sTe(t))},[e,t]),null}function v8(t){var{zIndex:e,isPanorama:n}=t,r=n?"recharts-zindex-panorama-":"recharts-zindex-",i=HX("".concat(r).concat(e)),s=rr();return M.useLayoutEffect(()=>(s(A_e({zIndex:e,elementId:i,isPanorama:n})),()=>{s(T_e({zIndex:e,isPanorama:n}))}),[s,e,i,n]),M.createElement("g",{tabIndex:-1,id:i})}function y8(t){var{children:e,isPanorama:n}=t,r=Ct(g_e);if(!r||r.length===0)return e;var i=r.filter(a=>a<0),s=r.filter(a=>a>0);return M.createElement(M.Fragment,null,i.map(a=>M.createElement(v8,{key:a,zIndex:a,isPanorama:n})),e,s.map(a=>M.createElement(v8,{key:a,zIndex:a,isPanorama:n})))}var fTe=["children"];function pTe(t,e){if(t==null)return{};var n,r,i=mTe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=pD(),r=mD(),i=lq();if(!hl(n)||!hl(r))return null;var{children:s,otherAttributes:a,title:o,desc:c}=t,u,d;return a!=null&&(typeof a.tabIndex=="number"?u=a.tabIndex:u=i?0:void 0,typeof a.role=="string"?d=a.role:d=i?"application":void 0),M.createElement(qR,Aw({},a,{title:o,desc:c,role:d,tabIndex:u,width:n,height:r,style:gTe,ref:e}),s)}),bTe=t=>{var{children:e}=t,n=Ct(sE);if(!n)return null;var{width:r,height:i,y:s,x:a}=n;return M.createElement(qR,{width:r,height:i,x:a,y:s},e)},_8=M.forwardRef((t,e)=>{var{children:n}=t,r=pTe(t,fTe),i=vi();return i?M.createElement(bTe,null,M.createElement(y8,{isPanorama:!0},n)):M.createElement(xTe,Aw({ref:e},r),M.createElement(y8,{isPanorama:!1},n))});function vTe(){var t=rr(),[e,n]=M.useState(null),r=Ct(jpe);return M.useEffect(()=>{if(e!=null){var i=e.getBoundingClientRect(),s=i.width/e.offsetWidth;Hn(s)&&s!==r&&t(xpe(s))}},[e,t,r]),n}function w8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function yTe(t){for(var e=1;e(e1e(),null);function Tw(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var MTe=M.forwardRef((t,e)=>{var n,r,i=M.useRef(null),[s,a]=M.useState({containerWidth:Tw((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:Tw((r=t.style)===null||r===void 0?void 0:r.height)}),o=M.useCallback((u,d)=>{a(f=>{var g=Math.round(u),m=Math.round(d);return f.containerWidth===g&&f.containerHeight===m?f:{containerWidth:g,containerHeight:m}})},[]),c=M.useCallback(u=>{if(typeof e=="function"&&e(u),u!=null&&typeof ResizeObserver<"u"){var{width:d,height:f}=u.getBoundingClientRect();o(d,f);var g=x=>{var{width:y,height:v}=x[0].contentRect;o(y,v)},m=new ResizeObserver(g);m.observe(u),i.current=m}},[e,o]);return M.useEffect(()=>()=>{var u=i.current;u?.disconnect()},[o]),M.createElement(M.Fragment,null,M.createElement(aE,{width:s.containerWidth,height:s.containerHeight}),M.createElement("div",Zh({ref:c},t)))}),ATe=M.forwardRef((t,e)=>{var{width:n,height:r}=t,[i,s]=M.useState({containerWidth:Tw(n),containerHeight:Tw(r)}),a=M.useCallback((c,u)=>{s(d=>{var f=Math.round(c),g=Math.round(u);return d.containerWidth===f&&d.containerHeight===g?d:{containerWidth:f,containerHeight:g}})},[]),o=M.useCallback(c=>{if(typeof e=="function"&&e(c),c!=null){var{width:u,height:d}=c.getBoundingClientRect();a(u,d)}},[e,a]);return M.createElement(M.Fragment,null,M.createElement(aE,{width:i.containerWidth,height:i.containerHeight}),M.createElement("div",Zh({ref:o},t)))}),TTe=M.forwardRef((t,e)=>{var{width:n,height:r}=t;return M.createElement(M.Fragment,null,M.createElement(aE,{width:n,height:r}),M.createElement("div",Zh({ref:e},t)))}),CTe=M.forwardRef((t,e)=>{var{width:n,height:r}=t;return Cc(n)||Cc(r)?M.createElement(ATe,Zh({},t,{ref:e})):M.createElement(TTe,Zh({},t,{ref:e}))});function NTe(t){return t===!0?MTe:CTe}var kTe=M.forwardRef((t,e)=>{var{children:n,className:r,height:i,onClick:s,onContextMenu:a,onDoubleClick:o,onMouseDown:c,onMouseEnter:u,onMouseLeave:d,onMouseMove:f,onMouseUp:g,onTouchEnd:m,onTouchMove:x,onTouchStart:y,style:v,width:b,responsive:E,dispatchTouchEvents:S=!0}=t,A=M.useRef(null),T=rr(),[k,N]=M.useState(null),[I,C]=M.useState(null),D=vTe(),F=fD(),j=F?.width>0?F.width:b,q=F?.height>0?F.height:i,R=M.useCallback(re=>{D(re),typeof e=="function"&&e(re),N(re),C(re),re!=null&&(A.current=re)},[D,e,N,C]),W=M.useCallback(re=>{T(wY(re)),T($a({handler:s,reactEvent:re}))},[T,s]),K=M.useCallback(re=>{T(Rk(re)),T($a({handler:u,reactEvent:re}))},[T,u]),V=M.useCallback(re=>{T(JK()),T($a({handler:d,reactEvent:re}))},[T,d]),ee=M.useCallback(re=>{T(Rk(re)),T($a({handler:f,reactEvent:re}))},[T,f]),Y=M.useCallback(()=>{T(CY())},[T]),Q=M.useCallback(re=>{T(TY(re.key))},[T]),U=M.useCallback(re=>{T($a({handler:a,reactEvent:re}))},[T,a]),z=M.useCallback(re=>{T($a({handler:o,reactEvent:re}))},[T,o]),J=M.useCallback(re=>{T($a({handler:c,reactEvent:re}))},[T,c]),se=M.useCallback(re=>{T($a({handler:g,reactEvent:re}))},[T,g]),me=M.useCallback(re=>{T($a({handler:y,reactEvent:re}))},[T,y]),fe=M.useCallback(re=>{S&&T(kY(re)),T($a({handler:x,reactEvent:re}))},[T,S,x]),xe=M.useCallback(re=>{T($a({handler:m,reactEvent:re}))},[T,m]),Ee=NTe(E);return M.createElement(vX.Provider,{value:k},M.createElement(T7.Provider,{value:I},M.createElement(Ee,{width:j??v?.width,height:q??v?.height,className:En("recharts-wrapper",r),style:yTe({position:"relative",cursor:"default",width:j,height:q},v),onClick:W,onContextMenu:U,onDoubleClick:z,onFocus:Y,onKeyDown:Q,onMouseDown:J,onMouseEnter:K,onMouseLeave:V,onMouseMove:ee,onMouseUp:se,onTouchEnd:xe,onTouchMove:fe,onTouchStart:me,ref:R},M.createElement(ETe,null),n)))}),PTe=["width","height","responsive","children","className","style","compact","title","desc"];function RTe(t,e){if(t==null)return{};var n,r,i=DTe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{width:n,height:r,responsive:i,children:s,className:a,style:o,compact:c,title:u,desc:d}=t,f=RTe(t,PTe),g=Ns(f);return c?M.createElement(M.Fragment,null,M.createElement(aE,{width:n,height:r}),M.createElement(_8,{otherAttributes:g,title:u,desc:d},s)):M.createElement(kTe,{className:a,style:o,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},M.createElement(_8,{otherAttributes:g,title:u,desc:d,ref:e},M.createElement(WMe,null,s)))});function Dk(){return Dk=Object.assign?Object.assign.bind():function(t){for(var e=1;eM.createElement(qO,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:LTe,tooltipPayloadSearcher:AE,categoricalChartProps:t,ref:e})),UTe=["axis","item"],FTe=M.forwardRef((t,e)=>M.createElement(qO,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:UTe,tooltipPayloadSearcher:AE,categoricalChartProps:t,ref:e}));function zTe(t){var e=rr();return M.useEffect(()=>{e(aTe(t))},[e,t]),null}var BTe=["layout"];function Ok(){return Ok=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Sr(t,YTe);return M.createElement(GTe,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:XTe,tooltipPayloadSearcher:AE,categoricalChartProps:n,ref:e})}),QTe=["axis"],JTe=M.forwardRef((t,e)=>M.createElement(qO,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:QTe,tooltipPayloadSearcher:AE,categoricalChartProps:t,ref:e}));const M8=[{value:"6h",label:"6h",hours:6},{value:"24h",label:"24h",hours:24},{value:"48h",label:"48h",hours:48},{value:"7d",label:"7d",hours:168}];function eCe({isOpen:t,onClose:e,printerId:n,printerName:r,amsId:i,amsLabel:s,initialMode:a="humidity",thresholds:o}){const{t:c}=Gm(),{theme:u}=xb(),[d,f]=M.useState("24h"),[g,m]=M.useState(a),x=u==="dark";M.useEffect(()=>{if(!t)return;const z=J=>{J.key==="Escape"&&e()};return window.addEventListener("keydown",z),()=>window.removeEventListener("keydown",z)},[t,e]);const y=M8.find(z=>z.value===d)?.hours||24,{data:v,isLoading:b,error:E}=yt({queryKey:["ams-history",n,i,y],queryFn:()=>ke.getAMSHistory(n,i,y),enabled:t,refetchInterval:6e4});if(!t)return null;const S=v?.data.map(z=>({time:new Date(z.recorded_at).getTime(),humidity:z.humidity,temperature:z.temperature,timeLabel:new Date(z.recorded_at).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",...y>24?{day:"numeric",month:"short"}:{}})}))||[],A=o?.humidityGood||40,T=o?.humidityFair||60,k=o?.tempGood||30,N=o?.tempFair||35,I=S[S.length-1],C=I?.humidity,D=I?.temperature,F=z=>{const J=z.filter(re=>re!=null);if(J.length<4)return"stable";const se=J.slice(0,Math.floor(J.length/4)),me=J.slice(-Math.floor(J.length/4)),fe=se.reduce((re,we)=>re+we,0)/se.length,Ee=me.reduce((re,we)=>re+we,0)/me.length-fe;return Math.abs(Ee)<2?"stable":Ee>0?"up":"down"},j=F(S.map(z=>z.humidity)),q=F(S.map(z=>z.temperature)),R=({trend:z})=>z==="up"?l.jsx(p7,{className:"w-4 h-4 text-red-400"}):z==="down"?l.jsx(f7,{className:"w-4 h-4 text-green-400"}):l.jsx(R3,{className:"w-4 h-4 text-gray-400 dark:text-bambu-gray"}),W=z=>z==null?"#9ca3af":z<=A?"#22a352":z<=T?"#d4a017":"#c62828",K=z=>z==null?"#9ca3af":z<=k?"#22a352":z<=N?"#d4a017":"#c62828",V=x?"#2d2d2d":"#ffffff",ee=x?"#1d1d1d":"#f3f4f6",Y=x?"#3d3d3d":"#e5e7eb",Q=x?"#ffffff":"#111827",U=x?"#9ca3af":"#4b5563";return l.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e,children:l.jsxs("div",{className:"rounded-xl w-full max-w-4xl max-h-[90vh] overflow-hidden shadow-xl",style:{backgroundColor:V},onClick:z=>z.stopPropagation(),children:[l.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b",style:{borderColor:Y},children:[l.jsxs("div",{children:[l.jsxs("h2",{className:"text-lg font-semibold",style:{color:Q},children:[s," ",c("common.history","History")]}),l.jsx("p",{className:"text-sm",style:{color:U},children:r})]}),l.jsx("button",{onClick:e,className:"p-2 rounded-lg transition-colors",style:{color:U},children:l.jsx(Wt,{className:"w-5 h-5"})})]}),l.jsxs("div",{className:"p-6 space-y-6 overflow-y-auto max-h-[calc(90vh-80px)]",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:ee},children:[l.jsxs("button",{onClick:()=>m("humidity"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${g==="humidity"?"bg-blue-600 text-white":""}`,style:g!=="humidity"?{color:U}:void 0,children:[l.jsx(r7,{className:"w-4 h-4"}),c("common.humidity","Humidity")]}),l.jsxs("button",{onClick:()=>m("temperature"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${g==="temperature"?"bg-orange-600 text-white":""}`,style:g!=="temperature"?{color:U}:void 0,children:[l.jsx(Sh,{className:"w-4 h-4"}),c("common.temperature","Temperature")]})]}),l.jsx("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:ee},children:M8.map(z=>l.jsx("button",{onClick:()=>f(z.value),className:`px-3 py-1 text-sm rounded-md transition-colors ${d===z.value?"bg-bambu-green text-white":""}`,style:d!==z.value?{color:U}:void 0,children:z.label},z.value))})]}),l.jsx("div",{className:"grid grid-cols-4 gap-4",children:g==="humidity"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.current","Current")}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("p",{className:"text-2xl font-bold",style:{color:W(C)},children:C!=null?`${C}%`:"—"}),l.jsx(R,{trend:j})]})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.average","Average")}),l.jsx("p",{className:"text-2xl font-bold",style:{color:Q},children:v?.avg_humidity!=null?`${v.avg_humidity}%`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.min","Min")}),l.jsx("p",{className:"text-2xl font-bold text-green-500",children:v?.min_humidity!=null?`${v.min_humidity}%`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.max","Max")}),l.jsx("p",{className:"text-2xl font-bold text-red-500",children:v?.max_humidity!=null?`${v.max_humidity}%`:"—"})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.current","Current")}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("p",{className:"text-2xl font-bold",style:{color:K(D)},children:D!=null?`${D}°C`:"—"}),l.jsx(R,{trend:q})]})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.average","Average")}),l.jsx("p",{className:"text-2xl font-bold",style:{color:Q},children:v?.avg_temperature!=null?`${v.avg_temperature}°C`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.min","Min")}),l.jsx("p",{className:"text-2xl font-bold text-blue-500",children:v?.min_temperature!=null?`${v.min_temperature}°C`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.max","Max")}),l.jsx("p",{className:"text-2xl font-bold text-red-500",children:v?.max_temperature!=null?`${v.max_temperature}°C`:"—"})]})]})}),l.jsx("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:b?l.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:U},children:c("common.loading","Loading...")}):E?l.jsx("div",{className:"h-[300px] flex items-center justify-center text-red-500",children:c("common.error","Error loading data")}):S.length===0?l.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:U},children:c("common.noData","No data available for this time range")}):l.jsx(n1,{width:"100%",height:300,children:l.jsxs(ITe,{data:S,children:[l.jsx(ww,{strokeDasharray:"3 3",stroke:x?"#3d3d3d":"#e5e7eb"}),l.jsx(Ew,{dataKey:"time",type:"number",domain:["dataMin","dataMax"],tickFormatter:z=>{const J=new Date(z);return y>24?J.toLocaleDateString([],{day:"numeric",month:"short"}):J.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},stroke:x?"#9ca3af":"#6b7280",tick:{fontSize:12}}),l.jsx(Mw,{stroke:x?"#9ca3af":"#6b7280",tick:{fontSize:12},domain:g==="humidity"?[0,100]:["auto","auto"],tickFormatter:z=>g==="humidity"?`${z}%`:`${z}°C`}),l.jsx(i1,{contentStyle:{backgroundColor:x?"#2d2d2d":"#ffffff",border:`1px solid ${x?"#3d3d3d":"#e5e7eb"}`,borderRadius:"8px",color:x?"#fff":"#000"},labelFormatter:z=>new Date(z).toLocaleString(),formatter:z=>[g==="humidity"?`${z}%`:`${z}°C`,g==="humidity"?"Humidity":"Temperature"]}),l.jsx(bD,{}),g==="humidity"?l.jsxs(l.Fragment,{children:[l.jsx(jx,{y:A,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),l.jsx(jx,{y:T,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}):l.jsxs(l.Fragment,{children:[l.jsx(jx,{y:k,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),l.jsx(jx,{y:N,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}),l.jsx(hY,{type:"monotone",dataKey:g,name:g==="humidity"?"Humidity":"Temperature",stroke:g==="humidity"?"#3b82f6":"#f97316",strokeWidth:2,dot:!1,activeDot:{r:4}})]})})}),l.jsx("div",{className:"text-xs text-center",style:{color:U},children:c("amsHistory.recordingInfo","Data is recorded every 5 minutes while the printer is connected")})]})]})})}function tCe({side:t}){const{theme:e}=xb(),n=e==="dark"?"#1a4d2e":"#e7f5e9";return l.jsx("span",{className:"inline-flex items-center justify-center w-4 h-4 text-[10px] font-bold rounded",style:{backgroundColor:n,color:"#00ae42"},children:t})}function nCe({colors:t,className:e}){const n=[{x:9.5,cx:12.5},{x:18.5,cx:21.5},{x:27.5,cx:30.5},{x:36.5,cx:39.5}];return l.jsxs("svg",{className:e,width:"56",height:"34",viewBox:"0 0 52 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 0C1.79086 0 0 1.79086 0 4V28C0 30.2091 1.79086 32 4 32H48C50.2091 32 52 30.2091 52 28V4C52 1.79086 50.2091 0 48 0H4ZM44 8H8V24H44V8Z",fill:"#2F2E33"}),n.map((r,i)=>t[i]?l.jsx("rect",{x:r.x,y:"8",width:"6",height:"16",fill:t[i]},i):l.jsxs("g",{children:[l.jsx("rect",{x:r.x,y:"8",width:"6",height:"16",fill:"#ffffff"}),l.jsx("line",{x1:r.x,y1:"8",x2:r.x+6,y2:"24",stroke:"#555555",strokeWidth:"1.5"})]},i)),l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M36.5 16H33.5V18.2617C33.5 19.9186 32.1569 21.2617 30.5 21.2617C28.8431 21.2617 27.5 19.9186 27.5 18.2617V16H24.5V18.2617C24.5 19.9186 23.1569 21.2617 21.5 21.2617C19.8431 21.2617 18.5 19.9186 18.5 18.2617V16H15.5V18.2617C15.5 19.9186 14.1569 21.2617 12.5 21.2617C10.8432 21.2617 9.5 19.9186 9.5 18.2617V16H4V28H48V16H42.5V18.2617C42.5 19.9186 41.1569 21.2617 39.5 21.2617C37.8431 21.2617 36.5 19.9186 36.5 18.2617V16Z",fill:"#767676"}),l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 9.18382C6 6.32088 8.32088 4 11.1838 4H40.8162C43.6791 4 46 6.32088 46 9.18382V16H42.5V12.2617C42.5 10.6049 41.1569 9.26172 39.5 9.26172C37.8431 9.26172 36.5 10.6049 36.5 12.2617V16H33.5V12.2617C33.5 10.6049 32.1569 9.26172 30.5 9.26172C28.8431 9.26172 27.5 10.6049 27.5 12.2617V16H24.5V12.2617C24.5 10.6049 23.1569 9.26172 21.5 9.26172C19.8431 9.26172 18.5 10.6049 18.5 12.2617V16H15.5V12.2617C15.5 10.6049 14.1569 9.26172 12.5 9.26172C10.8432 9.26172 9.5 10.6049 9.5 12.2617V16H6V9.18382Z",fill:"#BFBFBF"})]})}function rCe({color:t,className:e}){return l.jsxs("svg",{className:e,width:"56",height:"56",viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t?l.jsx("rect",{x:"8.3",y:"5.2",width:"3.8",height:"5.1",fill:t,rx:"0.3"}):l.jsxs("g",{children:[l.jsx("rect",{x:"8.3",y:"5.2",width:"3.8",height:"5.1",fill:"#ffffff",rx:"0.3"}),l.jsx("line",{x1:"8.3",y1:"5.2",x2:"12.1",y2:"10.3",stroke:"#555555",strokeWidth:"0.8"})]}),l.jsx("path",{d:"M5.88312 4.68555C5.88312 4.13326 6.33083 3.68555 6.88312 3.68555H13.5059C14.0582 3.68555 14.5059 4.13326 14.5059 4.68555V10.3887H5.88312V4.68555Z",stroke:"#6B6B6B"}),l.jsx("rect",{x:"3.8725",y:"10.3887",width:"12.7037",height:"7.55371",rx:"1.2",stroke:"#6B6B6B"}),l.jsx("path",{d:"M8.21991 5.65234C8.21991 5.3762 8.44377 5.15234 8.71991 5.15234H11.7288C12.005 5.15234 12.2288 5.3762 12.2288 5.65234V10.3887H8.21991V5.65234Z",stroke:"#6B6B6B"})]})}function A8({className:t}){return l.jsx("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:l.jsx("path",{d:"M17.8131 0.00538C18.4463 -0.15091 20.3648 3.14642 20.8264 3.84781C25.4187 10.816 35.3089 26.9368 35.9383 34.8694C37.4182 53.5822 11.882 61.3357 2.53721 45.3789C-1.73471 38.0791 0.016 32.2049 3.178 25.0232C6.99221 16.3662 12.6411 7.90372 17.8131 0.00538ZM18.3738 7.24807L17.5881 7.48441C14.4452 12.9431 10.917 18.2341 8.19369 23.9368C4.6808 31.29 1.18317 38.5479 7.69403 45.5657C17.3058 55.9228 34.9847 46.8808 31.4604 32.8681C29.2558 24.0969 22.4207 15.2913 18.3776 7.24807H18.3738Z",fill:"#C3C2C1"})})}function iCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 35 53",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{d:"M17.3165 0.0038C17.932 -0.14959 19.7971 3.08645 20.2458 3.77481C24.7103 10.6135 34.3251 26.4346 34.937 34.2198C36.3757 52.5848 11.5505 60.1942 2.46584 44.534C-1.68714 37.3735 0.0148 31.6085 3.08879 24.5603C6.79681 16.0605 12.2884 7.75907 17.3165 0.0038ZM17.8615 7.11561L17.0977 7.34755C14.0423 12.7048 10.6124 17.8974 7.96483 23.4941C4.54975 30.7107 1.14949 37.8337 7.47908 44.721C16.8233 54.8856 34.01 46.0117 30.5838 32.2595C28.4405 23.6512 21.7957 15.0093 17.8652 7.11561H17.8615Z",fill:"#C3C2C1"}),l.jsx("path",{d:"M5.03547 30.112C9.64453 30.4936 11.632 35.7985 16.4154 35.791C19.6339 35.7873 20.2161 33.2283 22.3853 31.6197C31.6776 24.7286 33.5835 37.4894 27.9881 44.4254C18.1878 56.5653 -1.16063 44.6013 5.03917 30.1158L5.03547 30.112Z",fill:"#1F8FEB"})]})}function sCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{d:"M17.9625 4.48059L4.77216 26.3154L2.08228 40.2175L10.0224 50.8414H23.1594L33.3246 42.1693V30.2455L17.9625 4.48059Z",fill:"#1F8FEB"}),l.jsx("path",{d:"M17.7948 0.00538C18.4273 -0.15091 20.3438 3.14642 20.8048 3.84781C25.3921 10.816 35.2715 26.9368 35.9001 34.8694C37.3784 53.5822 11.8702 61.3357 2.53562 45.3789C-1.73163 38.0829 0.0134 32.2087 3.1757 25.027C6.98574 16.3662 12.6284 7.90372 17.7948 0.00538ZM18.3549 7.24807L17.57 7.48441C14.4306 12.9431 10.9063 18.2341 8.1859 23.9368C4.67686 31.29 1.18305 38.5479 7.68679 45.5657C17.2881 55.9228 34.9476 46.8808 31.4271 32.8681C29.2249 24.0969 22.3974 15.2913 18.3587 7.24807H18.3549Z",fill:"#C3C2C1"})]})}function aCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"}),l.jsx("circle",{cx:"6",cy:"15",r:"2.5",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function oCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("rect",{x:"4.5",y:"8",width:"3",height:"4.5",fill:"#d4a017",rx:"0.5"}),l.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#d4a017"}),l.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function lCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("rect",{x:"4.5",y:"3",width:"3",height:"9.5",fill:"#c62828",rx:"0.5"}),l.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#c62828"}),l.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function cCe({humidity:t,goodThreshold:e=40,fairThreshold:n=60,onClick:r}){const i=typeof t=="string"?parseInt(t,10):t,s=typeof e=="number"?e:40,a=typeof n=="number"?n:60;let o,c;isNaN(i)?(o="#C3C2C1",c="Unknown"):i<=s?(o="#22a352",c="Good"):i<=a?(o="#d4a017",c="Fair"):(o="#c62828",c="Bad");let u;return isNaN(i)||i<=s?u=A8:i<=a?u=iCe:u=sCe,l.jsxs("button",{type:"button",onClick:r,className:`flex items-center justify-end gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Humidity: ${i}% - ${c}${r?" (click for history)":""}`,children:[l.jsx(u,{className:"w-3 h-4"}),l.jsxs("span",{className:"text-xs font-medium tabular-nums w-8 text-right",style:{color:o},children:[i,"%"]})]})}function uCe({temp:t,goodThreshold:e=28,fairThreshold:n=35,onClick:r}){const i=typeof e=="number"?e:28,s=typeof n=="number"?n:35;let a,o,c;return t<=i?(a="#22a352",o="Good",c=aCe):t<=s?(a="#d4a017",o="Fair",c=oCe):(a="#c62828",o="Bad",c=lCe),l.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Temperature: ${t}°C - ${o}${r?" (click for history)":""}`,children:[l.jsx(c,{className:"w-3 h-4"}),l.jsxs("span",{className:"tabular-nums w-12 text-right",style:{color:a},children:[t,"°C"]})]})}function hC(t,e){const n=typeof t=="string"?parseInt(t,10):t,r=isNaN(n)?0:n,i=e===1,s=r>=128?r-128:r,a=String.fromCharCode(65+s);return i?`HT-${a}`:`AMS-${a}`}function dCe(t){const e=Math.floor(t/3600),n=Math.floor(t%3600/60);return e>0?`${e}h ${n}m`:`${n}m`}function hCe(t){const e=new Date,n=new Date(e.getTime()+t*60*1e3),r=new Date;r.setHours(0,0,0,0);const i=new Date(n);i.setHours(0,0,0,0);const s=n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),a=Math.floor((i.getTime()-r.getTime())/(1e3*60*60*24));return a===0?s:a===1?`Tomorrow ${s}`:n.toLocaleDateString([],{weekday:"short"})+" "+s}function fCe(t){if(!t)return"/img/printers/default.png";const e=t.toLowerCase().replace(/\s+/g,"");return e.includes("x1e")?"/img/printers/x1e.png":e.includes("x1c")||e.includes("x1carbon")||e.includes("x1")?"/img/printers/x1c.png":e.includes("h2d")||e.includes("h2c")||e.includes("h2s")?"/img/printers/h2d.png":e.includes("p2s")||e.includes("p1s")?"/img/printers/p1s.png":e.includes("p1p")?"/img/printers/p1p.png":e.includes("a1mini")?"/img/printers/a1mini.png":e.includes("a1")?"/img/printers/a1.png":"/img/printers/default.png"}function pCe(t){return t==null?{label:"",color:"text-bambu-gray",bars:0}:t>=-50?{label:"Excellent",color:"text-bambu-green",bars:4}:t>=-60?{label:"Good",color:"text-bambu-green",bars:3}:t>=-70?{label:"Fair",color:"text-yellow-400",bars:2}:t>=-80?{label:"Weak",color:"text-orange-400",bars:1}:{label:"Very weak",color:"text-red-400",bars:1}}function mCe({url:t,printName:e}){const[n,r]=M.useState(!1),[i,s]=M.useState(!1),[a,o]=M.useState(!1);return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:`w-20 h-20 flex-shrink-0 rounded-lg overflow-hidden bg-bambu-dark-tertiary flex items-center justify-center ${t&&n?"cursor-pointer":""}`,onClick:()=>t&&n&&o(!0),children:t&&!i?l.jsxs(l.Fragment,{children:[l.jsx("img",{src:t,alt:"Print preview",className:`w-full h-full object-cover ${n?"block":"hidden"}`,onLoad:()=>r(!0),onError:()=>s(!0)}),!n&&l.jsx(fm,{className:"w-8 h-8 text-bambu-gray"})]}):l.jsx(fm,{className:"w-8 h-8 text-bambu-gray"})}),a&&t&&l.jsx("div",{className:"fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-8",onClick:()=>o(!1),children:l.jsxs("div",{className:"relative max-w-2xl max-h-full",children:[l.jsx("img",{src:t,alt:"Print preview",className:"max-w-full max-h-[80vh] rounded-lg shadow-2xl"}),e&&l.jsx("p",{className:"text-white text-center mt-4 text-lg",children:e})]})})]})}function gCe({printers:t}){const e=Mn(),n=M.useMemo(()=>{let i=0,s=0,a=0,o=0;return t?.forEach(c=>{const u=e.getQueryData(["printerStatus",c.id]);u===void 0?o++:u.connected?u.state==="RUNNING"?i++:s++:a++}),{printing:i,idle:s,offline:a,loading:o,total:t?.length||0}},[t,e]),[,r]=M.useState(0);return M.useEffect(()=>{const i=e.getQueryCache().subscribe(()=>{r(s=>s+1)});return()=>i()},[e]),t?.length?l.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[n.printing>0&&l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("div",{className:"w-2 h-2 rounded-full bg-bambu-green animate-pulse"}),l.jsxs("span",{className:"text-bambu-gray",children:[l.jsx("span",{className:"text-white font-medium",children:n.printing})," printing"]})]}),n.idle>0&&l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-400"}),l.jsxs("span",{className:"text-bambu-gray",children:[l.jsx("span",{className:"text-white font-medium",children:n.idle})," idle"]})]}),n.offline>0&&l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("div",{className:"w-2 h-2 rounded-full bg-gray-400"}),l.jsxs("span",{className:"text-bambu-gray",children:[l.jsx("span",{className:"text-white font-medium",children:n.offline})," offline"]})]})]}):null}function T8({printer:t,hideIfDisconnected:e,maintenanceInfo:n,viewMode:r="expanded",amsThresholds:i}){const s=Mn(),a=AR(),[o,c]=M.useState(!1),[u,d]=M.useState(!1),[f,g]=M.useState(!1),[m,x]=M.useState(!1),[y,v]=M.useState(!1),[b,E]=M.useState(!1),[S,A]=M.useState(!1),[T,k]=M.useState(!1),[N,I]=M.useState(null),{data:C}=yt({queryKey:["printerStatus",t.id],queryFn:()=>ke.getPrinterStatus(t.id),refetchInterval:3e4}),[D,F]=M.useState(null);M.useEffect(()=>{C?.wifi_signal!=null&&F(C.wifi_signal)},[C?.wifi_signal]);const j=C?.wifi_signal??D,q=M.useRef({});M.useEffect(()=>{C?.ams_extruder_map&&Object.keys(C.ams_extruder_map).length>0&&(q.current=C.ams_extruder_map)},[C?.ams_extruder_map]);const R=C?.ams_extruder_map&&Object.keys(C.ams_extruder_map).length>0?C.ams_extruder_map:q.current,W=M.useRef([]);M.useEffect(()=>{C?.ams&&C.ams.length>0&&(W.current=C.ams)},[C?.ams]);const K=C?.ams&&C.ams.length>0?C.ams:W.current,{data:V}=yt({queryKey:["smartPlugByPrinter",t.id],queryFn:()=>ke.getSmartPlugByPrinter(t.id)}),{data:ee}=yt({queryKey:["smartPlugStatus",V?.id],queryFn:()=>V?ke.getSmartPlugStatus(V.id):null,enabled:!!V,refetchInterval:1e4}),{data:Y}=yt({queryKey:["queue",t.id,"pending"],queryFn:()=>ke.getQueue(t.id,"pending")}),Q=Y?.length||0,{data:U}=yt({queryKey:["archives",t.id,"last"],queryFn:()=>ke.getArchives(t.id,1,0),enabled:C?.connected&&C?.state!=="RUNNING"}),z=U?.[0],J=e&&C&&!C.connected,se=wt({mutationFn:()=>ke.deletePrinter(t.id),onSuccess:()=>{s.invalidateQueries({queryKey:["printers"]})}}),me=wt({mutationFn:()=>ke.connectPrinter(t.id),onSuccess:()=>{s.invalidateQueries({queryKey:["printerStatus",t.id]})}}),fe=wt({mutationFn:Ee=>V?ke.controlSmartPlug(V.id,Ee):Promise.reject("No plug"),onSuccess:()=>{s.invalidateQueries({queryKey:["smartPlugStatus",V?.id]})}}),xe=wt({mutationFn:Ee=>V?ke.updateSmartPlug(V.id,{auto_off:Ee}):Promise.reject("No plug"),onSuccess:()=>{s.invalidateQueries({queryKey:["smartPlugByPrinter",t.id]}),s.invalidateQueries({queryKey:["smart-plugs"]})}});return J?null:l.jsxs(Nt,{className:"relative",children:[l.jsxs(Rt,{children:[l.jsxs("div",{className:r==="compact"?"mb-2":"mb-4",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[l.jsx("img",{src:fCe(t.model),alt:t.model||"Printer",className:`object-contain rounded-lg bg-bambu-dark flex-shrink-0 ${r==="compact"?"w-10 h-10":"w-14 h-14"}`}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("h3",{className:`font-semibold text-white ${r==="compact"?"text-base truncate":"text-lg"}`,children:t.name}),r==="compact"&&l.jsx("div",{className:`w-2 h-2 rounded-full flex-shrink-0 ${C?.connected?"bg-bambu-green":"bg-red-500"}`,title:C?.connected?"Connected":"Offline"})]}),l.jsxs("p",{className:"text-sm text-bambu-gray",children:[t.model||"Unknown Model",r==="expanded"&&C?.nozzles&&C.nozzles[0]?.nozzle_diameter&&l.jsxs("span",{className:"ml-1.5 text-bambu-gray",title:C.nozzles[0].nozzle_type||"Nozzle",children:["• ",C.nozzles[0].nozzle_diameter,"mm"]}),r==="expanded"&&n&&n.total_print_hours>0&&l.jsxs("span",{className:"ml-2 text-bambu-gray",children:[l.jsx(_r,{className:"w-3 h-3 inline-block mr-1"}),Math.round(n.total_print_hours),"h"]})]})]})]}),l.jsxs("div",{className:"relative flex-shrink-0",children:[l.jsx(Le,{variant:"ghost",size:"sm",onClick:()=>c(!o),children:l.jsx(i7,{className:"w-4 h-4"})}),o&&l.jsxs("div",{className:"absolute right-0 mt-2 w-48 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-lg z-10",children:[l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{g(!0),c(!1)},children:[l.jsx(rd,{className:"w-4 h-4"}),"Edit"]}),l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{me.mutate(),c(!1)},children:[l.jsx(Cs,{className:"w-4 h-4"}),"Reconnect"]}),l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{v(!0),c(!1)},children:[l.jsx(h7,{className:"w-4 h-4"}),"MQTT Debug"]}),l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm text-red-400 hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{d(!0),c(!1)},children:[l.jsx(Rn,{className:"w-4 h-4"}),"Delete"]})]})]})]}),r==="expanded"&&l.jsxs("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[l.jsxs("span",{className:`flex items-center gap-1.5 px-2 py-1 rounded-full text-xs ${C?.connected?"bg-bambu-green/20 text-bambu-green":"bg-red-500/20 text-red-400"}`,children:[C?.connected?l.jsx(zS,{className:"w-3 h-3"}):l.jsx(m7,{className:"w-3 h-3"}),C?.connected?"Connected":"Offline"]}),C?.connected&&j!=null&&l.jsxs("span",{className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs ${j>=-50||j>=-60?"bg-bambu-green/20 text-bambu-green":j>=-70?"bg-amber-500/20 text-amber-600":j>=-80?"bg-orange-500/20 text-orange-600":"bg-red-500/20 text-red-600"}`,title:`WiFi: ${j} dBm - ${pCe(j).label}`,children:[l.jsx(Zce,{className:"w-3 h-3"}),j,"dBm"]}),C?.connected&&l.jsxs("button",{onClick:()=>k(!0),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${C.hms_errors&&C.hms_errors.length>0?C.hms_errors.some(Ee=>Ee.severity<=2)?"bg-red-500/20 text-red-400":"bg-orange-500/20 text-orange-400":"bg-bambu-green/20 text-bambu-green"}`,title:"Click to view HMS errors",children:[l.jsx(ti,{className:"w-3 h-3"}),C.hms_errors&&C.hms_errors.length>0?C.hms_errors.length:"OK"]}),n&&l.jsxs("button",{onClick:()=>a("/maintenance"),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${n.due_count>0?"bg-red-500/20 text-red-400":n.warning_count>0?"bg-orange-500/20 text-orange-400":"bg-bambu-green/20 text-bambu-green"}`,title:n.due_count>0||n.warning_count>0?`${n.due_count>0?`${n.due_count} maintenance due`:""}${n.due_count>0&&n.warning_count>0?", ":""}${n.warning_count>0?`${n.warning_count} due soon`:""} - Click to view`:"All maintenance up to date - Click to view",children:[l.jsx(sd,{className:"w-3 h-3"}),n.due_count>0||n.warning_count>0?n.due_count+n.warning_count:"OK"]}),Q>0&&l.jsxs("button",{onClick:()=>a("/queue"),className:"flex items-center gap-1 px-2 py-1 rounded-full text-xs bg-purple-500/20 text-purple-400 hover:opacity-80 transition-opacity",title:`${Q} print${Q>1?"s":""} in queue`,children:[l.jsx($h,{className:"w-3 h-3"}),Q]})]})]}),u&&l.jsx(Qr,{title:"Delete Printer",message:`Are you sure you want to delete "${t.name}"? This will also remove all connection settings.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{se.mutate(),d(!1)},onCancel:()=>d(!1)}),C?.connected&&l.jsxs(l.Fragment,{children:[r==="compact"?l.jsx("div",{className:"mt-2",children:C.state==="RUNNING"?l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-1.5",children:l.jsx("div",{className:"bg-bambu-green h-1.5 rounded-full transition-all",style:{width:`${C.progress||0}%`}})}),l.jsxs("span",{className:"text-xs text-white",children:[Math.round(C.progress||0),"%"]})]}):l.jsx("p",{className:"text-xs text-bambu-gray capitalize",children:C.state?.toLowerCase()||"Idle"})}):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mb-4 p-3 bg-bambu-dark rounded-lg",children:l.jsxs("div",{className:"flex gap-3",children:[l.jsx(mCe,{url:C.state==="RUNNING"?C.cover_url:null,printName:C.state==="RUNNING"&&(C.subtask_name||C.current_print)||void 0}),l.jsx("div",{className:"flex-1 min-w-0",children:C.current_print&&C.state==="RUNNING"?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:"Printing"}),l.jsx("p",{className:"text-white text-sm mb-2 truncate",children:C.subtask_name||C.current_print}),l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:l.jsx("div",{className:"bg-bambu-green h-2 rounded-full transition-all",style:{width:`${C.progress||0}%`}})}),l.jsxs("span",{className:"text-white",children:[Math.round(C.progress||0),"%"]})]}),l.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs text-bambu-gray",children:[C.remaining_time!=null&&C.remaining_time>0&&l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(_r,{className:"w-3 h-3"}),dCe(C.remaining_time*60)]}),l.jsxs("span",{className:"text-bambu-green font-medium",title:"Estimated completion time",children:["ETA ",hCe(C.remaining_time)]})]}),C.layer_num!=null&&C.total_layers!=null&&C.total_layers>0&&l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx($h,{className:"w-3 h-3"}),C.layer_num,"/",C.total_layers]})]})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:"Status"}),l.jsx("p",{className:"text-white text-sm mb-2 capitalize",children:C.state?.toLowerCase()||"Idle"}),l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:l.jsx("div",{className:"bg-bambu-dark-tertiary h-2 rounded-full"})}),l.jsx("span",{className:"text-bambu-gray",children:"—"})]}),z?l.jsxs("p",{className:"text-xs text-bambu-gray mt-2 truncate",title:z.print_name||z.filename,children:["Last: ",z.print_name||z.filename,z.completed_at&&l.jsxs("span",{className:"ml-1 text-bambu-gray/60",children:["• ",new Date(z.completed_at).toLocaleDateString([],{month:"short",day:"numeric"})]})]}):l.jsx("p",{className:"text-xs text-bambu-gray mt-2",children:"Ready to print"})]})})]})}),C.state!=="RUNNING"&&l.jsx(lde,{printerId:t.id})]}),C.temperatures&&r==="expanded"&&l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{className:"text-center p-2 bg-bambu-dark rounded-lg",children:[l.jsx(Sh,{className:"w-4 h-4 mx-auto mb-1 text-orange-400"}),C.temperatures.nozzle_2!==void 0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-xs text-bambu-gray",children:"Left / Right"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.nozzle||0),"°C / ",Math.round(C.temperatures.nozzle_2||0),"°C"]})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-xs text-bambu-gray",children:"Nozzle"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.nozzle||0),"°C"]})]})]}),l.jsxs("div",{className:"text-center p-2 bg-bambu-dark rounded-lg",children:[l.jsx(Sh,{className:"w-4 h-4 mx-auto mb-1 text-blue-400"}),l.jsx("p",{className:"text-xs text-bambu-gray",children:"Bed"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.bed||0),"°C"]})]}),C.temperatures.chamber!==void 0&&l.jsxs("div",{className:"text-center p-2 bg-bambu-dark rounded-lg",children:[l.jsx(Sh,{className:"w-4 h-4 mx-auto mb-1 text-green-400"}),l.jsx("p",{className:"text-xs text-bambu-gray",children:"Chamber"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.chamber||0),"°C"]})]})]}),K&&K.length>0&&r==="expanded"&&l.jsxs("div",{className:"mt-3 space-y-2",children:[K.map(Ee=>{const re=R[String(Ee.id)],we=Ee.id>=128?Ee.id-128:Ee.id,Oe=re!==void 0?re:we,he=t.nozzle_count===2||C?.temperatures?.nozzle_2!==void 0,ht=Oe===1,$=Oe===0,H=Ee.tray.map(G=>G.tray_color?`#${G.tray_color}`:G.tray_type?"#333":null),ne=Ee.tray.length===1;return l.jsx("div",{className:"p-2 bg-bambu-dark rounded-lg",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[he&&(ht||$)&&l.jsx(tCe,{side:ht?"L":"R"}),ne?l.jsx(rCe,{color:H[0],className:"flex-shrink-0"}):l.jsx(nCe,{colors:H,className:"flex-shrink-0"})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("span",{className:"text-xs text-bambu-gray font-medium",children:hC(Ee.id,Ee.tray.length)}),l.jsx("div",{className:"mt-0.5 text-[10px] flex items-start",children:Ee.tray.map((G,Z)=>l.jsxs("div",{className:"flex items-start",children:[l.jsxs("div",{className:"flex flex-col",children:[l.jsx("span",{className:"text-bambu-gray/70 truncate",children:G.tray_type?G.tray_sub_brands||G.tray_type:"—"}),l.jsx("span",{className:"text-bambu-gray/50 truncate",children:G.tray_type&&G.remain>=0?`${G.remain}%`:"—"})]}),ZI({amsId:Ee.id,amsLabel:hC(Ee.id,Ee.tray.length),mode:"humidity"})}),Ee.temp!=null&&l.jsx(uCe,{temp:Ee.temp,goodThreshold:i?.tempGood,fairThreshold:i?.tempFair,onClick:()=>I({amsId:Ee.id,amsLabel:hC(Ee.id,Ee.tray.length),mode:"temperature"})})]})]})},Ee.id)}),C.vt_tray&&C.vt_tray.tray_type&&l.jsx("div",{className:"p-2 bg-bambu-dark rounded-lg",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded-full border-2 border-white/20 flex-shrink-0",style:{backgroundColor:C.vt_tray.tray_color?`#${C.vt_tray.tray_color}`:"#333"}}),l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-bambu-gray font-medium",children:"External"}),l.jsx("p",{className:"text-[10px] text-bambu-gray/70",children:C.vt_tray.tray_sub_brands||C.vt_tray.tray_type||"Spool"})]})]})})]})]}),V&&r==="expanded"&&l.jsx("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[l.jsx(bm,{className:"w-4 h-4 text-bambu-gray flex-shrink-0"}),l.jsx("span",{className:"text-sm text-white truncate",children:V.name}),ee&&l.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded flex-shrink-0 ${ee.state==="ON"?"bg-bambu-green/20 text-bambu-green":ee.state==="OFF"?"bg-red-500/20 text-red-400":"bg-bambu-gray/20 text-bambu-gray"}`,children:ee.state||"?"}),ee?.energy?.power!=null&&ee.state==="ON"&&l.jsxs("span",{className:"text-xs text-yellow-400 font-medium flex-shrink-0",children:[ee.energy.power,"W"]})]}),l.jsx("div",{className:"flex-1"}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsxs("button",{onClick:()=>E(!0),disabled:fe.isPending||ee?.state==="ON",className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${ee?.state==="ON"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[l.jsx(bd,{className:"w-3 h-3"}),"On"]}),l.jsxs("button",{onClick:()=>A(!0),disabled:fe.isPending||ee?.state==="OFF",className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${ee?.state==="OFF"?"bg-red-500/30 text-red-400":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[l.jsx(HR,{className:"w-3 h-3"}),"Off"]})]}),l.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[l.jsx("span",{className:`text-xs hidden sm:inline ${V.auto_off_executed?"text-bambu-green":"text-bambu-gray"}`,children:V.auto_off_executed?"Auto-off done":"Auto-off"}),l.jsx("button",{onClick:()=>xe.mutate(!V.auto_off),disabled:xe.isPending||V.auto_off_executed,title:V.auto_off_executed?"Auto-off was executed - turn printer on to reset":"Auto power-off after print",className:`relative w-9 h-5 rounded-full transition-colors flex-shrink-0 ${V.auto_off_executed?"bg-bambu-green/50 cursor-not-allowed":V.auto_off?"bg-bambu-green":"bg-bambu-dark-tertiary"}`,children:l.jsx("span",{className:`absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full transition-transform ${V.auto_off||V.auto_off_executed?"translate-x-4":"translate-x-0"}`})})]})]})}),r==="expanded"&&l.jsxs("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary flex items-center justify-between",children:[l.jsxs("div",{className:"text-xs text-bambu-gray",children:[l.jsx("p",{children:t.ip_address}),l.jsx("p",{className:"truncate",children:t.serial_number})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Le,{variant:"secondary",size:"sm",onClick:()=>{window.open(`/camera/${t.id}`,`camera-${t.id}`,"width=640,height=400,menubar=no,toolbar=no,location=no,status=no")},disabled:!C?.connected,title:"Open camera in new window",children:l.jsx(g7,{className:"w-4 h-4"})}),l.jsxs(Le,{variant:"secondary",size:"sm",onClick:()=>x(!0),title:"Browse printer files",children:[l.jsx(FR,{className:"w-4 h-4"}),"Files"]})]})]})]}),m&&l.jsx(tde,{printerId:t.id,printerName:t.name,onClose:()=>x(!1)}),y&&l.jsx(nde,{printerId:t.id,printerName:t.name,onClose:()=>v(!1)}),b&&V&&l.jsx(Qr,{title:"Power On Printer",message:`Are you sure you want to turn ON the power for "${t.name}"?`,confirmText:"Power On",variant:"default",onConfirm:()=>{fe.mutate("on"),E(!1)},onCancel:()=>E(!1)}),S&&V&&l.jsx(Qr,{title:"Power Off Printer",message:C?.state==="RUNNING"?`WARNING: "${t.name}" is currently printing! Are you sure you want to turn OFF the power? This will interrupt the print and may damage the printer.`:`Are you sure you want to turn OFF the power for "${t.name}"?`,confirmText:"Power Off",variant:"danger",onConfirm:()=>{fe.mutate("off"),A(!1)},onCancel:()=>A(!1)}),T&&l.jsx(ade,{printerName:t.name,errors:C?.hms_errors||[],onClose:()=>k(!1)}),N&&l.jsx(eCe,{isOpen:!!N,onClose:()=>I(null),printerId:t.id,printerName:t.name,amsId:N.amsId,amsLabel:N.amsLabel,initialMode:N.mode,thresholds:i}),f&&l.jsx(bCe,{printer:t,onClose:()=>g(!1)})]})}function xCe({onClose:t,onAdd:e}){const[n,r]=M.useState({name:"",serial_number:"",ip_address:"",access_code:"",model:"",auto_archive:!0});return M.useEffect(()=>{const i=s=>{s.key==="Escape"&&t()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[t]),l.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:t,children:l.jsx(Nt,{className:"w-full max-w-md",onClick:i=>i.stopPropagation(),children:l.jsxs(Rt,{children:[l.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Add Printer"}),l.jsxs("form",{onSubmit:i=>{i.preventDefault(),e(n)},className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name"}),l.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.name,onChange:i=>r({...n,name:i.target.value}),placeholder:"My Printer"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"IP Address"}),l.jsx("input",{type:"text",required:!0,pattern:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.ip_address,onChange:i=>r({...n,ip_address:i.target.value}),placeholder:"192.168.1.100"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Serial Number"}),l.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.serial_number,onChange:i=>r({...n,serial_number:i.target.value}),placeholder:"01P00A000000000"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Access Code"}),l.jsx("input",{type:"password",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.access_code,onChange:i=>r({...n,access_code:i.target.value}),placeholder:"From printer settings"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Model (optional)"}),l.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.model||"",onChange:i=>r({...n,model:i.target.value}),children:[l.jsx("option",{value:"",children:"Select model..."}),l.jsxs("optgroup",{label:"H2 Series",children:[l.jsx("option",{value:"H2C",children:"H2C"}),l.jsx("option",{value:"H2D",children:"H2D"}),l.jsx("option",{value:"H2S",children:"H2S"})]}),l.jsxs("optgroup",{label:"X1 Series",children:[l.jsx("option",{value:"X1E",children:"X1E"}),l.jsx("option",{value:"X1C",children:"X1 Carbon"}),l.jsx("option",{value:"X1",children:"X1"})]}),l.jsxs("optgroup",{label:"P Series",children:[l.jsx("option",{value:"P2S",children:"P2S"}),l.jsx("option",{value:"P1S",children:"P1S"}),l.jsx("option",{value:"P1P",children:"P1P"})]}),l.jsxs("optgroup",{label:"A1 Series",children:[l.jsx("option",{value:"A1",children:"A1"}),l.jsx("option",{value:"A1 Mini",children:"A1 Mini"})]})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",id:"auto_archive",checked:n.auto_archive,onChange:i=>r({...n,auto_archive:i.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),l.jsx("label",{htmlFor:"auto_archive",className:"text-sm text-bambu-gray",children:"Auto-archive completed prints"})]}),l.jsxs("div",{className:"flex gap-3 pt-4",children:[l.jsx(Le,{type:"button",variant:"secondary",onClick:t,className:"flex-1",children:"Cancel"}),l.jsx(Le,{type:"submit",className:"flex-1",children:"Add Printer"})]})]})]})})})}function bCe({printer:t,onClose:e}){const n=Mn(),[r,i]=M.useState({name:t.name,ip_address:t.ip_address,access_code:"",model:t.model||"",location:t.location||"",auto_archive:t.auto_archive}),s=wt({mutationFn:o=>ke.updatePrinter(t.id,o),onSuccess:()=>{n.invalidateQueries({queryKey:["printers"]}),n.invalidateQueries({queryKey:["printerStatus",t.id]}),e()}});M.useEffect(()=>{const o=c=>{c.key==="Escape"&&e()};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[e]);const a=o=>{o.preventDefault();const c={name:r.name,ip_address:r.ip_address,model:r.model||void 0,location:r.location||void 0,auto_archive:r.auto_archive};r.access_code&&(c.access_code=r.access_code),s.mutate(c)};return l.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e,children:l.jsx(Nt,{className:"w-full max-w-md",onClick:o=>o.stopPropagation(),children:l.jsxs(Rt,{children:[l.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Edit Printer"}),l.jsxs("form",{onSubmit:a,className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name"}),l.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.name,onChange:o=>i({...r,name:o.target.value}),placeholder:"My Printer"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"IP Address"}),l.jsx("input",{type:"text",required:!0,pattern:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.ip_address,onChange:o=>i({...r,ip_address:o.target.value}),placeholder:"192.168.1.100"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Serial Number"}),l.jsx("input",{type:"text",disabled:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-bambu-gray cursor-not-allowed",value:t.serial_number}),l.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Serial number cannot be changed"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Access Code"}),l.jsx("input",{type:"password",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.access_code,onChange:o=>i({...r,access_code:o.target.value}),placeholder:"Leave empty to keep current"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Model"}),l.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.model,onChange:o=>i({...r,model:o.target.value}),children:[l.jsx("option",{value:"",children:"Select model..."}),l.jsxs("optgroup",{label:"H2 Series",children:[l.jsx("option",{value:"H2C",children:"H2C"}),l.jsx("option",{value:"H2D",children:"H2D"}),l.jsx("option",{value:"H2S",children:"H2S"})]}),l.jsxs("optgroup",{label:"X1 Series",children:[l.jsx("option",{value:"X1E",children:"X1E"}),l.jsx("option",{value:"X1C",children:"X1 Carbon"}),l.jsx("option",{value:"X1",children:"X1"})]}),l.jsxs("optgroup",{label:"P Series",children:[l.jsx("option",{value:"P2S",children:"P2S"}),l.jsx("option",{value:"P1S",children:"P1S"}),l.jsx("option",{value:"P1P",children:"P1P"})]}),l.jsxs("optgroup",{label:"A1 Series",children:[l.jsx("option",{value:"A1",children:"A1"}),l.jsx("option",{value:"A1 Mini",children:"A1 Mini"})]})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Location / Group"}),l.jsx("input",{type:"text",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.location,onChange:o=>i({...r,location:o.target.value}),placeholder:"e.g., Workshop, Office, Basement"}),l.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Used to group printers on the dashboard"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",id:"edit_auto_archive",checked:r.auto_archive,onChange:o=>i({...r,auto_archive:o.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),l.jsx("label",{htmlFor:"edit_auto_archive",className:"text-sm text-bambu-gray",children:"Auto-archive completed prints"})]}),l.jsxs("div",{className:"flex gap-3 pt-4",children:[l.jsx(Le,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:"Cancel"}),l.jsx(Le,{type:"submit",className:"flex-1",disabled:s.isPending,children:s.isPending?"Saving...":"Save Changes"})]})]})]})})})}function vCe(t){const{data:e}=yt({queryKey:["printerStatus",t],queryFn:()=>ke.getPrinterStatus(t),refetchInterval:3e4});return!e?.connected}function yCe({printer:t,plug:e,onPowerOn:n,isPowering:r}){const i=vCe(t.id),{data:s}=yt({queryKey:["smartPlugStatus",e.id],queryFn:()=>ke.getSmartPlugStatus(e.id),refetchInterval:1e4});return i?l.jsxs("div",{className:"flex items-center justify-between px-3 py-2 hover:bg-gray-100 dark:hover:bg-bambu-dark-tertiary",children:[l.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[l.jsx("span",{className:"text-sm text-gray-900 dark:text-white truncate",children:t.name}),s&&l.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded ${s.state==="ON"?"bg-bambu-green/20 text-bambu-green":"bg-red-500/20 text-red-400"}`,children:s.state||"?"})]}),l.jsxs("button",{onClick:()=>n(e.id),disabled:r||s?.state==="ON",className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${s?.state==="ON"?"bg-bambu-green/20 text-bambu-green cursor-default":"bg-bambu-green/20 text-bambu-green hover:bg-bambu-green hover:text-white"}`,children:[l.jsx(bd,{className:"w-3 h-3"}),r?"...":"On"]})]}):null}function _Ce(){const[t,e]=M.useState(!1),[n,r]=M.useState(()=>localStorage.getItem("hideDisconnectedPrinters")==="true"),[i,s]=M.useState(!1),[a,o]=M.useState(null),[c,u]=M.useState(()=>localStorage.getItem("printerSortBy")||"name"),[d,f]=M.useState(()=>localStorage.getItem("printerSortAsc")!=="false"),[g,m]=M.useState(()=>localStorage.getItem("printerViewMode")||"expanded"),x=Mn(),{data:y,isLoading:v}=yt({queryKey:["printers"],queryFn:ke.getPrinters}),{data:b}=yt({queryKey:["settings"],queryFn:ke.getSettings}),{data:E}=yt({queryKey:["smart-plugs"],queryFn:ke.getSmartPlugs}),{data:S}=yt({queryKey:["maintenanceOverview"],queryFn:ke.getMaintenanceOverview,staleTime:60*1e3}),A=S?.reduce((R,W)=>(R[W.printer_id]={due_count:W.due_count,warning_count:W.warning_count,total_print_hours:W.total_print_hours},R),{})||{},T=E?.reduce((R,W)=>(W.printer_id&&(R[W.printer_id]=W),R),{})||{},k=wt({mutationFn:ke.createPrinter,onSuccess:()=>{x.invalidateQueries({queryKey:["printers"]}),e(!1)}}),N=wt({mutationFn:R=>ke.controlSmartPlug(R,"on"),onSuccess:()=>{x.invalidateQueries({queryKey:["smart-plugs"]}),o(null)},onError:()=>{o(null)}}),I=()=>{const R=!n;r(R),localStorage.setItem("hideDisconnectedPrinters",String(R))},C=R=>{u(R),localStorage.setItem("printerSortBy",R)},D=()=>{const R=!d;f(R),localStorage.setItem("printerSortAsc",String(R))},F=()=>{const R=g==="expanded"?"compact":"expanded";m(R),localStorage.setItem("printerViewMode",R)},j=M.useMemo(()=>{if(!y)return[];const R=[...y];switch(c){case"name":R.sort((W,K)=>W.name.localeCompare(K.name));break;case"model":R.sort((W,K)=>(W.model||"").localeCompare(K.model||""));break;case"location":R.sort((W,K)=>{const V=W.location||"",ee=K.location||"";return!V&&ee?1:V&&!ee?-1:V.localeCompare(ee)||W.name.localeCompare(K.name)});break;case"status":R.sort((W,K)=>{const V=x.getQueryData(["printerStatus",W.id]),ee=x.getQueryData(["printerStatus",K.id]),Y=Q=>Q?.connected?Q.state==="RUNNING"?0:1:2;return Y(V)-Y(ee)});break}return d||R.reverse(),R},[y,c,d,x]),q=M.useMemo(()=>{if(c!=="location")return null;const R={};return j.forEach(W=>{const K=W.location||"Ungrouped";R[K]||(R[K]=[]),R[K].push(W)}),R},[c,j]);return l.jsxs("div",{className:"p-4 md:p-8",children:[l.jsxs("div",{className:"flex items-center justify-between mb-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-white",children:"Printers"}),l.jsx(gCe,{printers:y})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsxs("select",{value:c,onChange:R=>C(R.target.value),className:"text-sm bg-bambu-dark border border-bambu-dark-tertiary rounded-lg px-2 py-1.5 text-white focus:border-bambu-green focus:outline-none",children:[l.jsx("option",{value:"name",children:"Name"}),l.jsx("option",{value:"status",children:"Status"}),l.jsx("option",{value:"model",children:"Model"}),l.jsx("option",{value:"location",children:"Location"})]}),l.jsx("button",{onClick:D,className:"p-1.5 rounded-lg hover:bg-bambu-dark-tertiary transition-colors",title:d?"Sort descending":"Sort ascending",children:d?l.jsx(hm,{className:"w-4 h-4 text-bambu-gray"}):l.jsx(x0,{className:"w-4 h-4 text-bambu-gray"})})]}),l.jsx("button",{onClick:F,className:"p-1.5 rounded-lg hover:bg-bambu-dark-tertiary transition-colors",title:g==="expanded"?"Switch to compact view":"Switch to expanded view",children:g==="expanded"?l.jsx(Ule,{className:"w-5 h-5 text-bambu-gray"}):l.jsx(o7,{className:"w-5 h-5 text-bambu-gray"})}),l.jsx("div",{className:"w-px h-6 bg-bambu-dark-tertiary"}),l.jsxs("label",{className:"flex items-center gap-2 text-sm text-bambu-gray cursor-pointer",children:[l.jsx("input",{type:"checkbox",checked:n,onChange:I,className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),"Hide offline"]}),n&&Object.keys(T).length>0&&l.jsxs("div",{className:"relative",children:[l.jsxs("button",{onClick:()=>s(!i),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm bg-white dark:bg-bambu-dark-secondary border border-gray-200 dark:border-bambu-dark-tertiary rounded-lg text-gray-600 dark:text-bambu-gray hover:text-gray-900 dark:hover:text-white hover:border-bambu-green transition-colors",children:[l.jsx(bd,{className:"w-4 h-4"}),"Power On",l.jsx(uf,{className:`w-3 h-3 transition-transform ${i?"rotate-180":""}`})]}),i&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>s(!1)}),l.jsxs("div",{className:"absolute right-0 mt-2 w-56 bg-white dark:bg-bambu-dark-secondary border border-gray-200 dark:border-bambu-dark-tertiary rounded-lg shadow-lg z-20 py-1",children:[l.jsx("div",{className:"px-3 py-2 text-xs text-gray-500 dark:text-bambu-gray border-b border-gray-200 dark:border-bambu-dark-tertiary",children:"Offline printers with smart plugs"}),y?.filter(R=>T[R.id]).map(R=>l.jsx(yCe,{printer:R,plug:T[R.id],onPowerOn:W=>{o(W),N.mutate(W)},isPowering:a===T[R.id]?.id},R.id)),y?.filter(R=>T[R.id]).length===0&&l.jsx("div",{className:"px-3 py-2 text-sm text-bambu-gray",children:"No printers with smart plugs"})]})]})]}),l.jsxs(Le,{onClick:()=>e(!0),children:[l.jsx(pr,{className:"w-4 h-4"}),"Add Printer"]})]})]}),v?l.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading printers..."}):y?.length===0?l.jsx(Nt,{children:l.jsxs(Rt,{className:"text-center py-12",children:[l.jsx("p",{className:"text-bambu-gray mb-4",children:"No printers configured yet"}),l.jsxs(Le,{onClick:()=>e(!0),children:[l.jsx(pr,{className:"w-4 h-4"}),"Add Your First Printer"]})]})}):q?l.jsx("div",{className:"space-y-6",children:Object.entries(q).map(([R,W])=>l.jsxs("div",{children:[l.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[l.jsx("span",{className:"w-2 h-2 rounded-full bg-bambu-green"}),R,l.jsxs("span",{className:"text-sm font-normal text-bambu-gray",children:["(",W.length,")"]})]}),l.jsx("div",{className:`grid gap-4 ${g==="compact"?"grid-cols-1 md:grid-cols-2 lg:grid-cols-4":"grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"}`,children:W.map(K=>l.jsx(T8,{printer:K,hideIfDisconnected:n,maintenanceInfo:A[K.id],viewMode:g,amsThresholds:b?{humidityGood:Number(b.ams_humidity_good)||40,humidityFair:Number(b.ams_humidity_fair)||60,tempGood:Number(b.ams_temp_good)||28,tempFair:Number(b.ams_temp_fair)||35}:void 0},K.id))})]},R))}):l.jsx("div",{className:`grid gap-4 ${g==="compact"?"grid-cols-1 md:grid-cols-2 lg:grid-cols-4":"grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"}`,children:j.map(R=>l.jsx(T8,{printer:R,hideIfDisconnected:n,maintenanceInfo:A[R.id],viewMode:g,amsThresholds:b?{humidityGood:Number(b.ams_humidity_good)||40,humidityFair:Number(b.ams_humidity_fair)||60,tempGood:Number(b.ams_temp_good)||28,tempFair:Number(b.ams_temp_fair)||35}:void 0},R.id))}),t&&l.jsx(xCe,{onClose:()=>e(!1),onAdd:R=>k.mutate(R)})]})}const KO="181",rm={ROTATE:0,DOLLY:1,PAN:2},Kp={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},wCe=0,C8=1,SCe=2,IY=1,ECe=2,ic=3,dd=0,Ks=1,rl=2,wc=0,im=1,N8=2,k8=3,P8=4,MCe=5,ah=100,ACe=101,TCe=102,CCe=103,NCe=104,kCe=200,PCe=201,RCe=202,DCe=203,jk=204,Lk=205,OCe=206,jCe=207,LCe=208,ICe=209,UCe=210,FCe=211,zCe=212,BCe=213,HCe=214,Ik=0,Uk=1,Fk=2,Tm=3,zk=4,Bk=5,Hk=6,$k=7,XO=0,$Ce=1,VCe=2,Xu=0,GCe=1,WCe=2,qCe=3,KCe=4,XCe=5,YCe=6,ZCe=7,UY=300,Cm=301,Nm=302,Vk=303,Gk=304,IE=306,Wk=1e3,mc=1001,qk=1002,wa=1003,QCe=1004,jy=1005,ro=1006,fC=1007,gh=1008,gl=1009,FY=1010,zY=1011,$0=1012,YO=1013,Qh=1014,gc=1015,og=1016,ZO=1017,QO=1018,V0=1020,BY=35902,HY=35899,$Y=1021,VY=1022,Do=1023,G0=1026,W0=1027,GY=1028,JO=1029,ej=1030,tj=1031,nj=1033,a1=33776,o1=33777,l1=33778,c1=33779,Kk=35840,Xk=35841,Yk=35842,Zk=35843,Qk=36196,Jk=37492,eP=37496,tP=37808,nP=37809,rP=37810,iP=37811,sP=37812,aP=37813,oP=37814,lP=37815,cP=37816,uP=37817,dP=37818,hP=37819,fP=37820,pP=37821,mP=36492,gP=36494,xP=36495,bP=36283,vP=36284,yP=36285,_P=36286,JCe=3200,eNe=3201,WY=0,tNe=1,Lu="",qa="srgb",km="srgb-linear",Cw="linear",qn="srgb",tp=7680,R8=519,nNe=512,rNe=513,iNe=514,qY=515,sNe=516,aNe=517,oNe=518,lNe=519,D8=35044,O8="300 es",ol=2e3,Nw=2001;function KY(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}function kw(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function cNe(){const t=kw("canvas");return t.style.display="block",t}const j8={};function L8(...t){const e="THREE."+t.shift();console.log(e,...t)}function Yt(...t){const e="THREE."+t.shift();console.warn(e,...t)}function zr(...t){const e="THREE."+t.shift();console.error(e,...t)}function q0(...t){const e=t.join(" ");e in j8||(j8[e]=!0,Yt(...t))}function uNe(t,e,n){return new Promise(function(r,i){function s(){switch(t.clientWaitSync(e,t.SYNC_FLUSH_COMMANDS_BIT,0)){case t.WAIT_FAILED:i();break;case t.TIMEOUT_EXPIRED:setTimeout(s,n);break;default:r()}}setTimeout(s,n)})}let mf=class{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(n)===-1&&r[e].push(n)}hasEventListener(e,n){const r=this._listeners;return r===void 0?!1:r[e]!==void 0&&r[e].indexOf(n)!==-1}removeEventListener(e,n){const r=this._listeners;if(r===void 0)return;const i=r[e];if(i!==void 0){const s=i.indexOf(n);s!==-1&&i.splice(s,1)}}dispatchEvent(e){const n=this._listeners;if(n===void 0)return;const r=n[e.type];if(r!==void 0){e.target=this;const i=r.slice(0);for(let s=0,a=i.length;s>8&255]+ss[t>>16&255]+ss[t>>24&255]+"-"+ss[e&255]+ss[e>>8&255]+"-"+ss[e>>16&15|64]+ss[e>>24&255]+"-"+ss[n&63|128]+ss[n>>8&255]+"-"+ss[n>>16&255]+ss[n>>24&255]+ss[r&255]+ss[r>>8&255]+ss[r>>16&255]+ss[r>>24&255]).toLowerCase()}function gn(t,e,n){return Math.max(e,Math.min(n,t))}function dNe(t,e){return(t%e+e)%e}function pC(t,e,n){return(1-n)*t+n*e}function mx(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Bs(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const hNe={DEG2RAD:u1};let cn=class XY{constructor(e=0,n=0){XY.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,r=this.y,i=e.elements;return this.x=i[0]*n+i[3]*r+i[6],this.y=i[1]*n+i[4]*r+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=gn(this.x,e.x,n.x),this.y=gn(this.y,e.y,n.y),this}clampScalar(e,n){return this.x=gn(this.x,e,n),this.y=gn(this.y,e,n),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(gn(r,e,n))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(gn(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y;return n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const r=Math.cos(n),i=Math.sin(n),s=this.x-e.x,a=this.y-e.y;return this.x=s*r-a*i+e.x,this.y=s*i+a*r+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},Jh=class{constructor(e=0,n=0,r=0,i=1){this.isQuaternion=!0,this._x=e,this._y=n,this._z=r,this._w=i}static slerpFlat(e,n,r,i,s,a,o){let c=r[i+0],u=r[i+1],d=r[i+2],f=r[i+3],g=s[a+0],m=s[a+1],x=s[a+2],y=s[a+3];if(o<=0){e[n+0]=c,e[n+1]=u,e[n+2]=d,e[n+3]=f;return}if(o>=1){e[n+0]=g,e[n+1]=m,e[n+2]=x,e[n+3]=y;return}if(f!==y||c!==g||u!==m||d!==x){let v=c*g+u*m+d*x+f*y;v<0&&(g=-g,m=-m,x=-x,y=-y,v=-v);let b=1-o;if(v<.9995){const E=Math.acos(v),S=Math.sin(E);b=Math.sin(b*E)/S,o=Math.sin(o*E)/S,c=c*b+g*o,u=u*b+m*o,d=d*b+x*o,f=f*b+y*o}else{c=c*b+g*o,u=u*b+m*o,d=d*b+x*o,f=f*b+y*o;const E=1/Math.sqrt(c*c+u*u+d*d+f*f);c*=E,u*=E,d*=E,f*=E}}e[n]=c,e[n+1]=u,e[n+2]=d,e[n+3]=f}static multiplyQuaternionsFlat(e,n,r,i,s,a){const o=r[i],c=r[i+1],u=r[i+2],d=r[i+3],f=s[a],g=s[a+1],m=s[a+2],x=s[a+3];return e[n]=o*x+d*f+c*m-u*g,e[n+1]=c*x+d*g+u*f-o*m,e[n+2]=u*x+d*m+o*g-c*f,e[n+3]=d*x-o*f-c*g-u*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,r,i){return this._x=e,this._y=n,this._z=r,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n=!0){const r=e._x,i=e._y,s=e._z,a=e._order,o=Math.cos,c=Math.sin,u=o(r/2),d=o(i/2),f=o(s/2),g=c(r/2),m=c(i/2),x=c(s/2);switch(a){case"XYZ":this._x=g*d*f+u*m*x,this._y=u*m*f-g*d*x,this._z=u*d*x+g*m*f,this._w=u*d*f-g*m*x;break;case"YXZ":this._x=g*d*f+u*m*x,this._y=u*m*f-g*d*x,this._z=u*d*x-g*m*f,this._w=u*d*f+g*m*x;break;case"ZXY":this._x=g*d*f-u*m*x,this._y=u*m*f+g*d*x,this._z=u*d*x+g*m*f,this._w=u*d*f-g*m*x;break;case"ZYX":this._x=g*d*f-u*m*x,this._y=u*m*f+g*d*x,this._z=u*d*x-g*m*f,this._w=u*d*f+g*m*x;break;case"YZX":this._x=g*d*f+u*m*x,this._y=u*m*f+g*d*x,this._z=u*d*x-g*m*f,this._w=u*d*f-g*m*x;break;case"XZY":this._x=g*d*f-u*m*x,this._y=u*m*f-g*d*x,this._z=u*d*x+g*m*f,this._w=u*d*f+g*m*x;break;default:Yt("Quaternion: .setFromEuler() encountered an unknown order: "+a)}return n===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const r=n/2,i=Math.sin(r);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(r),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,r=n[0],i=n[4],s=n[8],a=n[1],o=n[5],c=n[9],u=n[2],d=n[6],f=n[10],g=r+o+f;if(g>0){const m=.5/Math.sqrt(g+1);this._w=.25/m,this._x=(d-c)*m,this._y=(s-u)*m,this._z=(a-i)*m}else if(r>o&&r>f){const m=2*Math.sqrt(1+r-o-f);this._w=(d-c)/m,this._x=.25*m,this._y=(i+a)/m,this._z=(s+u)/m}else if(o>f){const m=2*Math.sqrt(1+o-r-f);this._w=(s-u)/m,this._x=(i+a)/m,this._y=.25*m,this._z=(c+d)/m}else{const m=2*Math.sqrt(1+f-r-o);this._w=(a-i)/m,this._x=(s+u)/m,this._y=(c+d)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let r=e.dot(n)+1;return r<1e-8?(r=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=r):(this._x=0,this._y=-e.z,this._z=e.y,this._w=r)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=r),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(gn(this.dot(e),-1,1)))}rotateTowards(e,n){const r=this.angleTo(e);if(r===0)return this;const i=Math.min(1,n/r);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const r=e._x,i=e._y,s=e._z,a=e._w,o=n._x,c=n._y,u=n._z,d=n._w;return this._x=r*d+a*o+i*u-s*c,this._y=i*d+a*c+s*o-r*u,this._z=s*d+a*u+r*c-i*o,this._w=a*d-r*o-i*c-s*u,this._onChangeCallback(),this}slerp(e,n){if(n<=0)return this;if(n>=1)return this.copy(e);let r=e._x,i=e._y,s=e._z,a=e._w,o=this.dot(e);o<0&&(r=-r,i=-i,s=-s,a=-a,o=-o);let c=1-n;if(o<.9995){const u=Math.acos(o),d=Math.sin(u);c=Math.sin(c*u)/d,n=Math.sin(n*u)/d,this._x=this._x*c+r*n,this._y=this._y*c+i*n,this._z=this._z*c+s*n,this._w=this._w*c+a*n,this._onChangeCallback()}else this._x=this._x*c+r*n,this._y=this._y*c+i*n,this._z=this._z*c+s*n,this._w=this._w*c+a*n,this.normalize();return this}slerpQuaternions(e,n,r){return this.copy(e).slerp(n,r)}random(){const e=2*Math.PI*Math.random(),n=2*Math.PI*Math.random(),r=Math.random(),i=Math.sqrt(1-r),s=Math.sqrt(r);return this.set(i*Math.sin(e),i*Math.cos(e),s*Math.sin(n),s*Math.cos(n))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},Qe=class YY{constructor(e=0,n=0,r=0){YY.prototype.isVector3=!0,this.x=e,this.y=n,this.z=r}set(e,n,r){return r===void 0&&(r=this.z),this.x=e,this.y=n,this.z=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(I8.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(I8.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[3]*r+s[6]*i,this.y=s[1]*n+s[4]*r+s[7]*i,this.z=s[2]*n+s[5]*r+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=e.elements,a=1/(s[3]*n+s[7]*r+s[11]*i+s[15]);return this.x=(s[0]*n+s[4]*r+s[8]*i+s[12])*a,this.y=(s[1]*n+s[5]*r+s[9]*i+s[13])*a,this.z=(s[2]*n+s[6]*r+s[10]*i+s[14])*a,this}applyQuaternion(e){const n=this.x,r=this.y,i=this.z,s=e.x,a=e.y,o=e.z,c=e.w,u=2*(a*i-o*r),d=2*(o*n-s*i),f=2*(s*r-a*n);return this.x=n+c*u+a*f-o*d,this.y=r+c*d+o*u-s*f,this.z=i+c*f+s*d-a*u,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[4]*r+s[8]*i,this.y=s[1]*n+s[5]*r+s[9]*i,this.z=s[2]*n+s[6]*r+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=gn(this.x,e.x,n.x),this.y=gn(this.y,e.y,n.y),this.z=gn(this.z,e.z,n.z),this}clampScalar(e,n){return this.x=gn(this.x,e,n),this.y=gn(this.y,e,n),this.z=gn(this.z,e,n),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(gn(r,e,n))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const r=e.x,i=e.y,s=e.z,a=n.x,o=n.y,c=n.z;return this.x=i*c-s*o,this.y=s*a-r*c,this.z=r*o-i*a,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const r=e.dot(this)/n;return this.copy(e).multiplyScalar(r)}projectOnPlane(e){return mC.copy(this).projectOnVector(e),this.sub(mC)}reflect(e){return this.sub(mC.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(gn(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y,i=this.z-e.z;return n*n+r*r+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,r){const i=Math.sin(n)*e;return this.x=i*Math.sin(r),this.y=Math.cos(n)*e,this.z=i*Math.cos(r),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,r){return this.x=e*Math.sin(n),this.y=r,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),r=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=r,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,n=Math.random()*2-1,r=Math.sqrt(1-n*n);return this.x=r*Math.cos(e),this.y=n,this.z=r*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}};const mC=new Qe,I8=new Jh;let dn=class ZY{constructor(e,n,r,i,s,a,o,c,u){ZY.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,a,o,c,u)}set(e,n,r,i,s,a,o,c,u){const d=this.elements;return d[0]=e,d[1]=i,d[2]=o,d[3]=n,d[4]=s,d[5]=c,d[6]=r,d[7]=a,d[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],this}extractBasis(e,n,r){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),r.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,a=r[0],o=r[3],c=r[6],u=r[1],d=r[4],f=r[7],g=r[2],m=r[5],x=r[8],y=i[0],v=i[3],b=i[6],E=i[1],S=i[4],A=i[7],T=i[2],k=i[5],N=i[8];return s[0]=a*y+o*E+c*T,s[3]=a*v+o*S+c*k,s[6]=a*b+o*A+c*N,s[1]=u*y+d*E+f*T,s[4]=u*v+d*S+f*k,s[7]=u*b+d*A+f*N,s[2]=g*y+m*E+x*T,s[5]=g*v+m*S+x*k,s[8]=g*b+m*A+x*N,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],d=e[8];return n*a*d-n*o*u-r*s*d+r*o*c+i*s*u-i*a*c}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],d=e[8],f=d*a-o*u,g=o*c-d*s,m=u*s-a*c,x=n*f+r*g+i*m;if(x===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/x;return e[0]=f*y,e[1]=(i*u-d*r)*y,e[2]=(o*r-i*a)*y,e[3]=g*y,e[4]=(d*n-i*c)*y,e[5]=(i*s-o*n)*y,e[6]=m*y,e[7]=(r*c-u*n)*y,e[8]=(a*n-r*s)*y,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,r,i,s,a,o){const c=Math.cos(s),u=Math.sin(s);return this.set(r*c,r*u,-r*(c*a+u*o)+a+e,-i*u,i*c,-i*(-u*a+c*o)+o+n,0,0,1),this}scale(e,n){return this.premultiply(gC.makeScale(e,n)),this}rotate(e){return this.premultiply(gC.makeRotation(-e)),this}translate(e,n){return this.premultiply(gC.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,r,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<9;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<9;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e}clone(){return new this.constructor().fromArray(this.elements)}};const gC=new dn,U8=new dn().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),F8=new dn().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function fNe(){const t={enabled:!0,workingColorSpace:km,spaces:{},convert:function(i,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===qn&&(i.r=Sc(i.r),i.g=Sc(i.g),i.b=Sc(i.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(i.applyMatrix3(this.spaces[s].toXYZ),i.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===qn&&(i.r=sm(i.r),i.g=sm(i.g),i.b=sm(i.b))),i},workingToColorSpace:function(i,s){return this.convert(i,this.workingColorSpace,s)},colorSpaceToWorking:function(i,s){return this.convert(i,s,this.workingColorSpace)},getPrimaries:function(i){return this.spaces[i].primaries},getTransfer:function(i){return i===Lu?Cw:this.spaces[i].transfer},getToneMappingMode:function(i){return this.spaces[i].outputColorSpaceConfig.toneMappingMode||"standard"},getLuminanceCoefficients:function(i,s=this.workingColorSpace){return i.fromArray(this.spaces[s].luminanceCoefficients)},define:function(i){Object.assign(this.spaces,i)},_getMatrix:function(i,s,a){return i.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(i){return this.spaces[i].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(i=this.workingColorSpace){return this.spaces[i].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(i,s){return q0("ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),t.workingToColorSpace(i,s)},toWorkingColorSpace:function(i,s){return q0("ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),t.colorSpaceToWorking(i,s)}},e=[.64,.33,.3,.6,.15,.06],n=[.2126,.7152,.0722],r=[.3127,.329];return t.define({[km]:{primaries:e,whitePoint:r,transfer:Cw,toXYZ:U8,fromXYZ:F8,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:qa},outputColorSpaceConfig:{drawingBufferColorSpace:qa}},[qa]:{primaries:e,whitePoint:r,transfer:qn,toXYZ:U8,fromXYZ:F8,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:qa}}}),t}const Cn=fNe();function Sc(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function sm(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let np,pNe=class{static getDataURL(e,n="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let r;if(e instanceof HTMLCanvasElement)r=e;else{np===void 0&&(np=kw("canvas")),np.width=e.width,np.height=e.height;const i=np.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),r=np}return r.toDataURL(n)}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=kw("canvas");n.width=e.width,n.height=e.height;const r=n.getContext("2d");r.drawImage(e,0,0,e.width,e.height);const i=r.getImageData(0,0,e.width,e.height),s=i.data;for(let a=0;a1),this.pmremVersion=0}get width(){return this.source.getSize(bC).x}get height(){return this.source.getSize(bC).y}get depth(){return this.source.getSize(bC).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(const n in e){const r=e[n];if(r===void 0){Yt(`Texture.setValues(): parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){Yt(`Texture.setValues(): property '${n}' does not exist.`);continue}i&&r&&i.isVector2&&r.isVector2||i&&r&&i.isVector3&&r.isVector3||i&&r&&i.isMatrix3&&r.isMatrix3?i.copy(r):this[n]=r}}toJSON(e){const n=e===void 0||typeof e=="string";if(!n&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const r={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(r.userData=this.userData),n||(e.textures[this.uuid]=r),r}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==UY)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Wk:e.x=e.x-Math.floor(e.x);break;case mc:e.x=e.x<0?0:1;break;case qk:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Wk:e.y=e.y-Math.floor(e.y);break;case mc:e.y=e.y<0?0:1;break;case qk:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}};$o.DEFAULT_IMAGE=null;$o.DEFAULT_MAPPING=UY;$o.DEFAULT_ANISOTROPY=1;let Yr=class QY{constructor(e=0,n=0,r=0,i=1){QY.prototype.isVector4=!0,this.x=e,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,r,i){return this.x=e,this.y=n,this.z=r,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=this.w,a=e.elements;return this.x=a[0]*n+a[4]*r+a[8]*i+a[12]*s,this.y=a[1]*n+a[5]*r+a[9]*i+a[13]*s,this.z=a[2]*n+a[6]*r+a[10]*i+a[14]*s,this.w=a[3]*n+a[7]*r+a[11]*i+a[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,r,i,s;const c=e.elements,u=c[0],d=c[4],f=c[8],g=c[1],m=c[5],x=c[9],y=c[2],v=c[6],b=c[10];if(Math.abs(d-g)<.01&&Math.abs(f-y)<.01&&Math.abs(x-v)<.01){if(Math.abs(d+g)<.1&&Math.abs(f+y)<.1&&Math.abs(x+v)<.1&&Math.abs(u+m+b-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const S=(u+1)/2,A=(m+1)/2,T=(b+1)/2,k=(d+g)/4,N=(f+y)/4,I=(x+v)/4;return S>A&&S>T?S<.01?(r=0,i=.707106781,s=.707106781):(r=Math.sqrt(S),i=k/r,s=N/r):A>T?A<.01?(r=.707106781,i=0,s=.707106781):(i=Math.sqrt(A),r=k/i,s=I/i):T<.01?(r=.707106781,i=.707106781,s=0):(s=Math.sqrt(T),r=N/s,i=I/s),this.set(r,i,s,n),this}let E=Math.sqrt((v-x)*(v-x)+(f-y)*(f-y)+(g-d)*(g-d));return Math.abs(E)<.001&&(E=1),this.x=(v-x)/E,this.y=(f-y)/E,this.z=(g-d)/E,this.w=Math.acos((u+m+b-1)/2),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this.w=n[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=gn(this.x,e.x,n.x),this.y=gn(this.y,e.y,n.y),this.z=gn(this.z,e.z,n.z),this.w=gn(this.w,e.w,n.w),this}clampScalar(e,n){return this.x=gn(this.x,e,n),this.y=gn(this.y,e,n),this.z=gn(this.z,e,n),this.w=gn(this.w,e,n),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(gn(r,e,n))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this.w=e.w+(n.w-e.w)*r,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}},xNe=class extends mf{constructor(e=1,n=1,r={}){super(),r=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:ro,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},r),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=r.depth,this.scissor=new Yr(0,0,e,n),this.scissorTest=!1,this.viewport=new Yr(0,0,e,n);const i={width:e,height:n,depth:r.depth},s=new $o(i);this.textures=[];const a=r.count;for(let o=0;o1);this.dispose()}this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let n=0,r=e.textures.length;n=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,yo),yo.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,r;return e.normal.x>0?(n=e.normal.x*this.min.x,r=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,r=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,r+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,r+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,r+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,r+=e.normal.z*this.min.z),n<=-e.constant&&r>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(gx),Iy.subVectors(this.max,gx),rp.subVectors(e.a,gx),ip.subVectors(e.b,gx),sp.subVectors(e.c,gx),hu.subVectors(ip,rp),fu.subVectors(sp,ip),Hd.subVectors(rp,sp);let n=[0,-hu.z,hu.y,0,-fu.z,fu.y,0,-Hd.z,Hd.y,hu.z,0,-hu.x,fu.z,0,-fu.x,Hd.z,0,-Hd.x,-hu.y,hu.x,0,-fu.y,fu.x,0,-Hd.y,Hd.x,0];return!vC(n,rp,ip,sp,Iy)||(n=[1,0,0,0,1,0,0,0,1],!vC(n,rp,ip,sp,Iy))?!1:(Uy.crossVectors(hu,fu),n=[Uy.x,Uy.y,Uy.z],vC(n,rp,ip,sp,Iy))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,yo).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(yo).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Vl[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Vl[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Vl[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Vl[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Vl[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Vl[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Vl[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Vl[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Vl),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}};const Vl=[new Qe,new Qe,new Qe,new Qe,new Qe,new Qe,new Qe,new Qe],yo=new Qe,Ly=new tf,rp=new Qe,ip=new Qe,sp=new Qe,hu=new Qe,fu=new Qe,Hd=new Qe,gx=new Qe,Iy=new Qe,Uy=new Qe,$d=new Qe;function vC(t,e,n,r,i){for(let s=0,a=t.length-3;s<=a;s+=3){$d.fromArray(t,s);const o=i.x*Math.abs($d.x)+i.y*Math.abs($d.y)+i.z*Math.abs($d.z),c=e.dot($d),u=n.dot($d),d=r.dot($d);if(Math.max(-Math.max(c,u,d),Math.min(c,u,d))>o)return!1}return!0}const vNe=new tf,xx=new Qe,yC=new Qe;let UE=class{constructor(e=new Qe,n=-1){this.isSphere=!0,this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const r=this.center;n!==void 0?r.copy(n):vNe.setFromPoints(e).getCenter(r);let i=0;for(let s=0,a=e.length;sthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;xx.subVectors(e,this.center);const n=xx.lengthSq();if(n>this.radius*this.radius){const r=Math.sqrt(n),i=(r-this.radius)*.5;this.center.addScaledVector(xx,i/r),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(yC.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(xx.copy(e.center).add(yC)),this.expandByPoint(xx.copy(e.center).sub(yC))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}};const Gl=new Qe,_C=new Qe,Fy=new Qe,pu=new Qe,wC=new Qe,zy=new Qe,SC=new Qe;let ij=class{constructor(e=new Qe,n=new Qe(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Gl)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const r=n.dot(this.direction);return r<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,r)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=Gl.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(Gl.copy(this.origin).addScaledVector(this.direction,n),Gl.distanceToSquared(e))}distanceSqToSegment(e,n,r,i){_C.copy(e).add(n).multiplyScalar(.5),Fy.copy(n).sub(e).normalize(),pu.copy(this.origin).sub(_C);const s=e.distanceTo(n)*.5,a=-this.direction.dot(Fy),o=pu.dot(this.direction),c=-pu.dot(Fy),u=pu.lengthSq(),d=Math.abs(1-a*a);let f,g,m,x;if(d>0)if(f=a*c-o,g=a*o-c,x=s*d,f>=0)if(g>=-x)if(g<=x){const y=1/d;f*=y,g*=y,m=f*(f+a*g+2*o)+g*(a*f+g+2*c)+u}else g=s,f=Math.max(0,-(a*g+o)),m=-f*f+g*(g+2*c)+u;else g=-s,f=Math.max(0,-(a*g+o)),m=-f*f+g*(g+2*c)+u;else g<=-x?(f=Math.max(0,-(-a*s+o)),g=f>0?-s:Math.min(Math.max(-s,-c),s),m=-f*f+g*(g+2*c)+u):g<=x?(f=0,g=Math.min(Math.max(-s,-c),s),m=g*(g+2*c)+u):(f=Math.max(0,-(a*s+o)),g=f>0?s:Math.min(Math.max(-s,-c),s),m=-f*f+g*(g+2*c)+u);else g=a>0?-s:s,f=Math.max(0,-(a*g+o)),m=-f*f+g*(g+2*c)+u;return r&&r.copy(this.origin).addScaledVector(this.direction,f),i&&i.copy(_C).addScaledVector(Fy,g),m}intersectSphere(e,n){Gl.subVectors(e.center,this.origin);const r=Gl.dot(this.direction),i=Gl.dot(Gl)-r*r,s=e.radius*e.radius;if(i>s)return null;const a=Math.sqrt(s-i),o=r-a,c=r+a;return c<0?null:o<0?this.at(c,n):this.at(o,n)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const r=-(this.origin.dot(e.normal)+e.constant)/n;return r>=0?r:null}intersectPlane(e,n){const r=this.distanceToPlane(e);return r===null?null:this.at(r,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let r,i,s,a,o,c;const u=1/this.direction.x,d=1/this.direction.y,f=1/this.direction.z,g=this.origin;return u>=0?(r=(e.min.x-g.x)*u,i=(e.max.x-g.x)*u):(r=(e.max.x-g.x)*u,i=(e.min.x-g.x)*u),d>=0?(s=(e.min.y-g.y)*d,a=(e.max.y-g.y)*d):(s=(e.max.y-g.y)*d,a=(e.min.y-g.y)*d),r>a||s>i||((s>r||isNaN(r))&&(r=s),(a=0?(o=(e.min.z-g.z)*f,c=(e.max.z-g.z)*f):(o=(e.max.z-g.z)*f,c=(e.min.z-g.z)*f),r>c||o>i)||((o>r||r!==r)&&(r=o),(c=0?r:i,n)}intersectsBox(e){return this.intersectBox(e,Gl)!==null}intersectTriangle(e,n,r,i,s){wC.subVectors(n,e),zy.subVectors(r,e),SC.crossVectors(wC,zy);let a=this.direction.dot(SC),o;if(a>0){if(i)return null;o=1}else if(a<0)o=-1,a=-a;else return null;pu.subVectors(this.origin,e);const c=o*this.direction.dot(zy.crossVectors(pu,zy));if(c<0)return null;const u=o*this.direction.dot(wC.cross(pu));if(u<0||c+u>a)return null;const d=-o*pu.dot(SC);return d<0?null:this.at(d/a,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},ri=class SP{constructor(e,n,r,i,s,a,o,c,u,d,f,g,m,x,y,v){SP.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,a,o,c,u,d,f,g,m,x,y,v)}set(e,n,r,i,s,a,o,c,u,d,f,g,m,x,y,v){const b=this.elements;return b[0]=e,b[4]=n,b[8]=r,b[12]=i,b[1]=s,b[5]=a,b[9]=o,b[13]=c,b[2]=u,b[6]=d,b[10]=f,b[14]=g,b[3]=m,b[7]=x,b[11]=y,b[15]=v,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new SP().fromArray(this.elements)}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15],this}copyPosition(e){const n=this.elements,r=e.elements;return n[12]=r[12],n[13]=r[13],n[14]=r[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,r){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),r.setFromMatrixColumn(this,2),this}makeBasis(e,n,r){return this.set(e.x,n.x,r.x,0,e.y,n.y,r.y,0,e.z,n.z,r.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,r=e.elements,i=1/ap.setFromMatrixColumn(e,0).length(),s=1/ap.setFromMatrixColumn(e,1).length(),a=1/ap.setFromMatrixColumn(e,2).length();return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=0,n[4]=r[4]*s,n[5]=r[5]*s,n[6]=r[6]*s,n[7]=0,n[8]=r[8]*a,n[9]=r[9]*a,n[10]=r[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,r=e.x,i=e.y,s=e.z,a=Math.cos(r),o=Math.sin(r),c=Math.cos(i),u=Math.sin(i),d=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const g=a*d,m=a*f,x=o*d,y=o*f;n[0]=c*d,n[4]=-c*f,n[8]=u,n[1]=m+x*u,n[5]=g-y*u,n[9]=-o*c,n[2]=y-g*u,n[6]=x+m*u,n[10]=a*c}else if(e.order==="YXZ"){const g=c*d,m=c*f,x=u*d,y=u*f;n[0]=g+y*o,n[4]=x*o-m,n[8]=a*u,n[1]=a*f,n[5]=a*d,n[9]=-o,n[2]=m*o-x,n[6]=y+g*o,n[10]=a*c}else if(e.order==="ZXY"){const g=c*d,m=c*f,x=u*d,y=u*f;n[0]=g-y*o,n[4]=-a*f,n[8]=x+m*o,n[1]=m+x*o,n[5]=a*d,n[9]=y-g*o,n[2]=-a*u,n[6]=o,n[10]=a*c}else if(e.order==="ZYX"){const g=a*d,m=a*f,x=o*d,y=o*f;n[0]=c*d,n[4]=x*u-m,n[8]=g*u+y,n[1]=c*f,n[5]=y*u+g,n[9]=m*u-x,n[2]=-u,n[6]=o*c,n[10]=a*c}else if(e.order==="YZX"){const g=a*c,m=a*u,x=o*c,y=o*u;n[0]=c*d,n[4]=y-g*f,n[8]=x*f+m,n[1]=f,n[5]=a*d,n[9]=-o*d,n[2]=-u*d,n[6]=m*f+x,n[10]=g-y*f}else if(e.order==="XZY"){const g=a*c,m=a*u,x=o*c,y=o*u;n[0]=c*d,n[4]=-f,n[8]=u*d,n[1]=g*f+y,n[5]=a*d,n[9]=m*f-x,n[2]=x*f-m,n[6]=o*d,n[10]=y*f+g}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(yNe,e,_Ne)}lookAt(e,n,r){const i=this.elements;return ca.subVectors(e,n),ca.lengthSq()===0&&(ca.z=1),ca.normalize(),mu.crossVectors(r,ca),mu.lengthSq()===0&&(Math.abs(r.z)===1?ca.x+=1e-4:ca.z+=1e-4,ca.normalize(),mu.crossVectors(r,ca)),mu.normalize(),By.crossVectors(ca,mu),i[0]=mu.x,i[4]=By.x,i[8]=ca.x,i[1]=mu.y,i[5]=By.y,i[9]=ca.y,i[2]=mu.z,i[6]=By.z,i[10]=ca.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,a=r[0],o=r[4],c=r[8],u=r[12],d=r[1],f=r[5],g=r[9],m=r[13],x=r[2],y=r[6],v=r[10],b=r[14],E=r[3],S=r[7],A=r[11],T=r[15],k=i[0],N=i[4],I=i[8],C=i[12],D=i[1],F=i[5],j=i[9],q=i[13],R=i[2],W=i[6],K=i[10],V=i[14],ee=i[3],Y=i[7],Q=i[11],U=i[15];return s[0]=a*k+o*D+c*R+u*ee,s[4]=a*N+o*F+c*W+u*Y,s[8]=a*I+o*j+c*K+u*Q,s[12]=a*C+o*q+c*V+u*U,s[1]=d*k+f*D+g*R+m*ee,s[5]=d*N+f*F+g*W+m*Y,s[9]=d*I+f*j+g*K+m*Q,s[13]=d*C+f*q+g*V+m*U,s[2]=x*k+y*D+v*R+b*ee,s[6]=x*N+y*F+v*W+b*Y,s[10]=x*I+y*j+v*K+b*Q,s[14]=x*C+y*q+v*V+b*U,s[3]=E*k+S*D+A*R+T*ee,s[7]=E*N+S*F+A*W+T*Y,s[11]=E*I+S*j+A*K+T*Q,s[15]=E*C+S*q+A*V+T*U,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[4],i=e[8],s=e[12],a=e[1],o=e[5],c=e[9],u=e[13],d=e[2],f=e[6],g=e[10],m=e[14],x=e[3],y=e[7],v=e[11],b=e[15];return x*(+s*c*f-i*u*f-s*o*g+r*u*g+i*o*m-r*c*m)+y*(+n*c*m-n*u*g+s*a*g-i*a*m+i*u*d-s*c*d)+v*(+n*u*f-n*o*m-s*a*f+r*a*m+s*o*d-r*u*d)+b*(-i*o*d-n*c*f+n*o*g+i*a*f-r*a*g+r*c*d)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,r){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=r),this}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],d=e[8],f=e[9],g=e[10],m=e[11],x=e[12],y=e[13],v=e[14],b=e[15],E=f*v*u-y*g*u+y*c*m-o*v*m-f*c*b+o*g*b,S=x*g*u-d*v*u-x*c*m+a*v*m+d*c*b-a*g*b,A=d*y*u-x*f*u+x*o*m-a*y*m-d*o*b+a*f*b,T=x*f*c-d*y*c-x*o*g+a*y*g+d*o*v-a*f*v,k=n*E+r*S+i*A+s*T;if(k===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const N=1/k;return e[0]=E*N,e[1]=(y*g*s-f*v*s-y*i*m+r*v*m+f*i*b-r*g*b)*N,e[2]=(o*v*s-y*c*s+y*i*u-r*v*u-o*i*b+r*c*b)*N,e[3]=(f*c*s-o*g*s-f*i*u+r*g*u+o*i*m-r*c*m)*N,e[4]=S*N,e[5]=(d*v*s-x*g*s+x*i*m-n*v*m-d*i*b+n*g*b)*N,e[6]=(x*c*s-a*v*s-x*i*u+n*v*u+a*i*b-n*c*b)*N,e[7]=(a*g*s-d*c*s+d*i*u-n*g*u-a*i*m+n*c*m)*N,e[8]=A*N,e[9]=(x*f*s-d*y*s-x*r*m+n*y*m+d*r*b-n*f*b)*N,e[10]=(a*y*s-x*o*s+x*r*u-n*y*u-a*r*b+n*o*b)*N,e[11]=(d*o*s-a*f*s-d*r*u+n*f*u+a*r*m-n*o*m)*N,e[12]=T*N,e[13]=(d*y*i-x*f*i+x*r*g-n*y*g-d*r*v+n*f*v)*N,e[14]=(x*o*i-a*y*i-x*r*c+n*y*c+a*r*v-n*o*v)*N,e[15]=(a*f*i-d*o*i+d*r*c-n*f*c-a*r*g+n*o*g)*N,this}scale(e){const n=this.elements,r=e.x,i=e.y,s=e.z;return n[0]*=r,n[4]*=i,n[8]*=s,n[1]*=r,n[5]*=i,n[9]*=s,n[2]*=r,n[6]*=i,n[10]*=s,n[3]*=r,n[7]*=i,n[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],r=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,r,i))}makeTranslation(e,n,r){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,r,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),r=Math.sin(e);return this.set(1,0,0,0,0,n,-r,0,0,r,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,0,r,0,0,1,0,0,-r,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,0,r,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const r=Math.cos(n),i=Math.sin(n),s=1-r,a=e.x,o=e.y,c=e.z,u=s*a,d=s*o;return this.set(u*a+r,u*o-i*c,u*c+i*o,0,u*o+i*c,d*o+r,d*c-i*a,0,u*c-i*o,d*c+i*a,s*c*c+r,0,0,0,0,1),this}makeScale(e,n,r){return this.set(e,0,0,0,0,n,0,0,0,0,r,0,0,0,0,1),this}makeShear(e,n,r,i,s,a){return this.set(1,r,s,0,e,1,a,0,n,i,1,0,0,0,0,1),this}compose(e,n,r){const i=this.elements,s=n._x,a=n._y,o=n._z,c=n._w,u=s+s,d=a+a,f=o+o,g=s*u,m=s*d,x=s*f,y=a*d,v=a*f,b=o*f,E=c*u,S=c*d,A=c*f,T=r.x,k=r.y,N=r.z;return i[0]=(1-(y+b))*T,i[1]=(m+A)*T,i[2]=(x-S)*T,i[3]=0,i[4]=(m-A)*k,i[5]=(1-(g+b))*k,i[6]=(v+E)*k,i[7]=0,i[8]=(x+S)*N,i[9]=(v-E)*N,i[10]=(1-(g+y))*N,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,r){const i=this.elements;let s=ap.set(i[0],i[1],i[2]).length();const a=ap.set(i[4],i[5],i[6]).length(),o=ap.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],_o.copy(this);const u=1/s,d=1/a,f=1/o;return _o.elements[0]*=u,_o.elements[1]*=u,_o.elements[2]*=u,_o.elements[4]*=d,_o.elements[5]*=d,_o.elements[6]*=d,_o.elements[8]*=f,_o.elements[9]*=f,_o.elements[10]*=f,n.setFromRotationMatrix(_o),r.x=s,r.y=a,r.z=o,this}makePerspective(e,n,r,i,s,a,o=ol,c=!1){const u=this.elements,d=2*s/(n-e),f=2*s/(r-i),g=(n+e)/(n-e),m=(r+i)/(r-i);let x,y;if(c)x=s/(a-s),y=a*s/(a-s);else if(o===ol)x=-(a+s)/(a-s),y=-2*a*s/(a-s);else if(o===Nw)x=-a/(a-s),y=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return u[0]=d,u[4]=0,u[8]=g,u[12]=0,u[1]=0,u[5]=f,u[9]=m,u[13]=0,u[2]=0,u[6]=0,u[10]=x,u[14]=y,u[3]=0,u[7]=0,u[11]=-1,u[15]=0,this}makeOrthographic(e,n,r,i,s,a,o=ol,c=!1){const u=this.elements,d=2/(n-e),f=2/(r-i),g=-(n+e)/(n-e),m=-(r+i)/(r-i);let x,y;if(c)x=1/(a-s),y=a/(a-s);else if(o===ol)x=-2/(a-s),y=-(a+s)/(a-s);else if(o===Nw)x=-1/(a-s),y=-s/(a-s);else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return u[0]=d,u[4]=0,u[8]=0,u[12]=g,u[1]=0,u[5]=f,u[9]=0,u[13]=m,u[2]=0,u[6]=0,u[10]=x,u[14]=y,u[3]=0,u[7]=0,u[11]=0,u[15]=1,this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<16;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<16;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e[n+9]=r[9],e[n+10]=r[10],e[n+11]=r[11],e[n+12]=r[12],e[n+13]=r[13],e[n+14]=r[14],e[n+15]=r[15],e}};const ap=new Qe,_o=new ri,yNe=new Qe(0,0,0),_Ne=new Qe(1,1,1),mu=new Qe,By=new Qe,ca=new Qe,z8=new ri,B8=new Jh;let hd=class eZ{constructor(e=0,n=0,r=0,i=eZ.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,r,i=this._order){return this._x=e,this._y=n,this._z=r,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,r=!0){const i=e.elements,s=i[0],a=i[4],o=i[8],c=i[1],u=i[5],d=i[9],f=i[2],g=i[6],m=i[10];switch(n){case"XYZ":this._y=Math.asin(gn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-d,m),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(g,u),this._z=0);break;case"YXZ":this._x=Math.asin(-gn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(o,m),this._z=Math.atan2(c,u)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(gn(g,-1,1)),Math.abs(g)<.9999999?(this._y=Math.atan2(-f,m),this._z=Math.atan2(-a,u)):(this._y=0,this._z=Math.atan2(c,s));break;case"ZYX":this._y=Math.asin(-gn(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(g,m),this._z=Math.atan2(c,s)):(this._x=0,this._z=Math.atan2(-a,u));break;case"YZX":this._z=Math.asin(gn(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-d,u),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(o,m));break;case"XZY":this._z=Math.asin(-gn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(g,u),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-d,m),this._y=0);break;default:Yt("Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,r===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,r){return z8.makeRotationFromQuaternion(e),this.setFromRotationMatrix(z8,n,r)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return B8.setFromEuler(this),this.setFromQuaternion(B8,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};hd.DEFAULT_ORDER="XYZ";let tZ=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let r=0;r0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.geometryInfo=this._geometryInfo.map(o=>({...o,boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),i.instanceInfo=this._instanceInfo.map(o=>({...o})),i.availableInstanceIds=this._availableInstanceIds.slice(),i.availableGeometryIds=this._availableGeometryIds.slice(),i.nextIndexStart=this._nextIndexStart,i.nextVertexStart=this._nextVertexStart,i.geometryCount=this._geometryCount,i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.matricesTexture=this._matricesTexture.toJSON(e),i.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(i.boundingBox=this.boundingBox.toJSON()));function s(o,c){return o[c.uuid]===void 0&&(o[c.uuid]=c.toJSON(e)),c.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const c=o.shapes;if(Array.isArray(c))for(let u=0,d=c.length;u0){i.children=[];for(let o=0;o0){i.animations=[];for(let o=0;o0&&(r.geometries=o),c.length>0&&(r.materials=c),u.length>0&&(r.textures=u),d.length>0&&(r.images=d),f.length>0&&(r.shapes=f),g.length>0&&(r.skeletons=g),m.length>0&&(r.animations=m),x.length>0&&(r.nodes=x)}return r.object=i,r;function a(o){const c=[];for(const u in o){const d=o[u];delete d.metadata,c.push(d)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let r=0;r0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,n,r,i,s){wo.subVectors(i,n),ql.subVectors(r,n),MC.subVectors(e,n);const a=wo.dot(wo),o=wo.dot(ql),c=wo.dot(MC),u=ql.dot(ql),d=ql.dot(MC),f=a*u-o*o;if(f===0)return s.set(0,0,0),null;const g=1/f,m=(u*c-o*d)*g,x=(a*d-o*c)*g;return s.set(1-m-x,x,m)}static containsPoint(e,n,r,i){return this.getBarycoord(e,n,r,i,Kl)===null?!1:Kl.x>=0&&Kl.y>=0&&Kl.x+Kl.y<=1}static getInterpolation(e,n,r,i,s,a,o,c){return this.getBarycoord(e,n,r,i,Kl)===null?(c.x=0,c.y=0,"z"in c&&(c.z=0),"w"in c&&(c.w=0),null):(c.setScalar(0),c.addScaledVector(s,Kl.x),c.addScaledVector(a,Kl.y),c.addScaledVector(o,Kl.z),c)}static getInterpolatedAttribute(e,n,r,i,s,a){return NC.setScalar(0),kC.setScalar(0),PC.setScalar(0),NC.fromBufferAttribute(e,n),kC.fromBufferAttribute(e,r),PC.fromBufferAttribute(e,i),a.setScalar(0),a.addScaledVector(NC,s.x),a.addScaledVector(kC,s.y),a.addScaledVector(PC,s.z),a}static isFrontFacing(e,n,r,i){return wo.subVectors(r,n),ql.subVectors(e,n),wo.cross(ql).dot(i)<0}set(e,n,r){return this.a.copy(e),this.b.copy(n),this.c.copy(r),this}setFromPointsAndIndices(e,n,r,i){return this.a.copy(e[n]),this.b.copy(e[r]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,r,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,r),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return wo.subVectors(this.c,this.b),ql.subVectors(this.a,this.b),wo.cross(ql).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Fp.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return Fp.getBarycoord(e,this.a,this.b,this.c,n)}getInterpolation(e,n,r,i,s){return Fp.getInterpolation(e,this.a,this.b,this.c,n,r,i,s)}containsPoint(e){return Fp.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Fp.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const r=this.a,i=this.b,s=this.c;let a,o;cp.subVectors(i,r),up.subVectors(s,r),AC.subVectors(e,r);const c=cp.dot(AC),u=up.dot(AC);if(c<=0&&u<=0)return n.copy(r);TC.subVectors(e,i);const d=cp.dot(TC),f=up.dot(TC);if(d>=0&&f<=d)return n.copy(i);const g=c*f-d*u;if(g<=0&&c>=0&&d<=0)return a=c/(c-d),n.copy(r).addScaledVector(cp,a);CC.subVectors(e,s);const m=cp.dot(CC),x=up.dot(CC);if(x>=0&&m<=x)return n.copy(s);const y=m*u-c*x;if(y<=0&&u>=0&&x<=0)return o=u/(u-x),n.copy(r).addScaledVector(up,o);const v=d*x-m*f;if(v<=0&&f-d>=0&&m-x>=0)return q8.subVectors(s,i),o=(f-d)/(f-d+(m-x)),n.copy(i).addScaledVector(q8,o);const b=1/(v+y+g);return a=y*b,o=g*b,n.copy(r).addScaledVector(cp,a).addScaledVector(up,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}};const nZ={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},gu={h:0,s:0,l:0},$y={h:0,s:0,l:0};function RC(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}let _n=class{constructor(e,n,r){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,r)}set(e,n,r){if(n===void 0&&r===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,r);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=qa){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Cn.colorSpaceToWorking(this,n),this}setRGB(e,n,r,i=Cn.workingColorSpace){return this.r=e,this.g=n,this.b=r,Cn.colorSpaceToWorking(this,i),this}setHSL(e,n,r,i=Cn.workingColorSpace){if(e=dNe(e,1),n=gn(n,0,1),r=gn(r,0,1),n===0)this.r=this.g=this.b=r;else{const s=r<=.5?r*(1+n):r+n-r*n,a=2*r-s;this.r=RC(a,s,e+1/3),this.g=RC(a,s,e),this.b=RC(a,s,e-1/3)}return Cn.colorSpaceToWorking(this,i),this}setStyle(e,n=qa){function r(s){s!==void 0&&parseFloat(s)<1&&Yt("Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const a=i[1],o=i[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,n);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,n);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,n);break;default:Yt("Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=i[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,n);if(a===6)return this.setHex(parseInt(s,16),n);Yt("Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=qa){const r=nZ[e.toLowerCase()];return r!==void 0?this.setHex(r,n):Yt("Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Sc(e.r),this.g=Sc(e.g),this.b=Sc(e.b),this}copyLinearToSRGB(e){return this.r=sm(e.r),this.g=sm(e.g),this.b=sm(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=qa){return Cn.workingToColorSpace(as.copy(this),e),Math.round(gn(as.r*255,0,255))*65536+Math.round(gn(as.g*255,0,255))*256+Math.round(gn(as.b*255,0,255))}getHexString(e=qa){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=Cn.workingColorSpace){Cn.workingToColorSpace(as.copy(this),n);const r=as.r,i=as.g,s=as.b,a=Math.max(r,i,s),o=Math.min(r,i,s);let c,u;const d=(o+a)/2;if(o===a)c=0,u=0;else{const f=a-o;switch(u=d<=.5?f/(a+o):f/(2-a-o),a){case r:c=(i-s)/f+(i0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const r=e[n];if(r===void 0){Yt(`Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){Yt(`Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(r):i&&i.isVector3&&r&&r.isVector3?i.copy(r):this[n]=r}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const r={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),this.roughness!==void 0&&(r.roughness=this.roughness),this.metalness!==void 0&&(r.metalness=this.metalness),this.sheen!==void 0&&(r.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(r.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(r.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(r.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(r.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(r.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(r.shininess=this.shininess),this.clearcoat!==void 0&&(r.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(r.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(r.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(r.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(r.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,r.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(r.sheenColorMap=this.sheenColorMap.toJSON(e).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(r.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid),this.dispersion!==void 0&&(r.dispersion=this.dispersion),this.iridescence!==void 0&&(r.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(r.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(r.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(r.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(r.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(r.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(r.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(r.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(r.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(e).uuid,r.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(r.aoMap=this.aoMap.toJSON(e).uuid,r.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(e).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(e).uuid,r.normalMapType=this.normalMapType,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(e).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(r.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(r.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(r.combine=this.combine)),this.envMapRotation!==void 0&&(r.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(r.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(r.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(r.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(r.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(r.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(r.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(r.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(r.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(r.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(r.size=this.size),this.shadowSide!==null&&(r.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==im&&(r.blending=this.blending),this.side!==dd&&(r.side=this.side),this.vertexColors===!0&&(r.vertexColors=!0),this.opacity<1&&(r.opacity=this.opacity),this.transparent===!0&&(r.transparent=!0),this.blendSrc!==jk&&(r.blendSrc=this.blendSrc),this.blendDst!==Lk&&(r.blendDst=this.blendDst),this.blendEquation!==ah&&(r.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(r.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(r.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(r.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(r.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(r.blendAlpha=this.blendAlpha),this.depthFunc!==Tm&&(r.depthFunc=this.depthFunc),this.depthTest===!1&&(r.depthTest=this.depthTest),this.depthWrite===!1&&(r.depthWrite=this.depthWrite),this.colorWrite===!1&&(r.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(r.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==R8&&(r.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(r.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(r.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==tp&&(r.stencilFail=this.stencilFail),this.stencilZFail!==tp&&(r.stencilZFail=this.stencilZFail),this.stencilZPass!==tp&&(r.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(r.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(r.rotation=this.rotation),this.polygonOffset===!0&&(r.polygonOffset=!0),this.polygonOffsetFactor!==0&&(r.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(r.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(r.linewidth=this.linewidth),this.dashSize!==void 0&&(r.dashSize=this.dashSize),this.gapSize!==void 0&&(r.gapSize=this.gapSize),this.scale!==void 0&&(r.scale=this.scale),this.dithering===!0&&(r.dithering=!0),this.alphaTest>0&&(r.alphaTest=this.alphaTest),this.alphaHash===!0&&(r.alphaHash=!0),this.alphaToCoverage===!0&&(r.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(r.premultipliedAlpha=!0),this.forceSinglePass===!0&&(r.forceSinglePass=!0),this.wireframe===!0&&(r.wireframe=!0),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(r.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(r.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(r.flatShading=!0),this.visible===!1&&(r.visible=!1),this.toneMapped===!1&&(r.toneMapped=!1),this.fog===!1&&(r.fog=!1),Object.keys(this.userData).length>0&&(r.userData=this.userData);function i(s){const a=[];for(const o in s){const c=s[o];delete c.metadata,a.push(c)}return a}if(n){const s=i(e.textures),a=i(e.images);s.length>0&&(r.textures=s),a.length>0&&(r.images=a)}return r}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let r=null;if(n!==null){const i=n.length;r=new Array(i);for(let s=0;s!==i;++s)r[s]=n[s].clone()}return this.clippingPlanes=r,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}},sj=class extends lg{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new _n(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new hd,this.combine=XO,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}};const qr=new Qe,Vy=new cn;let TNe=0,io=class{constructor(e,n,r=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:TNe++}),this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=r,this.usage=D8,this.updateRanges=[],this.gpuType=gc,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,r){e*=this.itemSize,r*=n.itemSize;for(let i=0,s=this.itemSize;in.count&&Yt("BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),n.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new tf);const e=this.attributes.position,n=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){zr("BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new Qe(-1/0,-1/0,-1/0),new Qe(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),n)for(let r=0,i=n.length;r0&&(e.userData=this.userData),this.parameters!==void 0){const c=this.parameters;for(const u in c)c[u]!==void 0&&(e[u]=c[u]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const r=this.attributes;for(const c in r){const u=r[c];e.data.attributes[c]=u.toJSON(e.data)}const i={};let s=!1;for(const c in this.morphAttributes){const u=this.morphAttributes[c],d=[];for(let f=0,g=u.length;f0&&(i[c]=d,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const r=e.index;r!==null&&this.setIndex(r.clone());const i=e.attributes;for(const u in i){const d=i[u];this.setAttribute(u,d.clone(n))}const s=e.morphAttributes;for(const u in s){const d=[],f=s[u];for(let g=0,m=f.length;g0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=i.length;s(e.far-e.near)**2))&&(K8.copy(s).invert(),Vd.copy(e.ray).applyMatrix4(K8),!(r.boundingBox!==null&&Vd.intersectsBox(r.boundingBox)===!1)&&this._computeIntersections(e,n,Vd)))}_computeIntersections(e,n,r){let i;const s=this.geometry,a=this.material,o=s.index,c=s.attributes.position,u=s.attributes.uv,d=s.attributes.uv1,f=s.attributes.normal,g=s.groups,m=s.drawRange;if(o!==null)if(Array.isArray(a))for(let x=0,y=g.length;xn.far?null:{distance:u,point:Yy.clone(),object:t}}function Zy(t,e,n,r,i,s,a,o,c,u){t.getVertexPosition(o,Wy),t.getVertexPosition(c,qy),t.getVertexPosition(u,Ky);const d=NNe(t,e,n,r,Wy,qy,Ky,Y8);if(d){const f=new Qe;vx.getBarycoord(Y8,Wy,qy,Ky,f),i&&(d.uv=vx.getInterpolatedAttribute(i,o,c,u,f,new cn)),s&&(d.uv1=vx.getInterpolatedAttribute(s,o,c,u,f,new cn)),a&&(d.normal=vx.getInterpolatedAttribute(a,o,c,u,f,new Qe),d.normal.dot(r.direction)>0&&d.normal.multiplyScalar(-1));const g={a:o,b:c,c:u,normal:new Qe,materialIndex:0};vx.getNormal(Wy,qy,Ky,g.normal),d.face=g,d.barycoord=f}return d}let aj=class aZ extends Ml{constructor(e=1,n=1,r=1,i=1,s=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:r,widthSegments:i,heightSegments:s,depthSegments:a};const o=this;i=Math.floor(i),s=Math.floor(s),a=Math.floor(a);const c=[],u=[],d=[],f=[];let g=0,m=0;x("z","y","x",-1,-1,r,n,e,a,s,0),x("z","y","x",1,-1,r,n,-e,a,s,1),x("x","z","y",1,1,e,r,n,i,a,2),x("x","z","y",1,-1,e,r,-n,i,a,3),x("x","y","z",1,-1,e,n,r,i,s,4),x("x","y","z",-1,-1,e,n,-r,i,s,5),this.setIndex(c),this.setAttribute("position",new Io(u,3)),this.setAttribute("normal",new Io(d,3)),this.setAttribute("uv",new Io(f,2));function x(y,v,b,E,S,A,T,k,N,I,C){const D=A/N,F=T/I,j=A/2,q=T/2,R=k/2,W=N+1,K=I+1;let V=0,ee=0;const Y=new Qe;for(let Q=0;Q0?1:-1,d.push(Y.x,Y.y,Y.z),f.push(z/N),f.push(1-Q/I),V+=1}}for(let Q=0;Q{var{cx:r,cy:i,innerRadius:s,outerRadius:a,startAngle:o,endAngle:c}=t,u=(o+c)/2;if(n==="outside"){var{x:d,y:f}=Jr(r,i,a+e,u);return{x:d,y:f,textAnchor:d>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var g=(s+a)/2,{x:m,y:x}=Jr(r,i,g,u);return{x:m,y:x,textAnchor:"middle",verticalAnchor:"middle"}},Ak=t=>"cx"in t&&Pt(t.cx),W1e=(t,e)=>{var{parentViewBox:n,offset:r,position:i}=t,s;n!=null&&!Ak(n)&&(s=n);var{x:a,y:o,upperWidth:c,lowerWidth:u,height:d}=e,f=a,g=a+(c-u)/2,m=(f+g)/2,x=(c+u)/2,y=f+c/2,v=d>=0?1:-1,b=v*r,E=v>0?"end":"start",S=v>0?"start":"end",A=c>=0?1:-1,T=A*r,k=A>0?"end":"start",N=A>0?"start":"end";if(i==="top"){var I={x:f+c/2,y:o-b,textAnchor:"middle",verticalAnchor:E};return Fr(Fr({},I),s?{height:Math.max(o-s.y,0),width:c}:{})}if(i==="bottom"){var C={x:g+u/2,y:o+d+b,textAnchor:"middle",verticalAnchor:S};return Fr(Fr({},C),s?{height:Math.max(s.y+s.height-(o+d),0),width:u}:{})}if(i==="left"){var D={x:m-T,y:o+d/2,textAnchor:k,verticalAnchor:"middle"};return Fr(Fr({},D),s?{width:Math.max(D.x-s.x,0),height:d}:{})}if(i==="right"){var F={x:m+x+T,y:o+d/2,textAnchor:N,verticalAnchor:"middle"};return Fr(Fr({},F),s?{width:Math.max(s.x+s.width-F.x,0),height:d}:{})}var j=s?{width:x,height:d}:{};return i==="insideLeft"?Fr({x:m+T,y:o+d/2,textAnchor:N,verticalAnchor:"middle"},j):i==="insideRight"?Fr({x:m+x-T,y:o+d/2,textAnchor:k,verticalAnchor:"middle"},j):i==="insideTop"?Fr({x:f+c/2,y:o+b,textAnchor:"middle",verticalAnchor:S},j):i==="insideBottom"?Fr({x:g+u/2,y:o+d-b,textAnchor:"middle",verticalAnchor:E},j):i==="insideTopLeft"?Fr({x:f+T,y:o+b,textAnchor:N,verticalAnchor:S},j):i==="insideTopRight"?Fr({x:f+c-T,y:o+b,textAnchor:k,verticalAnchor:S},j):i==="insideBottomLeft"?Fr({x:g+T,y:o+d-b,textAnchor:N,verticalAnchor:E},j):i==="insideBottomRight"?Fr({x:g+u-T,y:o+d-b,textAnchor:k,verticalAnchor:E},j):i&&typeof i=="object"&&(Pt(i.x)||Cc(i.x))&&(Pt(i.y)||Cc(i.y))?Fr({x:a+ms(i.x,x),y:o+ms(i.y,d),textAnchor:"end",verticalAnchor:"end"},j):Fr({x:y,y:o+d/2,textAnchor:"middle",verticalAnchor:"middle"},j)},q1e={angle:0,offset:5,zIndex:Rr.label,position:"middle",textBreakAll:!1};function Cu(t){var e=Sr(t,q1e),{viewBox:n,position:r,value:i,children:s,content:a,className:o="",textBreakAll:c,labelRef:u}=e,d=B1e(),f=RX(),g=r==="center"?f:d??f,m,x,y;if(n==null?m=g:Ak(n)?m=n:m=YW(n),!m||dr(i)&&dr(s)&&!M.isValidElement(a)&&typeof a!="function")return null;var v=Fr(Fr({},e),{},{viewBox:m});if(M.isValidElement(a)){var{labelRef:b}=v,E=j1e(v,O1e);return M.cloneElement(a,E)}if(typeof a=="function"){if(x=M.createElement(a,v),M.isValidElement(x))return x}else x=H1e(e);var S=ns(e);if(Ak(m)){if(r==="insideStart"||r==="insideEnd"||r==="end")return V1e(e,r,x,S,m);y=G1e(m,e.offset,e.position)}else y=W1e(e,m);return M.createElement(gs,{zIndex:e.zIndex},M.createElement(TE,uc({ref:u,className:En("recharts-label",o)},S,y,{textAnchor:N1e(S.textAnchor)?S.textAnchor:y.textAnchor,breakAll:c}),x))}Cu.displayName="Label";var K1e=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?M.createElement(Cu,uc({key:"label-implicit"},r)):co(t)?M.createElement(Cu,uc({key:"label-implicit",value:t},r)):M.isValidElement(t)?t.type===Cu?M.cloneElement(t,Fr({key:"label-implicit"},r)):M.createElement(Cu,uc({key:"label-implicit",content:t},r)):CO(t)?M.createElement(Cu,uc({key:"label-implicit",content:t},r)):t&&typeof t=="object"?M.createElement(Cu,uc({},t,{key:"label-implicit"},r)):null};function DX(t){var{label:e,labelRef:n}=t,r=RX();return K1e(e,r,n)||null}var QT={},JT={},M6;function X1e(){return M6||(M6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n[n.length-1]}t.last=e})(JT)),JT}var eC={},A6;function Y1e(){return A6||(A6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Array.isArray(n)?n:Array.from(n)}t.toArray=e})(eC)),eC}var T6;function Z1e(){return T6||(T6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=X1e(),n=Y1e(),r=nD();function i(s){if(r.isArrayLike(s))return e.last(n.toArray(s))}t.last=i})(QT)),QT}var tC,C6;function Q1e(){return C6||(C6=1,tC=Z1e().last),tC}var J1e=Q1e();const ewe=fo(J1e);var twe=["valueAccessor"],nwe=["dataKey","clockWise","id","textBreakAll","zIndex"];function fw(){return fw=Object.assign?Object.assign.bind():function(t){for(var e=1;eArray.isArray(t.value)?ewe(t.value):t.value,OX=M.createContext(void 0),NO=OX.Provider,jX=M.createContext(void 0),swe=jX.Provider;function awe(){return M.useContext(OX)}function owe(){return M.useContext(jX)}function s1(t){var{valueAccessor:e=iwe}=t,n=N6(t,twe),{dataKey:r,clockWise:i,id:s,textBreakAll:a,zIndex:o}=n,c=N6(n,nwe),u=awe(),d=owe(),f=u||d;return!f||!f.length?null:M.createElement(gs,{zIndex:o??Rr.label},M.createElement(wr,{className:"recharts-label-list"},f.map((g,m)=>{var x,y=dr(r)?e(g,m):Bn(g&&g.payload,r),v=dr(s)?{}:{id:"".concat(s,"-").concat(m)};return M.createElement(Cu,fw({key:"label-".concat(m)},ns(g),c,v,{fill:(x=n.fill)!==null&&x!==void 0?x:g.fill,parentViewBox:g.parentViewBox,value:y,textBreakAll:a,viewBox:g.viewBox,index:m,zIndex:0}))})))}s1.displayName="LabelList";function CE(t){var{label:e}=t;return e?e===!0?M.createElement(s1,{key:"labelList-implicit"}):M.isValidElement(e)||CO(e)?M.createElement(s1,{key:"labelList-implicit",content:e}):typeof e=="object"?M.createElement(s1,fw({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function Tk(){return Tk=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{cx:e,cy:n,r,className:i}=t,s=En("recharts-dot",i);return Pt(e)&&Pt(n)&&Pt(r)?M.createElement("circle",Tk({},Ns(t),tD(t),{className:s,cx:e,cy:n,r})):null},IX=t=>t.graphicalItems.polarItems,lwe=Ge([xr,Db],QD),NE=Ge([IX,Er,lwe],JD),cwe=Ge([NE],eO),kE=Ge([cwe,HD],tO),uwe=Ge([kE,Er,NE],rO);Ge([kE,Er,NE],(t,e,n)=>n.length>0?t.flatMap(r=>n.flatMap(i=>{var s,a=Bn(r,(s=e.dataKey)!==null&&s!==void 0?s:i.dataKey);return{value:a,errorDomain:[]}})).filter(Boolean):e?.dataKey!=null?t.map(r=>({value:Bn(r,e.dataKey),errorDomain:[]})):t.map(r=>({value:r,errorDomain:[]})));var k6=()=>{},dwe=Ge([kE,Er,NE,SE,xr],oO),hwe=Ge([Er,sO,aO,k6,dwe,k6,xn,xr],lO),UX=Ge([Er,xn,kE,uwe,Rb,xr,hwe],cO),fwe=Ge([UX,Er,ig],hO);Ge([Er,UX,fwe,xr],pO);var pwe={radiusAxis:{},angleAxis:{}},FX=Js({name:"polarAxis",initialState:pwe,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),{addRadiusAxis:z7e,removeRadiusAxis:B7e,addAngleAxis:H7e,removeAngleAxis:$7e}=FX.actions,mwe=FX.reducer;function P6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function R6(t){for(var e=1;ee,kO=Ge([IX,vwe],(t,e)=>t.filter(n=>n.type==="pie").find(n=>n.id===e)),ywe=[],PO=(t,e,n)=>n?.length===0?ywe:n,zX=Ge([HD,kO,PO],(t,e,n)=>{var{chartData:r}=t;if(e!=null){var i;if(e?.data!=null&&e.data.length>0?i=e.data:i=r,(!i||!i.length)&&n!=null&&(i=n.map(s=>R6(R6({},e.presentationProps),s.props))),i!=null)return i}}),_we=Ge([zX,kO,PO],(t,e,n)=>{if(!(t==null||e==null))return t.map((r,i)=>{var s,a=Bn(r,e.nameKey,e.name),o;return n!=null&&(s=n[i])!==null&&s!==void 0&&(s=s.props)!==null&&s!==void 0&&s.fill?o=n[i].props.fill:typeof r=="object"&&r!=null&&"fill"in r?o=r.fill:o=e.fill,{value:vd(a,e.dataKey),color:o,payload:r,type:e.legendType}})}),wwe=Ge([zX,kO,PO,bi],(t,e,n,r)=>{if(!(e==null||t==null))return SSe({offset:r,pieSettings:e,displayedData:t,cells:n})}),nC={exports:{}},Wn={};var D6;function Swe(){if(D6)return Wn;D6=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),a=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),g=Symbol.for("react.view_transition"),m=Symbol.for("react.client.reference");function x(y){if(typeof y=="object"&&y!==null){var v=y.$$typeof;switch(v){case t:switch(y=y.type,y){case n:case i:case r:case c:case u:case g:return y;default:switch(y=y&&y.$$typeof,y){case a:case o:case f:case d:return y;case s:return y;default:return v}}case e:return v}}}return Wn.ContextConsumer=s,Wn.ContextProvider=a,Wn.Element=t,Wn.ForwardRef=o,Wn.Fragment=n,Wn.Lazy=f,Wn.Memo=d,Wn.Portal=e,Wn.Profiler=i,Wn.StrictMode=r,Wn.Suspense=c,Wn.SuspenseList=u,Wn.isContextConsumer=function(y){return x(y)===s},Wn.isContextProvider=function(y){return x(y)===a},Wn.isElement=function(y){return typeof y=="object"&&y!==null&&y.$$typeof===t},Wn.isForwardRef=function(y){return x(y)===o},Wn.isFragment=function(y){return x(y)===n},Wn.isLazy=function(y){return x(y)===f},Wn.isMemo=function(y){return x(y)===d},Wn.isPortal=function(y){return x(y)===e},Wn.isProfiler=function(y){return x(y)===i},Wn.isStrictMode=function(y){return x(y)===r},Wn.isSuspense=function(y){return x(y)===c},Wn.isSuspenseList=function(y){return x(y)===u},Wn.isValidElementType=function(y){return typeof y=="string"||typeof y=="function"||y===n||y===i||y===r||y===c||y===u||typeof y=="object"&&y!==null&&(y.$$typeof===f||y.$$typeof===d||y.$$typeof===a||y.$$typeof===s||y.$$typeof===o||y.$$typeof===m||y.getModuleId!==void 0)},Wn.typeOf=x,Wn}var O6;function Ewe(){return O6||(O6=1,nC.exports=Swe()),nC.exports}var Mwe=Ewe(),j6=t=>typeof t=="string"?t:t?t.displayName||t.name||"Component":"",L6=null,rC=null,BX=t=>{if(t===L6&&Array.isArray(rC))return rC;var e=[];return M.Children.forEach(t,n=>{dr(n)||(Mwe.isFragment(n)?e=e.concat(BX(n.props.children)):e.push(n))}),rC=e,L6=t,e};function RO(t,e){var n=[],r=[];return Array.isArray(e)?r=e.map(i=>j6(i)):r=[j6(e)],BX(t).forEach(i=>{var s=Wh(i,"type.displayName")||Wh(i,"type.name");s&&r.indexOf(s)!==-1&&n.push(i)}),n}var DO=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0,iC={},I6;function Awe(){return I6||(I6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const i=n[Symbol.toStringTag];return i==null||!Object.getOwnPropertyDescriptor(n,Symbol.toStringTag)?.writable?!1:n.toString()===`[object ${i}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}t.isPlainObject=e})(iC)),iC}var sC,U6;function Twe(){return U6||(U6=1,sC=Awe().isPlainObject),sC}var Cwe=Twe();const Nwe=fo(Cwe);function F6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function z6(t){for(var e=1;e{var s=n-r,a;return a="M ".concat(t,",").concat(e),a+="L ".concat(t+n,",").concat(e),a+="L ".concat(t+n-s/2,",").concat(e+i),a+="L ".concat(t+n-s/2-r,",").concat(e+i),a+="L ".concat(t,",").concat(e," Z"),a},Dwe={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Owe=t=>{var e=Sr(t,Dwe),{x:n,y:r,upperWidth:i,lowerWidth:s,height:a,className:o}=e,{animationEasing:c,animationDuration:u,animationBegin:d,isUpdateAnimationActive:f}=e,g=M.useRef(null),[m,x]=M.useState(-1),y=M.useRef(i),v=M.useRef(s),b=M.useRef(a),E=M.useRef(n),S=M.useRef(r),A=Qm(t,"trapezoid-");if(M.useEffect(()=>{if(g.current&&g.current.getTotalLength)try{var R=g.current.getTotalLength();R&&x(R)}catch{}},[]),n!==+n||r!==+r||i!==+i||s!==+s||a!==+a||i===0&&s===0||a===0)return null;var T=En("recharts-trapezoid",o);if(!f)return M.createElement("g",null,M.createElement("path",pw({},ns(e),{className:T,d:B6(n,r,i,s,a)})));var k=y.current,N=v.current,I=b.current,C=E.current,D=S.current,F="0px ".concat(m===-1?1:m,"px"),j="".concat(m,"px 0px"),q=cq(["strokeDasharray"],u,c);return M.createElement(Zm,{animationId:A,key:A,canBegin:m>0,duration:u,easing:c,isActive:f,begin:d},R=>{var W=On(k,i,R),K=On(N,s,R),V=On(I,a,R),ee=On(C,n,R),Y=On(D,r,R);g.current&&(y.current=W,v.current=K,b.current=V,E.current=ee,S.current=Y);var Q=R>0?{transition:q,strokeDasharray:j}:{strokeDasharray:F};return M.createElement("path",pw({},ns(e),{className:T,d:B6(ee,Y,W,K,V),ref:g,style:z6(z6({},Q),e.style)}))})},jwe=["option","shapeType","propTransformer","activeClassName"];function Lwe(t,e){if(t==null)return{};var n,r,i=Iwe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var r=rr();return(i,s)=>a=>{t?.(i,s,a),r(QK({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},LO=t=>{var e=rr();return(n,r)=>i=>{t?.(n,r,i),e(iye())}},IO=(t,e,n)=>{var r=rr();return(i,s)=>a=>{t?.(i,s,a),r(sye({activeIndex:String(s),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function PE(t){var{tooltipEntrySettings:e}=t,n=rr(),r=vi(),i=M.useRef(null);return M.useLayoutEffect(()=>{r||(i.current===null?n(eye(e)):i.current!==e&&n(tye({prev:i.current,next:e})),i.current=e)},[e,n,r]),M.useLayoutEffect(()=>()=>{i.current&&(n(nye(i.current)),i.current=null)},[n]),null}function UO(t){var{legendPayload:e}=t,n=rr(),r=vi(),i=M.useRef(null);return M.useLayoutEffect(()=>{r||(i.current===null?n(sq(e)):i.current!==e&&n(aq({prev:i.current,next:e})),i.current=e)},[n,r,e]),M.useLayoutEffect(()=>()=>{i.current&&(n(oq(i.current)),i.current=null)},[n]),null}function Vwe(t){var{legendPayload:e}=t,n=rr(),r=Ct(xn),i=M.useRef(null);return M.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(i.current===null?n(sq(e)):i.current!==e&&n(aq({prev:i.current,next:e})),i.current=e)},[n,r,e]),M.useLayoutEffect(()=>()=>{i.current&&(n(oq(i.current)),i.current=null)},[n]),null}var aC,Gwe=()=>{var[t]=M.useState(()=>T0("uid-"));return t},Wwe=(aC=Mre.useId)!==null&&aC!==void 0?aC:Gwe;function HX(t,e){var n=Wwe();return e||(t?"".concat(t,"-").concat(n):n)}var qwe=M.createContext(void 0),RE=t=>{var{id:e,type:n,children:r}=t,i=HX("recharts-".concat(n),e);return M.createElement(qwe.Provider,{value:i},r(i))},Kwe={cartesianItems:[],polarItems:[]},$X=Js({name:"graphicalItems",initialState:Kwe,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:fr()},replaceCartesianGraphicalItem:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Lo(t).cartesianItems.indexOf(n);i>-1&&(t.cartesianItems[i]=r)},prepare:fr()},removeCartesianGraphicalItem:{reducer(t,e){var n=Lo(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:fr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:fr()},removePolarGraphicalItem:{reducer(t,e){var n=Lo(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:fr()}}}),{addCartesianGraphicalItem:Xwe,replaceCartesianGraphicalItem:Ywe,removeCartesianGraphicalItem:Zwe,addPolarGraphicalItem:Qwe,removePolarGraphicalItem:Jwe}=$X.actions,eSe=$X.reducer,tSe=t=>{var e=rr(),n=M.useRef(null);return M.useLayoutEffect(()=>{n.current===null?e(Xwe(t)):n.current!==t&&e(Ywe({prev:n.current,next:t})),n.current=t},[e,t]),M.useLayoutEffect(()=>()=>{n.current&&(e(Zwe(n.current)),n.current=null)},[e]),null},FO=M.memo(tSe);function nSe(t){var e=rr();return M.useLayoutEffect(()=>(e(Qwe(t)),()=>{e(Jwe(t))}),[e,t]),null}var rSe=["key"],iSe=["onMouseEnter","onClick","onMouseLeave"],sSe=["id"],aSe=["id"];function V6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function kr(t){for(var e=1;eRO(t.children,$b),[t.children]),n=Ct(r=>_we(r,t.id,e));return n==null?null:M.createElement(Vwe,{legendPayload:n})}var hSe=M.memo(t=>{var{dataKey:e,nameKey:n,sectors:r,stroke:i,strokeWidth:s,fill:a,name:o,hide:c,tooltipType:u}=t,d={dataDefinedOnItem:r.map(f=>f.tooltipPayload),positions:r.map(f=>f.tooltipPosition),settings:{stroke:i,strokeWidth:s,fill:a,dataKey:e,nameKey:n,name:vd(o,e),hide:c,type:u,color:a,unit:""}};return M.createElement(PE,{tooltipEntrySettings:d})}),fSe=(t,e)=>t>e?"start":tms(typeof e=="function"?e(t):e,n,n*.8),mSe=(t,e,n)=>{var{top:r,left:i,width:s,height:a}=e,o=pq(s,a),c=i+ms(t.cx,s,s/2),u=r+ms(t.cy,a,a/2),d=ms(t.innerRadius,o,0),f=pSe(n,t.outerRadius,o),g=t.maxRadius||Math.sqrt(s*s+a*a)/2;return{cx:c,cy:u,innerRadius:d,outerRadius:f,maxRadius:g}},gSe=(t,e)=>{var n=Li(e-t),r=Math.min(Math.abs(e-t),360);return n*r};function xSe(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var bSe=(t,e)=>{if(M.isValidElement(t))return M.cloneElement(t,e);if(typeof t=="function")return t(e);var n=En("recharts-pie-label-line",typeof t!="boolean"?t.className:""),{key:r}=e,i=DE(e,rSe);return M.createElement(tm,ud({},i,{type:"linear",className:n}))},vSe=(t,e,n)=>{if(M.isValidElement(t))return M.cloneElement(t,e);var r=n;if(typeof t=="function"&&(r=t(e),M.isValidElement(r)))return r;var i=En("recharts-pie-label-text",xSe(t));return M.createElement(TE,ud({},e,{alignmentBaseline:"middle",className:i}),r)};function ySe(t){var{sectors:e,props:n,showLabels:r}=t,{label:i,labelLine:s,dataKey:a}=n;if(!r||!i||!e)return null;var o=Ns(n),c=Gh(i),u=Gh(s),d=typeof i=="object"&&"offsetRadius"in i&&typeof i.offsetRadius=="number"&&i.offsetRadius||20,f=e.map((g,m)=>{var x=(g.startAngle+g.endAngle)/2,y=Jr(g.cx,g.cy,g.outerRadius+d,x),v=kr(kr(kr(kr({},o),g),{},{stroke:"none"},c),{},{index:m,textAnchor:fSe(y.x,g.cx)},y),b=kr(kr(kr(kr({},o),g),{},{fill:"none",stroke:g.fill},u),{},{index:m,points:[Jr(g.cx,g.cy,g.outerRadius,x),y],key:"line"});return M.createElement(gs,{zIndex:Rr.label,key:"label-".concat(g.startAngle,"-").concat(g.endAngle,"-").concat(g.midAngle,"-").concat(m)},M.createElement(wr,null,s&&bSe(s,b),vSe(i,v,Bn(g,a))))});return M.createElement(wr,{className:"recharts-pie-labels"},f)}function _Se(t){var{sectors:e,props:n,showLabels:r}=t,{label:i}=n;return typeof i=="object"&&i!=null&&"position"in i?M.createElement(CE,{label:i}):M.createElement(ySe,{sectors:e,props:n,showLabels:r})}function wSe(t){var{sectors:e,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:s,id:a}=t,o=Ct(cd),c=Ct(SO),u=Ct(Vye),{onMouseEnter:d,onClick:f,onMouseLeave:g}=i,m=DE(i,iSe),x=jO(d,i.dataKey,a),y=LO(g),v=IO(f,i.dataKey,a);return e==null||e.length===0?null:M.createElement(M.Fragment,null,e.map((b,E)=>{if(b?.startAngle===0&&b?.endAngle===0&&e.length!==1)return null;var S=u==null||u===a,A=String(E)===o&&(c==null||i.dataKey===c)&&S,T=o?r:null,k=n&&A?n:T,N=kr(kr({},b),{},{stroke:b.stroke,tabIndex:-1,[GW]:E,[WW]:i.dataKey});return M.createElement(wr,ud({key:"sector-".concat(b?.startAngle,"-").concat(b?.endAngle,"-").concat(b.midAngle,"-").concat(E),tabIndex:-1,className:"recharts-pie-sector"},yb(m,b,E),{onMouseEnter:x(b,E),onMouseLeave:y(b,E),onClick:v(b,E)}),M.createElement(OO,ud({option:s??k,index:E,shapeType:"sector",isActive:A},N)))}))}function SSe(t){var e,{pieSettings:n,displayedData:r,cells:i,offset:s}=t,{cornerRadius:a,startAngle:o,endAngle:c,dataKey:u,nameKey:d,tooltipType:f}=n,g=Math.abs(n.minAngle),m=gSe(o,c),x=Math.abs(m),y=r.length<=1?0:(e=n.paddingAngle)!==null&&e!==void 0?e:0,v=r.filter(k=>Bn(k,u,0)!==0).length,b=(x>=360?v:v-1)*y,E=x-v*g-b,S=r.reduce((k,N)=>{var I=Bn(N,u,0);return k+(Pt(I)?I:0)},0),A;if(S>0){var T;A=r.map((k,N)=>{var I=Bn(k,u,0),C=Bn(k,d,N),D=mSe(n,s,k),F=(Pt(I)?I:0)/S,j,q=kr(kr({},k),i&&i[N]&&i[N].props);N?j=T.endAngle+Li(m)*y*(I!==0?1:0):j=o;var R=j+Li(m)*((I!==0?g:0)+F*E),W=(j+R)/2,K=(D.innerRadius+D.outerRadius)/2,V=[{name:C,value:I,payload:q,dataKey:u,type:f}],ee=Jr(D.cx,D.cy,K,W);return T=kr(kr(kr(kr({},n.presentationProps),{},{percent:F,cornerRadius:typeof a=="string"?parseFloat(a):a,name:C,tooltipPayload:V,midAngle:W,middleRadius:K,tooltipPosition:ee},q),D),{},{value:I,dataKey:u,startAngle:j,endAngle:R,payload:q,paddingAngle:Li(m)*y}),T})}return A}function ESe(t){var{showLabels:e,sectors:n,children:r}=t,i=M.useMemo(()=>!e||!n?[]:n.map(s=>({value:s.value,payload:s.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:s.cx,cy:s.cy,innerRadius:s.innerRadius,outerRadius:s.outerRadius,startAngle:s.startAngle,endAngle:s.endAngle,clockWise:!1},fill:s.fill})),[n,e]);return M.createElement(swe,{value:e?i:void 0},r)}function MSe(t){var{props:e,previousSectorsRef:n,id:r}=t,{sectors:i,isAnimationActive:s,animationBegin:a,animationDuration:o,animationEasing:c,activeShape:u,inactiveShape:d,onAnimationStart:f,onAnimationEnd:g}=e,m=Qm(e,"recharts-pie-"),x=n.current,[y,v]=M.useState(!1),b=M.useCallback(()=>{typeof g=="function"&&g(),v(!1)},[g]),E=M.useCallback(()=>{typeof f=="function"&&f(),v(!0)},[f]);return M.createElement(ESe,{showLabels:!y,sectors:i},M.createElement(Zm,{animationId:m,begin:a,duration:o,isActive:s,easing:c,onAnimationStart:E,onAnimationEnd:b,key:m},S=>{var A=[],T=i&&i[0],k=T?.startAngle;return i?.forEach((N,I)=>{var C=x&&x[I],D=I>0?Wh(N,"paddingAngle",0):0;if(C){var F=On(C.endAngle-C.startAngle,N.endAngle-N.startAngle,S),j=kr(kr({},N),{},{startAngle:k+D,endAngle:k+F+D});A.push(j),k=j.endAngle}else{var{endAngle:q,startAngle:R}=N,W=On(0,q-R,S),K=kr(kr({},N),{},{startAngle:k+D,endAngle:k+W+D});A.push(K),k=K.endAngle}}),n.current=A,M.createElement(wr,null,M.createElement(wSe,{sectors:A,activeShape:u,inactiveShape:d,allOtherPieProps:e,shape:e.shape,id:r}))}),M.createElement(_Se,{showLabels:!y,sectors:i,props:e}),e.children)}var ASe={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:Rr.area};function TSe(t){var{id:e}=t,n=DE(t,sSe),{hide:r,className:i,rootTabIndex:s}=t,a=M.useMemo(()=>RO(t.children,$b),[t.children]),o=Ct(d=>wwe(d,e,a)),c=M.useRef(null),u=En("recharts-pie",i);return r||o==null?(c.current=null,M.createElement(wr,{tabIndex:s,className:u})):M.createElement(gs,{zIndex:t.zIndex},M.createElement(hSe,{dataKey:t.dataKey,nameKey:t.nameKey,sectors:o,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,tooltipType:t.tooltipType}),M.createElement(wr,{tabIndex:s,className:u},M.createElement(MSe,{props:kr(kr({},n),{},{sectors:o}),previousSectorsRef:c,id:e})))}function VX(t){var e=Sr(t,ASe),{id:n}=e,r=DE(e,aSe),i=Ns(r);return M.createElement(RE,{id:n,type:"pie"},s=>M.createElement(M.Fragment,null,M.createElement(nSe,{type:"pie",id:s,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:e.maxRadius}),M.createElement(dSe,ud({},r,{id:s})),M.createElement(TSe,ud({},r,{id:s}))))}VX.displayName="Pie";var CSe=["points"];function G6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function oC(t){for(var e=1;e{var v,b,E=oC(oC(oC({r:3},a),f),{},{index:y,cx:(v=x.x)!==null&&v!==void 0?v:void 0,cy:(b=x.y)!==null&&b!==void 0?b:void 0,dataKey:s,value:x.value,payload:x.payload,points:e});return M.createElement(OSe,{key:"dot-".concat(y),option:n,dotProps:E,className:i})}),m={};return o&&c!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(c,")")),M.createElement(gs,{zIndex:u},M.createElement(wr,gw({className:r},m),g))}function W6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function q6(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),XSe=Ge([KSe,Ic,Uc],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),OE=()=>Ct(XSe),YSe=()=>Ct(Xye);function K6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lC(t){for(var e=1;e{var{point:e,childIndex:n,mainColor:r,activeDot:i,dataKey:s,clipPath:a}=t;if(i===!1||e.x==null||e.y==null)return null;var o={index:n,dataKey:s,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},c=lC(lC(lC({},o),Gh(i)),tD(i)),u;return M.isValidElement(i)?u=M.cloneElement(i,c):typeof i=="function"?u=i(c):u=M.createElement(LX,c),M.createElement(wr,{className:"recharts-active-dot",clipPath:a},u)};function Ck(t){var{points:e,mainColor:n,activeDot:r,itemDataKey:i,clipPath:s,zIndex:a=Rr.activeDot}=t,o=Ct(cd),c=YSe();if(e==null||c==null)return null;var u=e.find(d=>c.includes(d.payload));return dr(u)?null:M.createElement(gs,{zIndex:a},M.createElement(eEe,{point:u,childIndex:Number(o),mainColor:n,dataKey:i,activeDot:r,clipPath:s}))}var tEe="Invariant failed";function nEe(t,e){throw new Error(tEe)}var rEe=["x","y"];function Nk(){return Nk=Object.assign?Object.assign.bind():function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(Pt(e))return e;var s=Pt(r)||dr(r);return s?e(r,i):(s||nEe(),n)}},dEe={},qX=Js({name:"errorBars",initialState:dEe,reducers:{addErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]||(t[n]=[]),t[n].push(r)},replaceErrorBar:(t,e)=>{var{itemId:n,prev:r,next:i}=e.payload;t[n]&&(t[n]=t[n].map(s=>s.dataKey===r.dataKey&&s.direction===r.direction?i:s))},removeErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]&&(t[n]=t[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:q7e,replaceErrorBar:K7e,removeErrorBar:X7e}=qX.actions,hEe=qX.reducer,fEe=["children"];function pEe(t,e){if(t==null)return{};var n,r,i=mEe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},xEe=M.createContext(gEe);function KX(t){var{children:e}=t,n=pEe(t,fEe);return M.createElement(xEe.Provider,{value:n},e)}function jE(t,e){var n,r,i=Ct(u=>Sl(u,t)),s=Ct(u=>El(u,e)),a=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:Pi.allowDataOverflow,o=(r=s?.allowDataOverflow)!==null&&r!==void 0?r:Ri.allowDataOverflow,c=a||o;return{needClip:c,needClipX:a,needClipY:o}}function zO(t){var{xAxisId:e,yAxisId:n,clipPathId:r}=t,i=OE(),{needClipX:s,needClipY:a,needClip:o}=jE(e,n);if(!o||!i)return null;var{x:c,y:u,width:d,height:f}=i;return M.createElement("clipPath",{id:"clipPath-".concat(r)},M.createElement("rect",{x:s?c:c-d/2,y:a?u:u-f/2,width:s?d:d*2,height:a?f:f*2}))}function bEe(t,e){return t&&typeof t=="object"&&"zIndex"in t&&typeof t.zIndex=="number"&&Hn(t.zIndex)?t.zIndex:e}var cC={exports:{}},uC={};var Y6;function vEe(){if(Y6)return uC;Y6=1;var t=Vm();function e(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,s=t.useEffect,a=t.useMemo,o=t.useDebugValue;return uC.useSyncExternalStoreWithSelector=function(c,u,d,f,g){var m=i(null);if(m.current===null){var x={hasValue:!1,value:null};m.current=x}else x=m.current;m=a(function(){function v(T){if(!b){if(b=!0,E=T,T=f(T),g!==void 0&&x.hasValue){var k=x.value;if(g(k,T))return S=k}return S=T}if(k=S,n(E,T))return k;var N=f(T);return g!==void 0&&g(k,N)?(E=T,k):(E=T,S=N)}var b=!1,E,S,A=d===void 0?null:d;return[function(){return v(u())},A===null?void 0:function(){return v(A())}]},[u,d,f,g]);var y=r(c,m[0],m[1]);return s(function(){x.hasValue=!0,x.value=y},[y]),o(y),y},uC}var Z6;function yEe(){return Z6||(Z6=1,cC.exports=vEe()),cC.exports}yEe();function _Ee(t){t()}function wEe(){let t=null,e=null;return{clear(){t=null,e=null},notify(){_Ee(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var Q6={notify(){},get:()=>[]};function SEe(t,e){let n,r=Q6,i=0,s=!1;function a(y){d();const v=r.subscribe(y);let b=!1;return()=>{b||(b=!0,v(),f())}}function o(){r.notify()}function c(){x.onStateChange&&x.onStateChange()}function u(){return s}function d(){i++,n||(n=t.subscribe(c),r=wEe())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Q6)}function g(){s||(s=!0,d())}function m(){s&&(s=!1,f())}const x={addNestedSub:a,notifyNestedSubs:o,handleChangeWrapper:c,isSubscribed:u,trySubscribe:g,tryUnsubscribe:m,getListeners:()=>r};return x}var EEe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",MEe=EEe(),AEe=()=>typeof navigator<"u"&&navigator.product==="ReactNative",TEe=AEe(),CEe=()=>MEe||TEe?M.useLayoutEffect:M.useEffect,NEe=CEe();function J6(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function kEe(t,e){if(J6(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const c=SEe(i);return{store:i,subscription:c,getServerState:r?()=>r:void 0}},[i,r]),a=M.useMemo(()=>i.getState(),[i]);NEe(()=>{const{subscription:c}=s;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),a!==i.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[s,a]);const o=n||OEe;return M.createElement(o.Provider,{value:s},e)}var LEe=jEe,IEe=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle"]);function UEe(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function Vb(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(IEe.has(r)){if(t[r]==null&&e[r]==null)continue;if(!kEe(t[r],e[r]))return!1}else if(!UEe(t[r],e[r]))return!1;return!0}var FEe=["onMouseEnter","onMouseLeave","onClick"],zEe=["value","background","tooltipPosition"],BEe=["id"],HEe=["onMouseEnter","onClick","onMouseLeave"];function Oc(){return Oc=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,fill:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:vd(n,e),payload:t}]},KEe=M.memo(t=>{var{dataKey:e,stroke:n,strokeWidth:r,fill:i,name:s,hide:a,unit:o,tooltipType:c}=t,u={dataDefinedOnItem:void 0,positions:void 0,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:e,nameKey:void 0,name:vd(s,e),hide:a,type:c,color:i,unit:o}};return M.createElement(PE,{tooltipEntrySettings:u})});function XEe(t){var e=Ct(cd),{data:n,dataKey:r,background:i,allOtherBarProps:s}=t,{onMouseEnter:a,onMouseLeave:o,onClick:c}=s,u=bw(s,FEe),d=jO(a,r),f=LO(o),g=IO(c,r);if(!i||n==null)return null;var m=Gh(i);return M.createElement(gs,{zIndex:bEe(i,Rr.barBackground)},n.map((x,y)=>{var{value:v,background:b,tooltipPosition:E}=x,S=bw(x,zEe);if(!b)return null;var A=d(x,y),T=f(x,y),k=g(x,y),N=Es(Es(Es(Es(Es({option:i,isActive:String(y)===e},S),{},{fill:"#eee"},b),m),yb(u,x,y)),{},{onMouseEnter:A,onMouseLeave:T,onClick:k,dataKey:r,index:y,className:"recharts-bar-background-rectangle"});return M.createElement(xw,Oc({key:"background-bar-".concat(y)},N))}))}function YEe(t){var{showLabels:e,children:n,rects:r}=t,i=r?.map(s=>{var a={x:s.x,y:s.y,width:s.width,lowerWidth:s.width,upperWidth:s.width,height:s.height};return Es(Es({},a),{},{value:s.value,payload:s.payload,parentViewBox:s.parentViewBox,viewBox:a,fill:s.fill})});return M.createElement(NO,{value:e?i:void 0},n)}function ZEe(t){var{shape:e,activeBar:n,baseProps:r,entry:i,index:s,dataKey:a}=t,o=Ct(cd),c=Ct(SO),u=n&&String(s)===o&&(c==null||a===c),d=u?n:e;return u?M.createElement(gs,{zIndex:Rr.activeBar},M.createElement(xw,Oc({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:a}))):M.createElement(xw,Oc({},r,{name:String(r.name)},i,{isActive:u,option:d,index:s,dataKey:a}))}function QEe(t){var{shape:e,baseProps:n,entry:r,index:i,dataKey:s}=t;return M.createElement(xw,Oc({},n,{name:String(n.name)},r,{isActive:!1,option:e,index:i,dataKey:s}))}function JEe(t){var e,{data:n,props:r}=t,i=(e=Ns(r))!==null&&e!==void 0?e:{},{id:s}=i,a=bw(i,BEe),{shape:o,dataKey:c,activeBar:u}=r,{onMouseEnter:d,onClick:f,onMouseLeave:g}=r,m=bw(r,HEe),x=jO(d,c),y=LO(g),v=IO(f,c);return n?M.createElement(M.Fragment,null,n.map((b,E)=>M.createElement(wr,Oc({key:"rectangle-".concat(b?.x,"-").concat(b?.y,"-").concat(b?.value,"-").concat(E),className:"recharts-bar-rectangle"},yb(m,b,E),{onMouseEnter:x(b,E),onMouseLeave:y(b,E),onClick:v(b,E)}),u?M.createElement(ZEe,{shape:o,activeBar:u,baseProps:a,entry:b,index:E,dataKey:c}):M.createElement(QEe,{shape:o,baseProps:a,entry:b,index:E,dataKey:c})))):null}function eMe(t){var{props:e,previousRectanglesRef:n}=t,{data:r,layout:i,isAnimationActive:s,animationBegin:a,animationDuration:o,animationEasing:c,onAnimationEnd:u,onAnimationStart:d}=e,f=n.current,g=Qm(e,"recharts-bar-"),[m,x]=M.useState(!1),y=!m,v=M.useCallback(()=>{typeof u=="function"&&u(),x(!1)},[u]),b=M.useCallback(()=>{typeof d=="function"&&d(),x(!0)},[d]);return M.createElement(YEe,{showLabels:y,rects:r},M.createElement(Zm,{animationId:g,begin:a,duration:o,isActive:s,easing:c,onAnimationEnd:v,onAnimationStart:b,key:g},E=>{var S=E===1?r:r?.map((A,T)=>{var k=f&&f[T];if(k)return Es(Es({},A),{},{x:On(k.x,A.x,E),y:On(k.y,A.y,E),width:On(k.width,A.width,E),height:On(k.height,A.height,E)});if(i==="horizontal"){var N=On(0,A.height,E),I=On(A.stackedBarStart,A.y,E);return Es(Es({},A),{},{y:I,height:N})}var C=On(0,A.width,E),D=On(A.stackedBarStart,A.x,E);return Es(Es({},A),{},{width:C,x:D})});return E>0&&(n.current=S??null),S==null?null:M.createElement(wr,null,M.createElement(JEe,{props:e,data:S}))}),M.createElement(CE,{label:e.label}),e.children)}function tMe(t){var e=M.useRef(null);return M.createElement(eMe,{previousRectanglesRef:e,props:t})}var XX=0,nMe=(t,e)=>{var n=Array.isArray(t.value)?t.value[1]:t.value;return{x:t.x,y:t.y,value:n,errorVal:Bn(t,e)}};class rMe extends M.PureComponent{render(){var{hide:e,data:n,dataKey:r,className:i,xAxisId:s,yAxisId:a,needClip:o,background:c,id:u}=this.props;if(e||n==null)return null;var d=En("recharts-bar",i),f=u;return M.createElement(wr,{className:d,id:u},o&&M.createElement("defs",null,M.createElement(zO,{clipPathId:f,xAxisId:s,yAxisId:a})),M.createElement(wr,{className:"recharts-bar-rectangles",clipPath:o?"url(#clipPath-".concat(f,")"):void 0},M.createElement(XEe,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),M.createElement(tMe,this.props)))}}var iMe={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:XX,xAxisId:0,yAxisId:0,zIndex:Rr.bar};function sMe(t){var{xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:a,animationBegin:o,animationDuration:c,animationEasing:u,isAnimationActive:d}=t,{needClip:f}=jE(e,n),g=hf(),m=vi(),x=RO(t.children,$b),y=Ct(E=>DMe(E,e,n,m,t.id,x));if(g!=="vertical"&&g!=="horizontal")return null;var v,b=y?.[0];return b==null||b.height==null||b.width==null?v=0:v=g==="vertical"?b.height/2:b.width/2,M.createElement(KX,{xAxisId:e,yAxisId:n,data:y,dataPointFormatter:nMe,errorBarOffset:v},M.createElement(rMe,Oc({},t,{layout:g,needClip:f,data:y,xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:s,activeBar:a,animationBegin:o,animationDuration:c,animationEasing:u,isAnimationActive:d})))}function aMe(t){var{layout:e,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:s,xAxis:a,yAxis:o,xAxisTicks:c,yAxisTicks:u,stackedData:d,displayedData:f,offset:g,cells:m,parentViewBox:x,dataStartIndex:y}=t,v=e==="horizontal"?o:a,b=d?v.scale.domain():null,E=Npe({numericAxis:v}),S=v.scale(E);return f.map((A,T)=>{var k,N,I,C,D,F;d?k=Epe(d[T+y],b):(k=Bn(A,n),Array.isArray(k)||(k=[E,k]));var j=uEe(r,XX)(k[1],T);if(e==="horizontal"){var q,[R,W]=[o.scale(k[0]),o.scale(k[1])];N=xz({axis:a,ticks:c,bandSize:s,offset:i.offset,entry:A,index:T}),I=(q=W??R)!==null&&q!==void 0?q:void 0,C=i.size;var K=R-W;if(D=Qs(K)?0:K,F={x:N,y:g.top,width:C,height:g.height},Math.abs(j)>0&&Math.abs(D)0&&Math.abs(C)M.createElement(M.Fragment,null,M.createElement(UO,{legendPayload:qEe(e)}),M.createElement(KEe,{dataKey:e.dataKey,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),M.createElement(FO,{type:"bar",id:r,data:void 0,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,stackId:$W(e.stackId),hide:e.hide,barSize:e.barSize,minPointSize:e.minPointSize,maxBarSize:e.maxBarSize,isPanorama:n}),M.createElement(gs,{zIndex:e.zIndex},M.createElement(sMe,Oc({},e,{id:r})))))}var YX=M.memo(oMe,Vb);YX.displayName="Bar";function t8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Ry(t){for(var e=1;ee,hMe=(t,e,n)=>n,fMe=(t,e,n,r)=>r,pMe=(t,e,n,r,i)=>i,Gb=Ge([jb,pMe],(t,e)=>t.filter(n=>n.type==="bar").find(n=>n.id===e)),mMe=Ge([Gb],t=>t?.maxBarSize),gMe=(t,e,n,r,i,s)=>s,n8=(t,e,n)=>{var r=n??t;if(!dr(r))return ms(r,e,0)},xMe=Ge([xn,jb,dMe,hMe,fMe],(t,e,n,r,i)=>e.filter(s=>t==="horizontal"?s.xAxisId===n:s.yAxisId===r).filter(s=>s.isPanorama===i).filter(s=>s.hide===!1).filter(s=>s.type==="bar")),bMe=(t,e,n,r)=>{var i=xn(t);return i==="horizontal"?z0(t,"yAxis",n,r):z0(t,"xAxis",e,r)},vMe=(t,e,n)=>{var r=xn(t);return r==="horizontal"?YB(t,"xAxis",e):YB(t,"yAxis",n)},yMe=(t,e,n)=>{var r={},i=t.filter(vE),s=t.filter(u=>u.stackId==null),a=i.reduce((u,d)=>(u[d.stackId]||(u[d.stackId]=[]),u[d.stackId].push(d),u),r),o=Object.entries(a).map(u=>{var[d,f]=u,g=f.map(x=>x.dataKey),m=n8(e,n,f[0].barSize);return{stackId:d,dataKeys:g,barSize:m}}),c=s.map(u=>{var d=[u.dataKey].filter(g=>g!=null),f=n8(e,n,u.barSize);return{stackId:void 0,dataKeys:d,barSize:f}});return[...o,...c]},_Me=Ge([xMe,Wbe,vMe],yMe),wMe=(t,e,n,r,i)=>{var s,a,o=Gb(t,e,n,r,i);if(o!=null){var c=xn(t),u=fK(t),{maxBarSize:d}=o,f=dr(d)?u:d,g,m;return c==="horizontal"?(g=ml(t,"xAxis",e,r),m=pl(t,"xAxis",e,r)):(g=ml(t,"yAxis",n,r),m=pl(t,"yAxis",n,r)),(s=(a=ad(g,m,!0))!==null&&a!==void 0?a:f)!==null&&s!==void 0?s:0}},ZX=(t,e,n,r)=>{var i=xn(t),s,a;return i==="horizontal"?(s=ml(t,"xAxis",e,r),a=pl(t,"xAxis",e,r)):(s=ml(t,"yAxis",n,r),a=pl(t,"yAxis",n,r)),ad(s,a)};function SMe(t,e,n,r,i){var s=r.length;if(!(s<1)){var a=ms(t,n,0,!0),o,c=[];if(Hn(r[0].barSize)){var u=!1,d=n/s,f=r.reduce((b,E)=>b+(E.barSize||0),0);f+=(s-1)*a,f>=n&&(f-=(s-1)*a,a=0),f>=n&&d>0&&(u=!0,d*=.9,f=s*d);var g=(n-f)/2>>0,m={offset:g-a,size:0};o=r.reduce((b,E)=>{var S,A={stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:m.offset+m.size+a,size:u?d:(S=E.barSize)!==null&&S!==void 0?S:0}},T=[...b,A];return m=T[T.length-1].position,T},c)}else{var x=ms(e,n,0,!0);n-2*x-(s-1)*a<=0&&(a=0);var y=(n-2*x-(s-1)*a)/s;y>1&&(y>>=0);var v=Hn(i)?Math.min(y,i):y;o=r.reduce((b,E,S)=>[...b,{stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:x+(y+a)*S+(y-v)/2,size:v}}],c)}return o}}var EMe=(t,e,n,r,i,s,a)=>{var o=dr(a)?e:a,c=SMe(n,r,i!==s?i:s,t,o);return i!==s&&c!=null&&(c=c.map(u=>Ry(Ry({},u),{},{position:Ry(Ry({},u.position),{},{offset:u.position.offset-i/2})}))),c},MMe=Ge([_Me,fK,Gbe,pK,wMe,ZX,mMe],EMe),AMe=(t,e,n,r)=>ml(t,"xAxis",e,r),TMe=(t,e,n,r)=>ml(t,"yAxis",n,r),CMe=(t,e,n,r)=>pl(t,"xAxis",e,r),NMe=(t,e,n,r)=>pl(t,"yAxis",n,r),kMe=Ge([MMe,Gb],(t,e)=>{if(!(t==null||e==null)){var n=t.find(r=>r.stackId===e.stackId&&e.dataKey!=null&&r.dataKeys.includes(e.dataKey));if(n!=null)return n.position}}),PMe=(t,e)=>{var n=bE(e);if(!(!t||n==null||e==null)){var{stackId:r}=e;if(r!=null){var i=t[r];if(i){var{stackedData:s}=i;if(s)return s.find(a=>a.key===n)}}}},RMe=Ge([bMe,Gb],PMe),DMe=Ge([bi,hD,AMe,TMe,CMe,NMe,kMe,xn,Pb,ZX,RMe,Gb,gMe],(t,e,n,r,i,s,a,o,c,u,d,f,g)=>{var{chartData:m,dataStartIndex:x,dataEndIndex:y}=c;if(!(f==null||a==null||e==null||o!=="horizontal"&&o!=="vertical"||n==null||r==null||i==null||s==null||u==null)){var{data:v}=f,b;if(v!=null&&v.length>0?b=v:b=m?.slice(x,y+1),b!=null)return aMe({layout:o,barSettings:f,pos:a,parentViewBox:e,bandSize:u,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,stackedData:d,displayedData:b,offset:t,cells:g,dataStartIndex:x})}}),QX=t=>{var{chartData:e}=t,n=rr(),r=vi();return M.useEffect(()=>r?()=>{}:(n(c6(e)),()=>{n(c6(void 0))}),[e,n,r]),null},r8={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},JX=Js({name:"brush",initialState:r8,reducers:{setBrushSettings(t,e){return e.payload==null?r8:e.payload}}}),{setBrushSettings:Y7e}=JX.actions,OMe=JX.reducer;function i8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Dy(t){for(var e=1;e{var{x:n,y:r}=t,{x:i,y:s}=e;return{x:Math.min(n,i),y:Math.min(r,s),width:Math.abs(i-n),height:Math.abs(s-r)}},UMe=t=>{var{x1:e,y1:n,x2:r,y2:i}=t;return IMe({x:e,y:n},{x:r,y:i})};class LE{static create(e){return new LE(e)}constructor(e){this.scale=e}get domain(){return this.scale.domain}get range(){return this.scale.range}get rangeMin(){return this.range()[0]}get rangeMax(){return this.range()[1]}get bandwidth(){return this.scale.bandwidth}apply(e){var{bandAware:n,position:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e!==void 0){if(r)switch(r){case"start":return this.scale(e);case"middle":{var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(e)+s}default:return this.scale(e)}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+a}return this.scale(e)}}isInRange(e){var n=this.range(),r=n[0],i=n[n.length-1];return r<=i?e>=r&&e<=i:e>=i&&e<=r}}eY(LE,"EPS",1e-4);var FMe=t=>{var e=Object.keys(t).reduce((n,r)=>Dy(Dy({},n),{},{[r]:LE.create(t[r])}),{});return Dy(Dy({},e),{},{apply(n){var{bandAware:r,position:i}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.fromEntries(Object.entries(n).map(s=>{var[a,o]=s;return[a,e[a].apply(o,{bandAware:r,position:i})]}))},isInRange(n){return Object.keys(n).every(r=>e[r].isInRange(n[r]))}})};function zMe(t){return(t%180+180)%180}var BMe=function(e){var{width:n,height:r}=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=zMe(i),a=s*Math.PI/180,o=Math.atan(r/n),c=a>o&&a{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=Lo(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=Lo(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=Lo(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),{addDot:Z7e,removeDot:Q7e,addArea:J7e,removeArea:eWe,addLine:$Me,removeLine:VMe}=tY.actions,GMe=tY.reducer,nY=M.createContext(void 0),WMe=t=>{var{children:e}=t,[n]=M.useState("".concat(T0("recharts"),"-clip")),r=OE();if(r==null)return null;var{x:i,y:s,width:a,height:o}=r;return M.createElement(nY.Provider,{value:n},M.createElement("defs",null,M.createElement("clipPath",{id:n},M.createElement("rect",{x:i,y:s,height:o,width:a}))),e)},qMe=()=>M.useContext(nY);function s8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function a8(t){for(var e=1;e{var n;if(M.isValidElement(t))n=M.cloneElement(t,e);else if(typeof t=="function")n=t(e);else{if(!Hn(e.x1)||!Hn(e.y1)||!Hn(e.x2)||!Hn(e.y2))return null;n=M.createElement("line",vw({},e,{className:"recharts-reference-line-line"}))}return n},QMe=(t,e,n,r,i,s)=>{var{x:a,width:o}=s,c=i.y.apply(t,{position:n});if(Qs(c)||e==="discard"&&!i.y.isInRange(c))return null;var u=[{x:a+o,y:c},{x:a,y:c}];return r==="left"?u.reverse():u},JMe=(t,e,n,r,i,s)=>{var{y:a,height:o}=s,c=i.x.apply(t,{position:n});if(Qs(c)||e==="discard"&&!i.x.isInRange(c))return null;var u=[{x:c,y:a+o},{x:c,y:a}];return r==="top"?u.reverse():u},e2e=(t,e,n,r)=>{var i=t.map(s=>r.apply(s,{position:n}));return e==="discard"&&i.some(s=>!r.isInRange(s))?null:i},t2e=(t,e,n,r,i,s)=>{var{x:a,y:o,segment:c,ifOverflow:u}=s,d=co(a),f=co(o);return f?QMe(o,u,n,i,t,e):d?JMe(a,u,n,r,t,e):c!=null&&c.length===2?e2e(c,u,n,t):null};function n2e(t){var e=rr();return M.useEffect(()=>(e($Me(t)),()=>{e(VMe(t))})),null}function r2e(t){var{xAxisId:e,yAxisId:n,shape:r,className:i,ifOverflow:s}=t,a=vi(),o=qMe(),c=Ct(k=>Sl(k,e)),u=Ct(k=>El(k,n)),d=Ct(k=>ld(k,"xAxis",e,a)),f=Ct(k=>ld(k,"yAxis",n,a)),g=Mb();if(!o||!g||c==null||u==null||d==null||f==null)return null;var m=FMe({x:d,y:f}),x=t2e(m,g,t.position,c.orientation,u.orientation,t);if(!x)return null;var[{x:y,y:v},{x:b,y:E}]=x,S=s==="hidden"?"url(#".concat(o,")"):void 0,A=a8(a8({clipPath:S},ns(t)),{},{x1:y,y1:v,x2:b,y2:E}),T=UMe({x1:y,y1:v,x2:b,y2:E});return M.createElement(gs,{zIndex:t.zIndex},M.createElement(wr,{className:En("recharts-reference-line",i)},ZMe(r,A),M.createElement(PX,vw({},T,{lowerWidth:T.width,upperWidth:T.width}),M.createElement(DX,{label:t.label}),t.children)))}var i2e={ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle",zIndex:Rr.line};function jx(t){var e=Sr(t,i2e);return M.createElement(M.Fragment,null,M.createElement(n2e,{yAxisId:e.yAxisId,xAxisId:e.xAxisId,ifOverflow:e.ifOverflow,x:e.x,y:e.y,segment:e.segment}),M.createElement(r2e,e))}jx.displayName="ReferenceLine";function rY(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var s=n();return t*(e-t*s/2-r)>=0&&t*(e+t*s/2-i)<=0}function o2e(t,e){return rY(t,e+1)}function l2e(t,e,n,r,i){for(var s=(r||[]).slice(),{start:a,end:o}=e,c=0,u=1,d=a,f=function(){var x=r?.[c];if(x===void 0)return{v:rY(r,u)};var y=c,v,b=()=>(v===void 0&&(v=n(x,y)),v),E=x.coordinate,S=c===0||yw(t,E,b,d,o);S||(c=0,d=a,u+=1),S&&(d=E+t*(b()/2+i),c+=u)},g;u<=s.length;)if(g=f(),g)return g.v;return[]}function o8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ds(t){for(var e=1;e(x===void 0&&(x=n(m,g)),x);if(g===a-1){var v=t*(m.coordinate+t*y()/2-c);s[g]=m=ds(ds({},m),{},{tickCoord:v>0?m.coordinate-v*t:m.coordinate})}else s[g]=m=ds(ds({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var b=yw(t,m.tickCoord,y,o,c);b&&(c=m.tickCoord-t*(y()/2+i),s[g]=ds(ds({},m),{},{isShow:!0}))}},d=a-1;d>=0;d--)u(d);return s}function f2e(t,e,n,r,i,s){var a=(r||[]).slice(),o=a.length,{start:c,end:u}=e;if(s){var d=r[o-1],f=n(d,o-1),g=t*(d.coordinate+t*f/2-u);if(a[o-1]=d=ds(ds({},d),{},{tickCoord:g>0?d.coordinate-g*t:d.coordinate}),d.tickCoord!=null){var m=yw(t,d.tickCoord,()=>f,c,u);m&&(u=d.tickCoord-t*(f/2+i),a[o-1]=ds(ds({},d),{},{isShow:!0}))}}for(var x=s?o-1:o,y=function(E){var S=a[E],A,T=()=>(A===void 0&&(A=n(S,E)),A);if(E===0){var k=t*(S.coordinate-t*T()/2-c);a[E]=S=ds(ds({},S),{},{tickCoord:k<0?S.coordinate-k*t:S.coordinate})}else a[E]=S=ds(ds({},S),{},{tickCoord:S.coordinate});if(S.tickCoord!=null){var N=yw(t,S.tickCoord,T,c,u);N&&(c=S.tickCoord+t*(T()/2+i),a[E]=ds(ds({},S),{},{isShow:!0}))}},v=0;v{var T=typeof u=="function"?u(S.value,A):S.value;return x==="width"?s2e(qx(T,{fontSize:e,letterSpacing:n}),y,f):qx(T,{fontSize:e,letterSpacing:n})[x]},b=i.length>=2?Li(i[1].coordinate-i[0].coordinate):1,E=a2e(s,b,x);return c==="equidistantPreserveStart"?l2e(b,E,v,i,a):(c==="preserveStart"||c==="preserveStartEnd"?m=f2e(b,E,v,i,a,c==="preserveStartEnd"):m=h2e(b,E,v,i,a),m.filter(S=>S.isShow))}var p2e=t=>{var{ticks:e,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:s=0}=t,a=0;if(e){Array.from(e).forEach(d=>{if(d){var f=d.getBoundingClientRect();f.width>a&&(a=f.width)}});var o=n?n.getBoundingClientRect().width:0,c=i+s,u=a+c+o+(n?r:0);return Math.round(u)}return 0},m2e=["axisLine","width","height","className","hide","ticks","axisType"];function g2e(t,e){if(t==null)return{};var n,r,i=x2e(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:s,tickFormatter:a,unit:o,padding:c,tickTextProps:u,orientation:d,mirror:f,x:g,y:m,width:x,height:y,tickSize:v,tickMargin:b,fontSize:E,letterSpacing:S,getTicksConfig:A,events:T,axisType:k}=t,N=BO(Xr(Xr({},A),{},{ticks:n}),E,S),I=S2e(d,f),C=E2e(d,f),D=Ns(A),F=Gh(r),j={};typeof i=="object"&&(j=i);var q=Xr(Xr({},D),{},{fill:"none"},j),R=N.map(V=>Xr({entry:V},w2e(V,g,m,x,y,d,v,f,b))),W=R.map(V=>{var{entry:ee,line:Y}=V;return M.createElement(wr,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(ee.value,"-").concat(ee.coordinate,"-").concat(ee.tickCoord)},i&&M.createElement("line",Yh({},q,Y,{className:En("recharts-cartesian-axis-tick-line",Wh(i,"className"))})))}),K=R.map((V,ee)=>{var{entry:Y,tick:Q}=V,U=Xr(Xr(Xr(Xr({textAnchor:I,verticalAnchor:C},D),{},{stroke:"none",fill:s},F),Q),{},{index:ee,payload:Y,visibleTicksCount:N.length,tickFormatter:a,padding:c},u);return M.createElement(wr,Yh({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Y.value,"-").concat(Y.coordinate,"-").concat(Y.tickCoord)},yb(T,Y,ee)),r&&M.createElement(M2e,{option:r,tickProps:U,value:"".concat(typeof a=="function"?a(Y.value,ee):Y.value).concat(o||"")}))});return M.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(k,"-ticks")},K.length>0&&M.createElement(gs,{zIndex:Rr.label},M.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(k,"-tick-labels"),ref:e},K)),W.length>0&&M.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(k,"-tick-lines")},W))}),T2e=M.forwardRef((t,e)=>{var{axisLine:n,width:r,height:i,className:s,hide:a,ticks:o,axisType:c}=t,u=g2e(t,m2e),[d,f]=M.useState(""),[g,m]=M.useState(""),x=M.useRef(null);M.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var v;return p2e({ticks:x.current,label:(v=t.labelRef)===null||v===void 0?void 0:v.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var y=M.useCallback(v=>{if(v){var b=v.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=b;var E=b[0];if(E){var S=window.getComputedStyle(E),A=S.fontSize,T=S.letterSpacing;(A!==d||T!==g)&&(f(A),m(T))}}},[d,g]);return a||r!=null&&r<=0||i!=null&&i<=0?null:M.createElement(gs,{zIndex:t.zIndex},M.createElement(wr,{className:En("recharts-cartesian-axis",s)},M.createElement(_2e,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:Ns(t)}),M.createElement(A2e,{ref:y,axisType:c,events:u,fontSize:d,getTicksConfig:t,height:t.height,letterSpacing:g,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:o,unit:t.unit,width:t.width,x:t.x,y:t.y}),M.createElement(PX,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},M.createElement(DX,{label:t.label,labelRef:t.labelRef}),t.children)))}),HO=M.forwardRef((t,e)=>{var n=Sr(t,_c);return M.createElement(T2e,Yh({},n,{ref:e}))});HO.displayName="CartesianAxis";var C2e=["x1","y1","x2","y2","key"],N2e=["offset"],k2e=["xAxisId","yAxisId"],P2e=["xAxisId","yAxisId"];function c8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function fs(t){for(var e=1;e{var{fill:e}=t;if(!e||e==="none")return null;var{fillOpacity:n,x:r,y:i,width:s,height:a,ry:o}=t;return M.createElement("rect",{x:r,y:i,ry:o,width:s,height:a,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function iY(t){var{option:e,lineItemProps:n}=t,r;if(M.isValidElement(e))r=M.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,{x1:s,y1:a,x2:o,y2:c,key:u}=n,d=_w(n,C2e),f=(i=Ns(d))!==null&&i!==void 0?i:{},{offset:g}=f,m=_w(f,N2e);r=M.createElement("line",mh({},m,{x1:s,y1:a,x2:o,y2:c,fill:"none",key:u}))}return r}function I2e(t){var{x:e,width:n,horizontal:r=!0,horizontalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:a}=t,o=_w(t,k2e),c=i.map((u,d)=>{var f=fs(fs({},o),{},{x1:e,y1:u,x2:e+n,y2:u,key:"line-".concat(d),index:d});return M.createElement(iY,{key:"line-".concat(d),option:r,lineItemProps:f})});return M.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function U2e(t){var{y:e,height:n,vertical:r=!0,verticalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:s,yAxisId:a}=t,o=_w(t,P2e),c=i.map((u,d)=>{var f=fs(fs({},o),{},{x1:u,y1:e,x2:u,y2:e+n,key:"line-".concat(d),index:d});return M.createElement(iY,{option:r,lineItemProps:f,key:"line-".concat(d)})});return M.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function F2e(t){var{horizontalFill:e,fillOpacity:n,x:r,y:i,width:s,height:a,horizontalPoints:o,horizontal:c=!0}=t;if(!c||!e||!e.length||o==null)return null;var u=o.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==u[0]&&u.unshift(0);var d=u.map((f,g)=>{var m=!u[g+1],x=m?i+a-f:u[g+1]-f;if(x<=0)return null;var y=g%e.length;return M.createElement("rect",{key:"react-".concat(g),y:f,x:r,height:x,width:s,stroke:"none",fill:e[y],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return M.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function z2e(t){var{vertical:e=!0,verticalFill:n,fillOpacity:r,x:i,y:s,width:a,height:o,verticalPoints:c}=t;if(!e||!n||!n.length)return null;var u=c.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==u[0]&&u.unshift(0);var d=u.map((f,g)=>{var m=!u[g+1],x=m?i+a-f:u[g+1]-f;if(x<=0)return null;var y=g%n.length;return M.createElement("rect",{key:"react-".concat(g),x:f,y:s,width:x,height:o,stroke:"none",fill:n[y],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return M.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var B2e=(t,e)=>{var{xAxis:n,width:r,height:i,offset:s}=t;return BW(BO(fs(fs(fs({},_c),n),{},{ticks:HW(n),viewBox:{x:0,y:0,width:r,height:i}})),s.left,s.left+s.width,e)},H2e=(t,e)=>{var{yAxis:n,width:r,height:i,offset:s}=t;return BW(BO(fs(fs(fs({},_c),n),{},{ticks:HW(n),viewBox:{x:0,y:0,width:r,height:i}})),s.top,s.top+s.height,e)},$2e={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Rr.grid};function ww(t){var e=pD(),n=mD(),r=ZW(),i=fs(fs({},Sr(t,$2e)),{},{x:Pt(t.x)?t.x:r.left,y:Pt(t.y)?t.y:r.top,width:Pt(t.width)?t.width:r.width,height:Pt(t.height)?t.height:r.height}),{xAxisId:s,yAxisId:a,x:o,y:c,width:u,height:d,syncWithTicks:f,horizontalValues:g,verticalValues:m}=i,x=vi(),y=Ct(C=>ZB(C,"xAxis",s,x)),v=Ct(C=>ZB(C,"yAxis",a,x));if(!hl(u)||!hl(d)||!Pt(o)||!Pt(c))return null;var b=i.verticalCoordinatesGenerator||B2e,E=i.horizontalCoordinatesGenerator||H2e,{horizontalPoints:S,verticalPoints:A}=i;if((!S||!S.length)&&typeof E=="function"){var T=g&&g.length,k=E({yAxis:v?fs(fs({},v),{},{ticks:T?g:v.ticks}):void 0,width:e??u,height:n??d,offset:r},T?!0:f);G1(Array.isArray(k),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof k,"]")),Array.isArray(k)&&(S=k)}if((!A||!A.length)&&typeof b=="function"){var N=m&&m.length,I=b({xAxis:y?fs(fs({},y),{},{ticks:N?m:y.ticks}):void 0,width:e??u,height:n??d,offset:r},N?!0:f);G1(Array.isArray(I),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof I,"]")),Array.isArray(I)&&(A=I)}return M.createElement(gs,{zIndex:i.zIndex},M.createElement("g",{className:"recharts-cartesian-grid"},M.createElement(L2e,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),M.createElement(F2e,mh({},i,{horizontalPoints:S})),M.createElement(z2e,mh({},i,{verticalPoints:A})),M.createElement(I2e,mh({},i,{offset:r,horizontalPoints:S,xAxis:y,yAxis:v})),M.createElement(U2e,mh({},i,{offset:r,verticalPoints:A,xAxis:y,yAxis:v}))))}ww.displayName="CartesianGrid";var sY=(t,e,n,r)=>ml(t,"xAxis",e,r),aY=(t,e,n,r)=>pl(t,"xAxis",e,r),oY=(t,e,n,r)=>ml(t,"yAxis",n,r),lY=(t,e,n,r)=>pl(t,"yAxis",n,r),V2e=Ge([xn,sY,oY,aY,lY],(t,e,n,r,i)=>wl(t,"xAxis")?ad(e,r,!1):ad(n,i,!1)),G2e=(t,e,n,r,i)=>i;function W2e(t){return t.type==="line"}var q2e=Ge([jb,G2e],(t,e)=>t.filter(W2e).find(n=>n.id===e)),K2e=Ge([xn,sY,oY,aY,lY,q2e,V2e,Pb],(t,e,n,r,i,s,a,o)=>{var{chartData:c,dataStartIndex:u,dataEndIndex:d}=o;if(!(s==null||e==null||n==null||r==null||i==null||r.length===0||i.length===0||a==null||t!=="horizontal"&&t!=="vertical")){var{dataKey:f,data:g}=s,m;if(g!=null&&g.length>0?m=g:m=c?.slice(u,d+1),m!=null)return pAe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:f,bandSize:a,displayedData:m})}});function cY(t){var e=Gh(t),n=3,r=2;if(e!=null){var{r:i,strokeWidth:s}=e,a=Number(i),o=Number(s);return(Number.isNaN(a)||a<0)&&(a=n),(Number.isNaN(o)||o<0)&&(o=r),{r:a,strokeWidth:o}}return{r:n,strokeWidth:r}}var X2e=["id"],Y2e=["type","layout","connectNulls","needClip","shape"],Z2e=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function H0(){return H0=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,legendType:i,hide:s}=t;return[{inactive:s,dataKey:e,type:i,color:r,value:vd(n,e),payload:t}]},rAe=M.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:a,hide:o,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:vd(a,e),hide:o,type:u,color:r,unit:c}};return M.createElement(PE,{tooltipEntrySettings:d})}),uY=(t,e)=>"".concat(e,"px ").concat(t-e,"px");function iAe(t,e){for(var n=t.length%2!==0?[...t,0]:t,r=[],i=0;i{var r=n.reduce((f,g)=>f+g);if(!r)return uY(e,t);for(var i=Math.floor(t/r),s=t%r,a=e-t,o=[],c=0,u=0;cs){o=[...n.slice(0,c),s-u];break}var d=o.length%2===0?[0,a]:[a];return[...iAe(n,i),...o,...d].map(f=>"".concat(f,"px")).join(", ")};function aAe(t){var{clipPathId:e,points:n,props:r}=t,{dot:i,dataKey:s,needClip:a}=r,{id:o}=r,c=$O(r,X2e),u=Ns(c);return M.createElement(GX,{points:n,dot:i,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:s,baseProps:u,needClip:a,clipPathId:e})}function oAe(t){var{showLabels:e,children:n,points:r}=t,i=M.useMemo(()=>r?.map(s=>{var a,o,c={x:(a=s.x)!==null&&a!==void 0?a:0,y:(o=s.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return tl(tl({},c),{},{value:s.value,payload:s.payload,viewBox:c,parentViewBox:void 0,fill:void 0})}),[r]);return M.createElement(NO,{value:e?i:void 0},n)}function d8(t){var{clipPathId:e,pathRef:n,points:r,strokeDasharray:i,props:s}=t,{type:a,layout:o,connectNulls:c,needClip:u,shape:d}=s,f=$O(s,Y2e),g=tl(tl({},ns(f)),{},{fill:"none",className:"recharts-line-curve",clipPath:u?"url(#clipPath-".concat(e,")"):void 0,points:r,type:a,layout:o,connectNulls:c,strokeDasharray:i??s.strokeDasharray});return M.createElement(M.Fragment,null,r?.length>1&&M.createElement(OO,H0({shapeType:"curve",option:d},g,{pathRef:n})),M.createElement(aAe,{points:r,clipPathId:e,props:s}))}function lAe(t){try{return t&&t.getTotalLength&&t.getTotalLength()||0}catch{return 0}}function cAe(t){var{clipPathId:e,props:n,pathRef:r,previousPointsRef:i,longestAnimatedLengthRef:s}=t,{points:a,strokeDasharray:o,isAnimationActive:c,animationBegin:u,animationDuration:d,animationEasing:f,animateNewValues:g,width:m,height:x,onAnimationEnd:y,onAnimationStart:v}=n,b=i.current,E=Qm(a,"recharts-line-"),S=M.useRef(E),[A,T]=M.useState(!1),k=!A,N=M.useCallback(()=>{typeof y=="function"&&y(),T(!1)},[y]),I=M.useCallback(()=>{typeof v=="function"&&v(),T(!0)},[v]),C=lAe(r.current),D=M.useRef(0);S.current!==E&&(D.current=s.current,S.current=E);var F=D.current;return M.createElement(oAe,{points:a,showLabels:k},n.children,M.createElement(Zm,{animationId:E,begin:u,duration:d,isActive:c,easing:f,onAnimationEnd:N,onAnimationStart:I,key:E},j=>{var q=On(F,C+F,j),R=Math.min(q,C),W;if(c)if(o){var K="".concat(o).split(/[,\s]+/gim).map(Y=>parseFloat(Y));W=sAe(R,C,K)}else W=uY(C,R);else W=o==null?void 0:String(o);if(j>0&&C>0&&(i.current=a,s.current=Math.max(s.current,R)),b){var V=b.length/a.length,ee=j===1?a:a.map((Y,Q)=>{var U=Math.floor(Q*V);if(b[U]){var z=b[U];return tl(tl({},Y),{},{x:On(z.x,Y.x,j),y:On(z.y,Y.y,j)})}return g?tl(tl({},Y),{},{x:On(m*2,Y.x,j),y:On(x/2,Y.y,j)}):tl(tl({},Y),{},{x:Y.x,y:Y.y})});return i.current=ee,M.createElement(d8,{props:n,points:ee,clipPathId:e,pathRef:r,strokeDasharray:W})}return M.createElement(d8,{props:n,points:a,clipPathId:e,pathRef:r,strokeDasharray:W})}),M.createElement(CE,{label:n.label}))}function uAe(t){var{clipPathId:e,props:n}=t,r=M.useRef(null),i=M.useRef(0),s=M.useRef(null);return M.createElement(cAe,{props:n,clipPathId:e,previousPointsRef:r,longestAnimatedLengthRef:i,pathRef:s})}var dAe=(t,e)=>{var n,r;return{x:(n=t.x)!==null&&n!==void 0?n:void 0,y:(r=t.y)!==null&&r!==void 0?r:void 0,value:t.value,errorVal:Bn(t.payload,e)}};class hAe extends M.Component{render(){var{hide:e,dot:n,points:r,className:i,xAxisId:s,yAxisId:a,top:o,left:c,width:u,height:d,id:f,needClip:g,zIndex:m}=this.props;if(e)return null;var x=En("recharts-line",i),y=f,{r:v,strokeWidth:b}=cY(n),E=DO(n),S=v*2+b,A=g?"url(#clipPath-".concat(E?"":"dots-").concat(y,")"):void 0;return M.createElement(gs,{zIndex:m},M.createElement(wr,{className:x},g&&M.createElement("defs",null,M.createElement(zO,{clipPathId:y,xAxisId:s,yAxisId:a}),!E&&M.createElement("clipPath",{id:"clipPath-dots-".concat(y)},M.createElement("rect",{x:c-S/2,y:o-S/2,width:u+S,height:d+S}))),M.createElement(KX,{xAxisId:s,yAxisId:a,data:r,dataPointFormatter:dAe,errorBarOffset:0},M.createElement(uAe,{props:this.props,clipPathId:y}))),M.createElement(Ck,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:A}))}}var dY={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:Rr.line,type:"linear"};function fAe(t){var e=Sr(t,dY),{activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:a,connectNulls:o,dot:c,hide:u,isAnimationActive:d,label:f,legendType:g,xAxisId:m,yAxisId:x,id:y}=e,v=$O(e,Z2e),{needClip:b}=jE(m,x),E=OE(),S=hf(),A=vi(),T=Ct(D=>K2e(D,m,x,A,y));if(S!=="horizontal"&&S!=="vertical"||T==null||E==null)return null;var{height:k,width:N,x:I,y:C}=E;return M.createElement(hAe,H0({},v,{id:y,connectNulls:o,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:s,animationEasing:a,isAnimationActive:d,hide:u,label:f,legendType:g,xAxisId:m,yAxisId:x,points:T,layout:S,height:k,width:N,left:I,top:C,needClip:b}))}function pAe(t){var{layout:e,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:s,dataKey:a,bandSize:o,displayedData:c}=t;return c.map((u,d)=>{var f=Bn(u,a);if(e==="horizontal"){var g=V1({axis:n,ticks:i,bandSize:o,entry:u,index:d}),m=dr(f)?null:r.scale(f);return{x:g,y:m,value:f,payload:u}}var x=dr(f)?null:n.scale(f),y=V1({axis:r,ticks:s,bandSize:o,entry:u,index:d});return x==null||y==null?null:{x,y,value:f,payload:u}}).filter(Boolean)}function mAe(t){var e=Sr(t,dY),n=vi();return M.createElement(RE,{id:e.id,type:"line"},r=>M.createElement(M.Fragment,null,M.createElement(UO,{legendPayload:nAe(e)}),M.createElement(rAe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),M.createElement(FO,{type:"line",id:r,data:e.data,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,hide:e.hide,isPanorama:n}),M.createElement(fAe,H0({},e,{id:r}))))}var hY=M.memo(mAe,Vb);hY.displayName="Line";var fY=(t,e,n,r)=>ml(t,"xAxis",e,r),pY=(t,e,n,r)=>pl(t,"xAxis",e,r),mY=(t,e,n,r)=>ml(t,"yAxis",n,r),gY=(t,e,n,r)=>pl(t,"yAxis",n,r),gAe=Ge([xn,fY,mY,pY,gY],(t,e,n,r,i)=>wl(t,"xAxis")?ad(e,r,!1):ad(n,i,!1)),xAe=(t,e,n,r,i)=>i,xY=Ge([jb,xAe],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),bAe=(t,e,n,r,i)=>{var s,a=xY(t,e,n,r,i);if(a!=null){var o=xn(t),c=wl(o,"xAxis"),u;if(c?u=z0(t,"yAxis",n,r):u=z0(t,"xAxis",e,r),u!=null){var{stackId:d}=a,f=bE(a);if(!(d==null||f==null)){var g=(s=u[d])===null||s===void 0?void 0:s.stackedData;return g?.find(m=>m.key===f)}}}},vAe=Ge([xn,fY,mY,pY,gY,bAe,Pb,gAe,xY,qbe],(t,e,n,r,i,s,a,o,c,u)=>{var{chartData:d,dataStartIndex:f,dataEndIndex:g}=a;if(!(c==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null)){var{data:m}=c,x;if(m&&m.length>0?x=m:x=d?.slice(f,g+1),x!=null)return UAe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:c,stackedData:s,displayedData:x,chartBaseValue:u,bandSize:o})}}),yAe=["id"],_Ae=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Ch(){return Ch=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,fill:i,legendType:s,hide:a}=t;return[{inactive:a,dataKey:e,type:s,color:Sw(r,i),value:vd(n,e),payload:t}]},TAe=M.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:s,name:a,hide:o,unit:c,tooltipType:u}=t,d={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:vd(a,e),hide:o,type:u,color:Sw(r,s),unit:c}};return M.createElement(PE,{tooltipEntrySettings:d})});function CAe(t){var{clipPathId:e,points:n,props:r}=t,{needClip:i,dot:s,dataKey:a}=r,o=Ns(r);return M.createElement(GX,{points:n,dot:s,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:a,baseProps:o,needClip:i,clipPathId:e})}function NAe(t){var{showLabels:e,children:n,points:r}=t,i=r.map(s=>{var a,o,c={x:(a=s.x)!==null&&a!==void 0?a:0,y:(o=s.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return qp(qp({},c),{},{value:s.value,payload:s.payload,parentViewBox:void 0,viewBox:c,fill:void 0})});return M.createElement(NO,{value:e?i:void 0},n)}function f8(t){var{points:e,baseLine:n,needClip:r,clipPathId:i,props:s}=t,{layout:a,type:o,stroke:c,connectNulls:u,isRange:d}=s,{id:f}=s,g=bY(s,yAe),m=Ns(g),x=ns(g);return M.createElement(M.Fragment,null,e?.length>1&&M.createElement(wr,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},M.createElement(tm,Ch({},x,{id:f,points:e,connectNulls:u,type:o,baseLine:n,layout:a,stroke:"none",className:"recharts-area-area"})),c!=="none"&&M.createElement(tm,Ch({},m,{className:"recharts-area-curve",layout:a,type:o,connectNulls:u,fill:"none",points:e})),c!=="none"&&d&&M.createElement(tm,Ch({},m,{className:"recharts-area-curve",layout:a,type:o,connectNulls:u,fill:"none",points:n}))),M.createElement(CAe,{points:e,props:g,clipPathId:i}))}function kAe(t){var{alpha:e,baseLine:n,points:r,strokeWidth:i}=t,s=r[0].y,a=r[r.length-1].y;if(!Hn(s)||!Hn(a))return null;var o=e*Math.abs(s-a),c=Math.max(...r.map(u=>u.x||0));return Pt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.x||0),c)),Pt(c)?M.createElement("rect",{x:0,y:su.y||0));return Pt(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(u=>u.y||0),c)),Pt(c)?M.createElement("rect",{x:s({points:a,baseLine:o}),[a,o]),y=Qm(x,"recharts-area-"),v=dme(),[b,E]=M.useState(!1),S=!b,A=M.useCallback(()=>{typeof m=="function"&&m(),E(!1)},[m]),T=M.useCallback(()=>{typeof g=="function"&&g(),E(!0)},[g]);if(v==null)return null;var k=i.current,N=s.current;return M.createElement(NAe,{showLabels:S,points:a},r.children,M.createElement(Zm,{animationId:y,begin:u,duration:d,isActive:c,easing:f,onAnimationEnd:A,onAnimationStart:T,key:y},I=>{if(k){var C=k.length/a.length,D=I===1?a:a.map((j,q)=>{var R=Math.floor(q*C);if(k[R]){var W=k[R];return qp(qp({},j),{},{x:On(W.x,j.x,I),y:On(W.y,j.y,I)})}return j}),F;return Pt(o)?F=On(N,o,I):dr(o)||Qs(o)?F=On(N,0,I):F=o.map((j,q)=>{var R=Math.floor(q*C);if(Array.isArray(N)&&N[R]){var W=N[R];return qp(qp({},j),{},{x:On(W.x,j.x,I),y:On(W.y,j.y,I)})}return j}),I>0&&(i.current=D,s.current=F),M.createElement(f8,{points:D,baseLine:F,needClip:e,clipPathId:n,props:r})}return I>0&&(i.current=a,s.current=o),M.createElement(wr,null,c&&M.createElement("defs",null,M.createElement("clipPath",{id:"animationClipPath-".concat(n)},M.createElement(RAe,{alpha:I,points:a,baseLine:o,layout:v,strokeWidth:r.strokeWidth}))),M.createElement(wr,{clipPath:"url(#animationClipPath-".concat(n,")")},M.createElement(f8,{points:a,baseLine:o,needClip:e,clipPathId:n,props:r})))}),M.createElement(CE,{label:r.label}))}function OAe(t){var{needClip:e,clipPathId:n,props:r}=t,i=M.useRef(null),s=M.useRef();return M.createElement(DAe,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:s})}class jAe extends M.PureComponent{render(){var{hide:e,dot:n,points:r,className:i,top:s,left:a,needClip:o,xAxisId:c,yAxisId:u,width:d,height:f,id:g,baseLine:m,zIndex:x}=this.props;if(e)return null;var y=En("recharts-area",i),v=g,{r:b,strokeWidth:E}=cY(n),S=DO(n),A=b*2+E,T=o?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return M.createElement(gs,{zIndex:x},M.createElement(wr,{className:y},o&&M.createElement("defs",null,M.createElement(zO,{clipPathId:v,xAxisId:c,yAxisId:u}),!S&&M.createElement("clipPath",{id:"clipPath-dots-".concat(v)},M.createElement("rect",{x:a-A/2,y:s-A/2,width:d+A,height:f+A}))),M.createElement(OAe,{needClip:o,clipPathId:v,props:this.props})),M.createElement(Ck,{points:r,mainColor:Sw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(m)&&M.createElement(Ck,{points:m,mainColor:Sw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}}var vY={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:Rr.area};function LAe(t){var e,n=Sr(t,vY),{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:a,connectNulls:o,dot:c,fill:u,fillOpacity:d,hide:f,isAnimationActive:g,legendType:m,stroke:x,xAxisId:y,yAxisId:v}=n,b=bY(n,_Ae),E=hf(),S=pX(),{needClip:A}=jE(y,v),T=vi(),{points:k,isRange:N,baseLine:I}=(e=Ct(R=>vAe(R,y,v,T,t.id)))!==null&&e!==void 0?e:{},C=OE();if(E!=="horizontal"&&E!=="vertical"||C==null||S!=="AreaChart"&&S!=="ComposedChart")return null;var{height:D,width:F,x:j,y:q}=C;return!k||!k.length?null:M.createElement(jAe,Ch({},b,{activeDot:r,animationBegin:i,animationDuration:s,animationEasing:a,baseLine:I,connectNulls:o,dot:c,fill:u,fillOpacity:d,height:D,hide:f,layout:E,isAnimationActive:g==="auto"?!Ym.isSsr:g,isRange:N,legendType:m,needClip:A,points:k,stroke:x,width:F,left:j,top:q,xAxisId:y,yAxisId:v}))}var IAe=(t,e,n,r,i)=>{var s=n??e;if(Pt(s))return s;var a=t==="horizontal"?i:r,o=a.scale.domain();if(a.type==="number"){var c=Math.max(o[0],o[1]),u=Math.min(o[0],o[1]);return s==="dataMin"?u:s==="dataMax"||c<0?c:Math.max(Math.min(o[0],o[1]),0)}return s==="dataMin"?o[0]:s==="dataMax"?o[1]:o[0]};function UAe(t){var{areaSettings:{connectNulls:e,baseValue:n,dataKey:r},stackedData:i,layout:s,chartBaseValue:a,xAxis:o,yAxis:c,displayedData:u,dataStartIndex:d,xAxisTicks:f,yAxisTicks:g,bandSize:m}=t,x=i&&i.length,y=IAe(s,a,n,o,c),v=s==="horizontal",b=!1,E=u.map((A,T)=>{var k;x?k=i[d+T]:(k=Bn(A,r),Array.isArray(k)?b=!0:k=[y,k]);var N=k[1]==null||x&&!e&&Bn(A,r)==null;return v?{x:V1({axis:o,ticks:f,bandSize:m,entry:A,index:T}),y:N?null:c.scale(k[1]),value:k,payload:A}:{x:N?null:o.scale(k[1]),y:V1({axis:c,ticks:g,bandSize:m,entry:A,index:T}),value:k,payload:A}}),S;return x||b?S=E.map(A=>{var T=Array.isArray(A.value)?A.value[0]:null;return v?{x:A.x,y:T!=null&&A.y!=null?c.scale(T):null,payload:A.payload}:{x:T!=null?o.scale(T):null,y:A.y,payload:A.payload}}):S=v?c.scale(y):o.scale(y),{points:E,baseLine:S,isRange:b}}function FAe(t){var e=Sr(t,vY),n=vi();return M.createElement(RE,{id:e.id,type:"area"},r=>M.createElement(M.Fragment,null,M.createElement(UO,{legendPayload:AAe(e)}),M.createElement(TAe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),M.createElement(FO,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:$W(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),M.createElement(LAe,Ch({},e,{id:r}))))}var yY=M.memo(FAe,Vb);yY.displayName="Area";var zAe=["domain","range"],BAe=["domain","range"];function p8(t,e){if(t==null)return{};var n,r,i=HAe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{n.current===null?e(zSe(t)):n.current!==t&&e(BSe({prev:n.current,next:t})),n.current=t},[t,e]),M.useLayoutEffect(()=>()=>{n.current&&(e(HSe(n.current)),n.current=null)},[e]),null}var qAe=t=>{var{xAxisId:e,className:n}=t,r=Ct(hD),i=vi(),s="xAxis",a=Ct(v=>ld(v,s,e,i)),o=Ct(v=>WK(v,s,e,i)),c=Ct(v=>HK(v,e)),u=Ct(v=>Vve(v,e)),d=Ct(v=>SK(v,e));if(c==null||u==null||d==null)return null;var{dangerouslySetInnerHTML:f,ticks:g}=t,m=g8(t,$Ae),{id:x}=d,y=g8(d,VAe);return M.createElement(HO,kk({},m,y,{scale:a,x:u.x,y:u.y,width:c.width,height:c.height,className:En("recharts-".concat(s," ").concat(s),n),viewBox:r,ticks:o,axisType:s}))},KAe={allowDataOverflow:Pi.allowDataOverflow,allowDecimals:Pi.allowDecimals,allowDuplicatedCategory:Pi.allowDuplicatedCategory,angle:Pi.angle,axisLine:_c.axisLine,height:Pi.height,hide:!1,includeHidden:Pi.includeHidden,interval:Pi.interval,minTickGap:Pi.minTickGap,mirror:Pi.mirror,orientation:Pi.orientation,padding:Pi.padding,reversed:Pi.reversed,scale:Pi.scale,tick:Pi.tick,tickCount:Pi.tickCount,tickLine:_c.tickLine,tickSize:_c.tickSize,type:Pi.type,xAxisId:0},XAe=t=>{var e=Sr(t,KAe);return M.createElement(M.Fragment,null,M.createElement(WAe,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit}),M.createElement(qAe,e))},Ew=M.memo(XAe,_Y);Ew.displayName="XAxis";var YAe=["dangerouslySetInnerHTML","ticks"],ZAe=["id"];function Pk(){return Pk=Object.assign?Object.assign.bind():function(t){for(var e=1;e{n.current===null?e($Se(t)):n.current!==t&&e(VSe({prev:n.current,next:t})),n.current=t},[t,e]),M.useLayoutEffect(()=>()=>{n.current&&(e(GSe(n.current)),n.current=null)},[e]),null}var eTe=t=>{var{yAxisId:e,className:n,width:r,label:i}=t,s=M.useRef(null),a=M.useRef(null),o=Ct(hD),c=vi(),u=rr(),d="yAxis",f=Ct(T=>ld(T,d,e,c)),g=Ct(T=>$K(T,e)),m=Ct(T=>Wve(T,e)),x=Ct(T=>WK(T,d,e,c)),y=Ct(T=>EK(T,e));if(M.useLayoutEffect(()=>{if(!(r!=="auto"||!g||CO(i)||M.isValidElement(i)||y==null)){var T=s.current;if(T){var k=T.getCalculatedWidth();Math.round(g.width)!==Math.round(k)&&u(WSe({id:e,width:k}))}}},[x,g,u,i,e,r,y]),g==null||m==null||y==null)return null;var{dangerouslySetInnerHTML:v,ticks:b}=t,E=x8(t,YAe),{id:S}=y,A=x8(y,ZAe);return M.createElement(HO,Pk({},E,A,{ref:s,labelRef:a,scale:f,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:g.width,height:g.height,className:En("recharts-".concat(d," ").concat(d),n),viewBox:o,ticks:x,axisType:d}))},tTe={allowDataOverflow:Ri.allowDataOverflow,allowDecimals:Ri.allowDecimals,allowDuplicatedCategory:Ri.allowDuplicatedCategory,angle:Ri.angle,axisLine:_c.axisLine,hide:!1,includeHidden:Ri.includeHidden,interval:Ri.interval,minTickGap:Ri.minTickGap,mirror:Ri.mirror,orientation:Ri.orientation,padding:Ri.padding,reversed:Ri.reversed,scale:Ri.scale,tick:Ri.tick,tickCount:Ri.tickCount,tickLine:_c.tickLine,tickSize:_c.tickSize,type:Ri.type,width:Ri.width,yAxisId:0},nTe=t=>{var e=Sr(t,tTe);return M.createElement(M.Fragment,null,M.createElement(JAe,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter}),M.createElement(eTe,e))},Mw=M.memo(nTe,_Y);Mw.displayName="YAxis";var rTe=(t,e)=>e,VO=Ge([rTe,xn,_K,_i,lX,zc,o_e,bi],p_e),GO=t=>{var e=t.currentTarget.getBoundingClientRect(),n=e.width/t.currentTarget.offsetWidth,r=e.height/t.currentTarget.offsetHeight;return{chartX:Math.round((t.clientX-e.left)/n),chartY:Math.round((t.clientY-e.top)/r)}},wY=uo("mouseClick"),SY=Sb();SY.startListening({actionCreator:wY,effect:(t,e)=>{var n=t.payload,r=VO(e.getState(),GO(n));r?.activeIndex!=null&&e.dispatch(aye({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Rk=uo("mouseMove"),EY=Sb(),Oy=null;EY.startListening({actionCreator:Rk,effect:(t,e)=>{var n=t.payload;Oy!==null&&cancelAnimationFrame(Oy);var r=GO(n);Oy=requestAnimationFrame(()=>{var i=e.getState(),s=xO(i,i.tooltip.settings.shared);if(s==="axis"){var a=VO(i,r);a?.activeIndex!=null?e.dispatch(eX({activeIndex:a.activeIndex,activeDataKey:void 0,activeCoordinate:a.activeCoordinate})):e.dispatch(JK())}Oy=null})}});var b8={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},MY=Js({name:"rootProps",initialState:b8,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:b8.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),iTe=MY.reducer,{updateOptions:sTe}=MY.actions,AY=Js({name:"polarOptions",initialState:null,reducers:{updatePolarOptions:(t,e)=>e.payload}}),{updatePolarOptions:aTe}=AY.actions,oTe=AY.reducer,TY=uo("keyDown"),CY=uo("focus"),WO=Sb();WO.startListening({actionCreator:TY,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,s=t.payload;if(!(s!=="ArrowRight"&&s!=="ArrowLeft"&&s!=="Enter")){var a=bO(i,ag(n),Ib(n),Bb(n)),o=a==null?-1:Number(a);if(!(!Number.isFinite(o)||o<0)){var c=zc(n);if(s==="Enter"){var u=hw(n,"axis","hover",String(i.index));e.dispatch(wk({active:!i.active,activeIndex:i.index,activeDataKey:i.dataKey,activeCoordinate:u}));return}var d=Yve(n),f=d==="left-to-right"?1:-1,g=s==="ArrowRight"?1:-1,m=o+g*f;if(!(c==null||m>=c.length||m<0)){var x=hw(n,"axis","hover",String(m));e.dispatch(wk({active:!0,activeIndex:m.toString(),activeDataKey:void 0,activeCoordinate:x}))}}}}}});WO.startListening({actionCreator:CY,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var s="0",a=hw(n,"axis","hover",String(s));e.dispatch(wk({activeDataKey:void 0,active:!0,activeIndex:s,activeCoordinate:a}))}}}});var $a=uo("externalEvent"),NY=Sb(),dC=new Map;NY.startListening({actionCreator:$a,effect:(t,e)=>{var{handler:n,reactEvent:r}=t.payload;if(n!=null){r.persist();var i=r.type,s=dC.get(i);s!==void 0&&cancelAnimationFrame(s);var a=requestAnimationFrame(()=>{try{var o=e.getState(),c={activeCoordinate:Wye(o),activeDataKey:SO(o),activeIndex:cd(o),activeLabel:dX(o),activeTooltipIndex:cd(o),isTooltipActive:qye(o)};n(c,r)}finally{dC.delete(i)}});dC.set(i,a)}}});var lTe=Ge([sg],t=>t.tooltipItemPayloads),cTe=Ge([lTe,Fb,(t,e,n)=>e,(t,e,n)=>n],(t,e,n,r)=>{var i=t.find(o=>o.settings.dataKey===r);if(i!=null){var{positions:s}=i;if(s!=null){var a=e(s,n);return a}}}),kY=uo("touchMove"),PY=Sb();PY.startListening({actionCreator:kY,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){var r=e.getState(),i=xO(r,r.tooltip.settings.shared);if(i==="axis"){var s=VO(r,GO({clientX:n.touches[0].clientX,clientY:n.touches[0].clientY,currentTarget:n.currentTarget}));s?.activeIndex!=null&&e.dispatch(eX({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate}))}else if(i==="item"){var a,o=n.touches[0];if(document.elementFromPoint==null)return;var c=document.elementFromPoint(o.clientX,o.clientY);if(!c||!c.getAttribute)return;var u=c.getAttribute(GW),d=(a=c.getAttribute(WW))!==null&&a!==void 0?a:void 0,f=cTe(e.getState(),u,d);e.dispatch(QK({activeDataKey:d,activeIndex:u,activeCoordinate:f}))}}}});var uTe=hW({brush:OMe,cartesianAxis:qSe,chartData:G_e,errorBars:hEe,graphicalItems:eSe,layout:bpe,legend:Ame,options:z_e,polarAxis:mwe,polarOptions:oTe,referenceElements:GMe,rootProps:iTe,tooltip:oye,zIndex:C_e}),dTe=function(e){return $fe({reducer:uTe,preloadedState:e,middleware:n=>{var r;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((r="es6")!==null&&r!==void 0?r:"")}).concat([SY.middleware,EY.middleware,WO.middleware,NY.middleware,PY.middleware])},enhancers:n=>{var r=n;return typeof n=="function"&&(r=n()),r.concat(TW({type:"raf"}))},devTools:Ym.devToolsEnabled})};function RY(t){var{preloadedState:e,children:n,reduxStoreName:r}=t,i=vi(),s=M.useRef(null);if(i)return n;s.current==null&&(s.current=dTe(e));var a=rD;return M.createElement(LEe,{context:a,store:s.current},n)}function hTe(t){var{layout:e,margin:n}=t,r=rr(),i=vi();return M.useEffect(()=>{i||(r(mpe(e)),r(ppe(n)))},[r,i,e,n]),null}var DY=M.memo(hTe,Vb);function OY(t){var e=rr();return M.useEffect(()=>{e(sTe(t))},[e,t]),null}function v8(t){var{zIndex:e,isPanorama:n}=t,r=n?"recharts-zindex-panorama-":"recharts-zindex-",i=HX("".concat(r).concat(e)),s=rr();return M.useLayoutEffect(()=>(s(A_e({zIndex:e,elementId:i,isPanorama:n})),()=>{s(T_e({zIndex:e,isPanorama:n}))}),[s,e,i,n]),M.createElement("g",{tabIndex:-1,id:i})}function y8(t){var{children:e,isPanorama:n}=t,r=Ct(g_e);if(!r||r.length===0)return e;var i=r.filter(a=>a<0),s=r.filter(a=>a>0);return M.createElement(M.Fragment,null,i.map(a=>M.createElement(v8,{key:a,zIndex:a,isPanorama:n})),e,s.map(a=>M.createElement(v8,{key:a,zIndex:a,isPanorama:n})))}var fTe=["children"];function pTe(t,e){if(t==null)return{};var n,r,i=mTe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=pD(),r=mD(),i=lq();if(!hl(n)||!hl(r))return null;var{children:s,otherAttributes:a,title:o,desc:c}=t,u,d;return a!=null&&(typeof a.tabIndex=="number"?u=a.tabIndex:u=i?0:void 0,typeof a.role=="string"?d=a.role:d=i?"application":void 0),M.createElement(qR,Aw({},a,{title:o,desc:c,role:d,tabIndex:u,width:n,height:r,style:gTe,ref:e}),s)}),bTe=t=>{var{children:e}=t,n=Ct(sE);if(!n)return null;var{width:r,height:i,y:s,x:a}=n;return M.createElement(qR,{width:r,height:i,x:a,y:s},e)},_8=M.forwardRef((t,e)=>{var{children:n}=t,r=pTe(t,fTe),i=vi();return i?M.createElement(bTe,null,M.createElement(y8,{isPanorama:!0},n)):M.createElement(xTe,Aw({ref:e},r),M.createElement(y8,{isPanorama:!1},n))});function vTe(){var t=rr(),[e,n]=M.useState(null),r=Ct(jpe);return M.useEffect(()=>{if(e!=null){var i=e.getBoundingClientRect(),s=i.width/e.offsetWidth;Hn(s)&&s!==r&&t(xpe(s))}},[e,t,r]),n}function w8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function yTe(t){for(var e=1;e(e1e(),null);function Tw(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var MTe=M.forwardRef((t,e)=>{var n,r,i=M.useRef(null),[s,a]=M.useState({containerWidth:Tw((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:Tw((r=t.style)===null||r===void 0?void 0:r.height)}),o=M.useCallback((u,d)=>{a(f=>{var g=Math.round(u),m=Math.round(d);return f.containerWidth===g&&f.containerHeight===m?f:{containerWidth:g,containerHeight:m}})},[]),c=M.useCallback(u=>{if(typeof e=="function"&&e(u),u!=null&&typeof ResizeObserver<"u"){var{width:d,height:f}=u.getBoundingClientRect();o(d,f);var g=x=>{var{width:y,height:v}=x[0].contentRect;o(y,v)},m=new ResizeObserver(g);m.observe(u),i.current=m}},[e,o]);return M.useEffect(()=>()=>{var u=i.current;u?.disconnect()},[o]),M.createElement(M.Fragment,null,M.createElement(aE,{width:s.containerWidth,height:s.containerHeight}),M.createElement("div",Zh({ref:c},t)))}),ATe=M.forwardRef((t,e)=>{var{width:n,height:r}=t,[i,s]=M.useState({containerWidth:Tw(n),containerHeight:Tw(r)}),a=M.useCallback((c,u)=>{s(d=>{var f=Math.round(c),g=Math.round(u);return d.containerWidth===f&&d.containerHeight===g?d:{containerWidth:f,containerHeight:g}})},[]),o=M.useCallback(c=>{if(typeof e=="function"&&e(c),c!=null){var{width:u,height:d}=c.getBoundingClientRect();a(u,d)}},[e,a]);return M.createElement(M.Fragment,null,M.createElement(aE,{width:i.containerWidth,height:i.containerHeight}),M.createElement("div",Zh({ref:o},t)))}),TTe=M.forwardRef((t,e)=>{var{width:n,height:r}=t;return M.createElement(M.Fragment,null,M.createElement(aE,{width:n,height:r}),M.createElement("div",Zh({ref:e},t)))}),CTe=M.forwardRef((t,e)=>{var{width:n,height:r}=t;return Cc(n)||Cc(r)?M.createElement(ATe,Zh({},t,{ref:e})):M.createElement(TTe,Zh({},t,{ref:e}))});function NTe(t){return t===!0?MTe:CTe}var kTe=M.forwardRef((t,e)=>{var{children:n,className:r,height:i,onClick:s,onContextMenu:a,onDoubleClick:o,onMouseDown:c,onMouseEnter:u,onMouseLeave:d,onMouseMove:f,onMouseUp:g,onTouchEnd:m,onTouchMove:x,onTouchStart:y,style:v,width:b,responsive:E,dispatchTouchEvents:S=!0}=t,A=M.useRef(null),T=rr(),[k,N]=M.useState(null),[I,C]=M.useState(null),D=vTe(),F=fD(),j=F?.width>0?F.width:b,q=F?.height>0?F.height:i,R=M.useCallback(re=>{D(re),typeof e=="function"&&e(re),N(re),C(re),re!=null&&(A.current=re)},[D,e,N,C]),W=M.useCallback(re=>{T(wY(re)),T($a({handler:s,reactEvent:re}))},[T,s]),K=M.useCallback(re=>{T(Rk(re)),T($a({handler:u,reactEvent:re}))},[T,u]),V=M.useCallback(re=>{T(JK()),T($a({handler:d,reactEvent:re}))},[T,d]),ee=M.useCallback(re=>{T(Rk(re)),T($a({handler:f,reactEvent:re}))},[T,f]),Y=M.useCallback(()=>{T(CY())},[T]),Q=M.useCallback(re=>{T(TY(re.key))},[T]),U=M.useCallback(re=>{T($a({handler:a,reactEvent:re}))},[T,a]),z=M.useCallback(re=>{T($a({handler:o,reactEvent:re}))},[T,o]),J=M.useCallback(re=>{T($a({handler:c,reactEvent:re}))},[T,c]),se=M.useCallback(re=>{T($a({handler:g,reactEvent:re}))},[T,g]),me=M.useCallback(re=>{T($a({handler:y,reactEvent:re}))},[T,y]),fe=M.useCallback(re=>{S&&T(kY(re)),T($a({handler:x,reactEvent:re}))},[T,S,x]),xe=M.useCallback(re=>{T($a({handler:m,reactEvent:re}))},[T,m]),Ee=NTe(E);return M.createElement(vX.Provider,{value:k},M.createElement(T7.Provider,{value:I},M.createElement(Ee,{width:j??v?.width,height:q??v?.height,className:En("recharts-wrapper",r),style:yTe({position:"relative",cursor:"default",width:j,height:q},v),onClick:W,onContextMenu:U,onDoubleClick:z,onFocus:Y,onKeyDown:Q,onMouseDown:J,onMouseEnter:K,onMouseLeave:V,onMouseMove:ee,onMouseUp:se,onTouchEnd:xe,onTouchMove:fe,onTouchStart:me,ref:R},M.createElement(ETe,null),n)))}),PTe=["width","height","responsive","children","className","style","compact","title","desc"];function RTe(t,e){if(t==null)return{};var n,r,i=DTe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var{width:n,height:r,responsive:i,children:s,className:a,style:o,compact:c,title:u,desc:d}=t,f=RTe(t,PTe),g=Ns(f);return c?M.createElement(M.Fragment,null,M.createElement(aE,{width:n,height:r}),M.createElement(_8,{otherAttributes:g,title:u,desc:d},s)):M.createElement(kTe,{className:a,style:o,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},M.createElement(_8,{otherAttributes:g,title:u,desc:d,ref:e},M.createElement(WMe,null,s)))});function Dk(){return Dk=Object.assign?Object.assign.bind():function(t){for(var e=1;eM.createElement(qO,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:LTe,tooltipPayloadSearcher:AE,categoricalChartProps:t,ref:e})),UTe=["axis","item"],FTe=M.forwardRef((t,e)=>M.createElement(qO,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:UTe,tooltipPayloadSearcher:AE,categoricalChartProps:t,ref:e}));function zTe(t){var e=rr();return M.useEffect(()=>{e(aTe(t))},[e,t]),null}var BTe=["layout"];function Ok(){return Ok=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Sr(t,YTe);return M.createElement(GTe,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:XTe,tooltipPayloadSearcher:AE,categoricalChartProps:n,ref:e})}),QTe=["axis"],JTe=M.forwardRef((t,e)=>M.createElement(qO,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:QTe,tooltipPayloadSearcher:AE,categoricalChartProps:t,ref:e}));const M8=[{value:"6h",label:"6h",hours:6},{value:"24h",label:"24h",hours:24},{value:"48h",label:"48h",hours:48},{value:"7d",label:"7d",hours:168}];function eCe({isOpen:t,onClose:e,printerId:n,printerName:r,amsId:i,amsLabel:s,initialMode:a="humidity",thresholds:o}){const{t:c}=Gm(),{theme:u}=xb(),[d,f]=M.useState("24h"),[g,m]=M.useState(a),x=u==="dark";M.useEffect(()=>{if(!t)return;const z=J=>{J.key==="Escape"&&e()};return window.addEventListener("keydown",z),()=>window.removeEventListener("keydown",z)},[t,e]);const y=M8.find(z=>z.value===d)?.hours||24,{data:v,isLoading:b,error:E}=yt({queryKey:["ams-history",n,i,y],queryFn:()=>ke.getAMSHistory(n,i,y),enabled:t,refetchInterval:6e4});if(!t)return null;const S=v?.data.map(z=>({time:new Date(z.recorded_at).getTime(),humidity:z.humidity,temperature:z.temperature,timeLabel:new Date(z.recorded_at).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",...y>24?{day:"numeric",month:"short"}:{}})}))||[],A=o?.humidityGood||40,T=o?.humidityFair||60,k=o?.tempGood||30,N=o?.tempFair||35,I=S[S.length-1],C=I?.humidity,D=I?.temperature,F=z=>{const J=z.filter(re=>re!=null);if(J.length<4)return"stable";const se=J.slice(0,Math.floor(J.length/4)),me=J.slice(-Math.floor(J.length/4)),fe=se.reduce((re,we)=>re+we,0)/se.length,Ee=me.reduce((re,we)=>re+we,0)/me.length-fe;return Math.abs(Ee)<2?"stable":Ee>0?"up":"down"},j=F(S.map(z=>z.humidity)),q=F(S.map(z=>z.temperature)),R=({trend:z})=>z==="up"?l.jsx(p7,{className:"w-4 h-4 text-red-400"}):z==="down"?l.jsx(f7,{className:"w-4 h-4 text-green-400"}):l.jsx(R3,{className:"w-4 h-4 text-gray-400 dark:text-bambu-gray"}),W=z=>z==null?"#9ca3af":z<=A?"#22a352":z<=T?"#d4a017":"#c62828",K=z=>z==null?"#9ca3af":z<=k?"#22a352":z<=N?"#d4a017":"#c62828",V=x?"#2d2d2d":"#ffffff",ee=x?"#1d1d1d":"#f3f4f6",Y=x?"#3d3d3d":"#e5e7eb",Q=x?"#ffffff":"#111827",U=x?"#9ca3af":"#4b5563";return l.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e,children:l.jsxs("div",{className:"rounded-xl w-full max-w-4xl max-h-[90vh] overflow-hidden shadow-xl",style:{backgroundColor:V},onClick:z=>z.stopPropagation(),children:[l.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b",style:{borderColor:Y},children:[l.jsxs("div",{children:[l.jsxs("h2",{className:"text-lg font-semibold",style:{color:Q},children:[s," ",c("common.history","History")]}),l.jsx("p",{className:"text-sm",style:{color:U},children:r})]}),l.jsx("button",{onClick:e,className:"p-2 rounded-lg transition-colors",style:{color:U},children:l.jsx(Wt,{className:"w-5 h-5"})})]}),l.jsxs("div",{className:"p-6 space-y-6 overflow-y-auto max-h-[calc(90vh-80px)]",children:[l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:ee},children:[l.jsxs("button",{onClick:()=>m("humidity"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${g==="humidity"?"bg-blue-600 text-white":""}`,style:g!=="humidity"?{color:U}:void 0,children:[l.jsx(r7,{className:"w-4 h-4"}),c("common.humidity","Humidity")]}),l.jsxs("button",{onClick:()=>m("temperature"),className:`flex items-center gap-2 px-3 py-1.5 text-sm rounded-md transition-colors ${g==="temperature"?"bg-orange-600 text-white":""}`,style:g!=="temperature"?{color:U}:void 0,children:[l.jsx(Sh,{className:"w-4 h-4"}),c("common.temperature","Temperature")]})]}),l.jsx("div",{className:"flex gap-1 rounded-lg p-1",style:{backgroundColor:ee},children:M8.map(z=>l.jsx("button",{onClick:()=>f(z.value),className:`px-3 py-1 text-sm rounded-md transition-colors ${d===z.value?"bg-bambu-green text-white":""}`,style:d!==z.value?{color:U}:void 0,children:z.label},z.value))})]}),l.jsx("div",{className:"grid grid-cols-4 gap-4",children:g==="humidity"?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.current","Current")}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("p",{className:"text-2xl font-bold",style:{color:W(C)},children:C!=null?`${C}%`:"—"}),l.jsx(R,{trend:j})]})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.average","Average")}),l.jsx("p",{className:"text-2xl font-bold",style:{color:Q},children:v?.avg_humidity!=null?`${v.avg_humidity}%`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.min","Min")}),l.jsx("p",{className:"text-2xl font-bold text-green-500",children:v?.min_humidity!=null?`${v.min_humidity}%`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.max","Max")}),l.jsx("p",{className:"text-2xl font-bold text-red-500",children:v?.max_humidity!=null?`${v.max_humidity}%`:"—"})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.current","Current")}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("p",{className:"text-2xl font-bold",style:{color:K(D)},children:D!=null?`${D}°C`:"—"}),l.jsx(R,{trend:q})]})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.average","Average")}),l.jsx("p",{className:"text-2xl font-bold",style:{color:Q},children:v?.avg_temperature!=null?`${v.avg_temperature}°C`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.min","Min")}),l.jsx("p",{className:"text-2xl font-bold text-blue-500",children:v?.min_temperature!=null?`${v.min_temperature}°C`:"—"})]}),l.jsxs("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:[l.jsx("p",{className:"text-xs",style:{color:U},children:c("common.max","Max")}),l.jsx("p",{className:"text-2xl font-bold text-red-500",children:v?.max_temperature!=null?`${v.max_temperature}°C`:"—"})]})]})}),l.jsx("div",{className:"rounded-lg p-4",style:{backgroundColor:ee},children:b?l.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:U},children:c("common.loading","Loading...")}):E?l.jsx("div",{className:"h-[300px] flex items-center justify-center text-red-500",children:c("common.error","Error loading data")}):S.length===0?l.jsx("div",{className:"h-[300px] flex items-center justify-center",style:{color:U},children:c("common.noData","No data available for this time range")}):l.jsx(n1,{width:"100%",height:300,children:l.jsxs(ITe,{data:S,children:[l.jsx(ww,{strokeDasharray:"3 3",stroke:x?"#3d3d3d":"#e5e7eb"}),l.jsx(Ew,{dataKey:"time",type:"number",domain:["dataMin","dataMax"],tickFormatter:z=>{const J=new Date(z);return y>24?J.toLocaleDateString([],{day:"numeric",month:"short"}):J.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},stroke:x?"#9ca3af":"#6b7280",tick:{fontSize:12}}),l.jsx(Mw,{stroke:x?"#9ca3af":"#6b7280",tick:{fontSize:12},domain:g==="humidity"?[0,100]:["auto","auto"],tickFormatter:z=>g==="humidity"?`${z}%`:`${z}°C`}),l.jsx(i1,{contentStyle:{backgroundColor:x?"#2d2d2d":"#ffffff",border:`1px solid ${x?"#3d3d3d":"#e5e7eb"}`,borderRadius:"8px",color:x?"#fff":"#000"},labelFormatter:z=>new Date(z).toLocaleString(),formatter:z=>[g==="humidity"?`${z}%`:`${z}°C`,g==="humidity"?"Humidity":"Temperature"]}),l.jsx(bD,{}),g==="humidity"?l.jsxs(l.Fragment,{children:[l.jsx(jx,{y:A,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),l.jsx(jx,{y:T,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}):l.jsxs(l.Fragment,{children:[l.jsx(jx,{y:k,stroke:"#22a352",strokeDasharray:"5 5",label:{value:"Good",fill:"#22a352",fontSize:10}}),l.jsx(jx,{y:N,stroke:"#d4a017",strokeDasharray:"5 5",label:{value:"Fair",fill:"#d4a017",fontSize:10}})]}),l.jsx(hY,{type:"monotone",dataKey:g,name:g==="humidity"?"Humidity":"Temperature",stroke:g==="humidity"?"#3b82f6":"#f97316",strokeWidth:2,dot:!1,activeDot:{r:4}})]})})}),l.jsx("div",{className:"text-xs text-center",style:{color:U},children:c("amsHistory.recordingInfo","Data is recorded every 5 minutes while the printer is connected")})]})]})})}function tCe({side:t}){const{theme:e}=xb(),n=e==="dark"?"#1a4d2e":"#e7f5e9";return l.jsx("span",{className:"inline-flex items-center justify-center w-4 h-4 text-[10px] font-bold rounded",style:{backgroundColor:n,color:"#00ae42"},children:t})}function nCe({colors:t,className:e}){const n=[{x:9.5,cx:12.5},{x:18.5,cx:21.5},{x:27.5,cx:30.5},{x:36.5,cx:39.5}];return l.jsxs("svg",{className:e,width:"56",height:"34",viewBox:"0 0 52 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 0C1.79086 0 0 1.79086 0 4V28C0 30.2091 1.79086 32 4 32H48C50.2091 32 52 30.2091 52 28V4C52 1.79086 50.2091 0 48 0H4ZM44 8H8V24H44V8Z",fill:"#2F2E33"}),n.map((r,i)=>t[i]?l.jsx("rect",{x:r.x,y:"8",width:"6",height:"16",fill:t[i]},i):l.jsxs("g",{children:[l.jsx("rect",{x:r.x,y:"8",width:"6",height:"16",fill:"#ffffff"}),l.jsx("line",{x1:r.x,y1:"8",x2:r.x+6,y2:"24",stroke:"#555555",strokeWidth:"1.5"})]},i)),l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M36.5 16H33.5V18.2617C33.5 19.9186 32.1569 21.2617 30.5 21.2617C28.8431 21.2617 27.5 19.9186 27.5 18.2617V16H24.5V18.2617C24.5 19.9186 23.1569 21.2617 21.5 21.2617C19.8431 21.2617 18.5 19.9186 18.5 18.2617V16H15.5V18.2617C15.5 19.9186 14.1569 21.2617 12.5 21.2617C10.8432 21.2617 9.5 19.9186 9.5 18.2617V16H4V28H48V16H42.5V18.2617C42.5 19.9186 41.1569 21.2617 39.5 21.2617C37.8431 21.2617 36.5 19.9186 36.5 18.2617V16Z",fill:"#767676"}),l.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 9.18382C6 6.32088 8.32088 4 11.1838 4H40.8162C43.6791 4 46 6.32088 46 9.18382V16H42.5V12.2617C42.5 10.6049 41.1569 9.26172 39.5 9.26172C37.8431 9.26172 36.5 10.6049 36.5 12.2617V16H33.5V12.2617C33.5 10.6049 32.1569 9.26172 30.5 9.26172C28.8431 9.26172 27.5 10.6049 27.5 12.2617V16H24.5V12.2617C24.5 10.6049 23.1569 9.26172 21.5 9.26172C19.8431 9.26172 18.5 10.6049 18.5 12.2617V16H15.5V12.2617C15.5 10.6049 14.1569 9.26172 12.5 9.26172C10.8432 9.26172 9.5 10.6049 9.5 12.2617V16H6V9.18382Z",fill:"#BFBFBF"})]})}function rCe({color:t,className:e}){return l.jsxs("svg",{className:e,width:"56",height:"56",viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t?l.jsx("rect",{x:"8.3",y:"5.2",width:"3.8",height:"5.1",fill:t,rx:"0.3"}):l.jsxs("g",{children:[l.jsx("rect",{x:"8.3",y:"5.2",width:"3.8",height:"5.1",fill:"#ffffff",rx:"0.3"}),l.jsx("line",{x1:"8.3",y1:"5.2",x2:"12.1",y2:"10.3",stroke:"#555555",strokeWidth:"0.8"})]}),l.jsx("path",{d:"M5.88312 4.68555C5.88312 4.13326 6.33083 3.68555 6.88312 3.68555H13.5059C14.0582 3.68555 14.5059 4.13326 14.5059 4.68555V10.3887H5.88312V4.68555Z",stroke:"#6B6B6B"}),l.jsx("rect",{x:"3.8725",y:"10.3887",width:"12.7037",height:"7.55371",rx:"1.2",stroke:"#6B6B6B"}),l.jsx("path",{d:"M8.21991 5.65234C8.21991 5.3762 8.44377 5.15234 8.71991 5.15234H11.7288C12.005 5.15234 12.2288 5.3762 12.2288 5.65234V10.3887H8.21991V5.65234Z",stroke:"#6B6B6B"})]})}function A8({className:t}){return l.jsx("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:l.jsx("path",{d:"M17.8131 0.00538C18.4463 -0.15091 20.3648 3.14642 20.8264 3.84781C25.4187 10.816 35.3089 26.9368 35.9383 34.8694C37.4182 53.5822 11.882 61.3357 2.53721 45.3789C-1.73471 38.0791 0.016 32.2049 3.178 25.0232C6.99221 16.3662 12.6411 7.90372 17.8131 0.00538ZM18.3738 7.24807L17.5881 7.48441C14.4452 12.9431 10.917 18.2341 8.19369 23.9368C4.6808 31.29 1.18317 38.5479 7.69403 45.5657C17.3058 55.9228 34.9847 46.8808 31.4604 32.8681C29.2558 24.0969 22.4207 15.2913 18.3776 7.24807H18.3738Z",fill:"#C3C2C1"})})}function iCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 35 53",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{d:"M17.3165 0.0038C17.932 -0.14959 19.7971 3.08645 20.2458 3.77481C24.7103 10.6135 34.3251 26.4346 34.937 34.2198C36.3757 52.5848 11.5505 60.1942 2.46584 44.534C-1.68714 37.3735 0.0148 31.6085 3.08879 24.5603C6.79681 16.0605 12.2884 7.75907 17.3165 0.0038ZM17.8615 7.11561L17.0977 7.34755C14.0423 12.7048 10.6124 17.8974 7.96483 23.4941C4.54975 30.7107 1.14949 37.8337 7.47908 44.721C16.8233 54.8856 34.01 46.0117 30.5838 32.2595C28.4405 23.6512 21.7957 15.0093 17.8652 7.11561H17.8615Z",fill:"#C3C2C1"}),l.jsx("path",{d:"M5.03547 30.112C9.64453 30.4936 11.632 35.7985 16.4154 35.791C19.6339 35.7873 20.2161 33.2283 22.3853 31.6197C31.6776 24.7286 33.5835 37.4894 27.9881 44.4254C18.1878 56.5653 -1.16063 44.6013 5.03917 30.1158L5.03547 30.112Z",fill:"#1F8FEB"})]})}function sCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 36 54",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{d:"M17.9625 4.48059L4.77216 26.3154L2.08228 40.2175L10.0224 50.8414H23.1594L33.3246 42.1693V30.2455L17.9625 4.48059Z",fill:"#1F8FEB"}),l.jsx("path",{d:"M17.7948 0.00538C18.4273 -0.15091 20.3438 3.14642 20.8048 3.84781C25.3921 10.816 35.2715 26.9368 35.9001 34.8694C37.3784 53.5822 11.8702 61.3357 2.53562 45.3789C-1.73163 38.0829 0.0134 32.2087 3.1757 25.027C6.98574 16.3662 12.6284 7.90372 17.7948 0.00538ZM18.3549 7.24807L17.57 7.48441C14.4306 12.9431 10.9063 18.2341 8.1859 23.9368C4.67686 31.29 1.18305 38.5479 7.68679 45.5657C17.2881 55.9228 34.9476 46.8808 31.4271 32.8681C29.2249 24.0969 22.3974 15.2913 18.3587 7.24807H18.3549Z",fill:"#C3C2C1"})]})}function aCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"}),l.jsx("circle",{cx:"6",cy:"15",r:"2.5",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function oCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("rect",{x:"4.5",y:"8",width:"3",height:"4.5",fill:"#d4a017",rx:"0.5"}),l.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#d4a017"}),l.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function lCe({className:t}){return l.jsxs("svg",{className:t,viewBox:"0 0 12 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("rect",{x:"4.5",y:"3",width:"3",height:"9.5",fill:"#c62828",rx:"0.5"}),l.jsx("circle",{cx:"6",cy:"15",r:"2",fill:"#c62828"}),l.jsx("path",{d:"M6 0.5C4.6 0.5 3.5 1.6 3.5 3V12.1C2.6 12.8 2 13.9 2 15C2 17.2 3.8 19 6 19C8.2 19 10 17.2 10 15C10 13.9 9.4 12.8 8.5 12.1V3C8.5 1.6 7.4 0.5 6 0.5Z",stroke:"#C3C2C1",strokeWidth:"1",fill:"none"})]})}function cCe({humidity:t,goodThreshold:e=40,fairThreshold:n=60,onClick:r}){const i=typeof t=="string"?parseInt(t,10):t,s=typeof e=="number"?e:40,a=typeof n=="number"?n:60;let o,c;isNaN(i)?(o="#C3C2C1",c="Unknown"):i<=s?(o="#22a352",c="Good"):i<=a?(o="#d4a017",c="Fair"):(o="#c62828",c="Bad");let u;return isNaN(i)||i<=s?u=A8:i<=a?u=iCe:u=sCe,l.jsxs("button",{type:"button",onClick:r,className:`flex items-center justify-end gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Humidity: ${i}% - ${c}${r?" (click for history)":""}`,children:[l.jsx(u,{className:"w-3 h-4"}),l.jsxs("span",{className:"text-xs font-medium tabular-nums w-8 text-right",style:{color:o},children:[i,"%"]})]})}function uCe({temp:t,goodThreshold:e=28,fairThreshold:n=35,onClick:r}){const i=typeof e=="number"?e:28,s=typeof n=="number"?n:35;let a,o,c;return t<=i?(a="#22a352",o="Good",c=aCe):t<=s?(a="#d4a017",o="Fair",c=oCe):(a="#c62828",o="Bad",c=lCe),l.jsxs("button",{type:"button",onClick:r,className:`flex items-center gap-1 ${r?"cursor-pointer hover:opacity-80 transition-opacity":""}`,title:`Temperature: ${t}°C - ${o}${r?" (click for history)":""}`,children:[l.jsx(c,{className:"w-3 h-4"}),l.jsxs("span",{className:"tabular-nums w-12 text-right",style:{color:a},children:[t,"°C"]})]})}function hC(t,e){const n=typeof t=="string"?parseInt(t,10):t,r=isNaN(n)?0:n,i=e===1,s=r>=128?r-128:r,a=String.fromCharCode(65+s);return i?`HT-${a}`:`AMS-${a}`}function dCe(t){const e=Math.floor(t/3600),n=Math.floor(t%3600/60);return e>0?`${e}h ${n}m`:`${n}m`}function hCe(t){const e=new Date,n=new Date(e.getTime()+t*60*1e3),r=new Date;r.setHours(0,0,0,0);const i=new Date(n);i.setHours(0,0,0,0);const s=n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),a=Math.floor((i.getTime()-r.getTime())/(1e3*60*60*24));return a===0?s:a===1?`Tomorrow ${s}`:n.toLocaleDateString([],{weekday:"short"})+" "+s}function fCe(t){if(!t)return"/img/printers/default.png";const e=t.toLowerCase().replace(/\s+/g,"");return e.includes("x1e")?"/img/printers/x1e.png":e.includes("x1c")||e.includes("x1carbon")||e.includes("x1")?"/img/printers/x1c.png":e.includes("h2d")||e.includes("h2c")||e.includes("h2s")?"/img/printers/h2d.png":e.includes("p2s")||e.includes("p1s")?"/img/printers/p1s.png":e.includes("p1p")?"/img/printers/p1p.png":e.includes("a1mini")?"/img/printers/a1mini.png":e.includes("a1")?"/img/printers/a1.png":"/img/printers/default.png"}function pCe(t){return t==null?{label:"",color:"text-bambu-gray",bars:0}:t>=-50?{label:"Excellent",color:"text-bambu-green",bars:4}:t>=-60?{label:"Good",color:"text-bambu-green",bars:3}:t>=-70?{label:"Fair",color:"text-yellow-400",bars:2}:t>=-80?{label:"Weak",color:"text-orange-400",bars:1}:{label:"Very weak",color:"text-red-400",bars:1}}function mCe({url:t,printName:e}){const[n,r]=M.useState(!1),[i,s]=M.useState(!1),[a,o]=M.useState(!1);return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:`w-20 h-20 flex-shrink-0 rounded-lg overflow-hidden bg-bambu-dark-tertiary flex items-center justify-center ${t&&n?"cursor-pointer":""}`,onClick:()=>t&&n&&o(!0),children:t&&!i?l.jsxs(l.Fragment,{children:[l.jsx("img",{src:t,alt:"Print preview",className:`w-full h-full object-cover ${n?"block":"hidden"}`,onLoad:()=>r(!0),onError:()=>s(!0)}),!n&&l.jsx(fm,{className:"w-8 h-8 text-bambu-gray"})]}):l.jsx(fm,{className:"w-8 h-8 text-bambu-gray"})}),a&&t&&l.jsx("div",{className:"fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-8",onClick:()=>o(!1),children:l.jsxs("div",{className:"relative max-w-2xl max-h-full",children:[l.jsx("img",{src:t,alt:"Print preview",className:"max-w-full max-h-[80vh] rounded-lg shadow-2xl"}),e&&l.jsx("p",{className:"text-white text-center mt-4 text-lg",children:e})]})})]})}function gCe({printers:t}){const e=Mn(),n=M.useMemo(()=>{let i=0,s=0,a=0,o=0;return t?.forEach(c=>{const u=e.getQueryData(["printerStatus",c.id]);u===void 0?o++:u.connected?u.state==="RUNNING"?i++:s++:a++}),{printing:i,idle:s,offline:a,loading:o,total:t?.length||0}},[t,e]),[,r]=M.useState(0);return M.useEffect(()=>{let i=!1;const s=e.getQueryCache().subscribe(()=>{i||(i=!0,requestAnimationFrame(()=>{r(a=>a+1),i=!1}))});return()=>s()},[e]),t?.length?l.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[n.printing>0&&l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("div",{className:"w-2 h-2 rounded-full bg-bambu-green animate-pulse"}),l.jsxs("span",{className:"text-bambu-gray",children:[l.jsx("span",{className:"text-white font-medium",children:n.printing})," printing"]})]}),n.idle>0&&l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-400"}),l.jsxs("span",{className:"text-bambu-gray",children:[l.jsx("span",{className:"text-white font-medium",children:n.idle})," idle"]})]}),n.offline>0&&l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("div",{className:"w-2 h-2 rounded-full bg-gray-400"}),l.jsxs("span",{className:"text-bambu-gray",children:[l.jsx("span",{className:"text-white font-medium",children:n.offline})," offline"]})]})]}):null}function T8({printer:t,hideIfDisconnected:e,maintenanceInfo:n,viewMode:r="expanded",amsThresholds:i}){const s=Mn(),a=AR(),[o,c]=M.useState(!1),[u,d]=M.useState(!1),[f,g]=M.useState(!1),[m,x]=M.useState(!1),[y,v]=M.useState(!1),[b,E]=M.useState(!1),[S,A]=M.useState(!1),[T,k]=M.useState(!1),[N,I]=M.useState(null),{data:C}=yt({queryKey:["printerStatus",t.id],queryFn:()=>ke.getPrinterStatus(t.id),refetchInterval:3e4}),[D,F]=M.useState(null);M.useEffect(()=>{C?.wifi_signal!=null&&F(C.wifi_signal)},[C?.wifi_signal]);const j=C?.wifi_signal??D,q=M.useRef({});M.useEffect(()=>{C?.ams_extruder_map&&Object.keys(C.ams_extruder_map).length>0&&(q.current=C.ams_extruder_map)},[C?.ams_extruder_map]);const R=C?.ams_extruder_map&&Object.keys(C.ams_extruder_map).length>0?C.ams_extruder_map:q.current,W=M.useRef([]);M.useEffect(()=>{C?.ams&&C.ams.length>0&&(W.current=C.ams)},[C?.ams]);const K=C?.ams&&C.ams.length>0?C.ams:W.current,{data:V}=yt({queryKey:["smartPlugByPrinter",t.id],queryFn:()=>ke.getSmartPlugByPrinter(t.id)}),{data:ee}=yt({queryKey:["smartPlugStatus",V?.id],queryFn:()=>V?ke.getSmartPlugStatus(V.id):null,enabled:!!V,refetchInterval:1e4}),{data:Y}=yt({queryKey:["queue",t.id,"pending"],queryFn:()=>ke.getQueue(t.id,"pending")}),Q=Y?.length||0,{data:U}=yt({queryKey:["archives",t.id,"last"],queryFn:()=>ke.getArchives(t.id,1,0),enabled:C?.connected&&C?.state!=="RUNNING"}),z=U?.[0],J=e&&C&&!C.connected,se=wt({mutationFn:()=>ke.deletePrinter(t.id),onSuccess:()=>{s.invalidateQueries({queryKey:["printers"]})}}),me=wt({mutationFn:()=>ke.connectPrinter(t.id),onSuccess:()=>{s.invalidateQueries({queryKey:["printerStatus",t.id]})}}),fe=wt({mutationFn:Ee=>V?ke.controlSmartPlug(V.id,Ee):Promise.reject("No plug"),onSuccess:()=>{s.invalidateQueries({queryKey:["smartPlugStatus",V?.id]})}}),xe=wt({mutationFn:Ee=>V?ke.updateSmartPlug(V.id,{auto_off:Ee}):Promise.reject("No plug"),onSuccess:()=>{s.invalidateQueries({queryKey:["smartPlugByPrinter",t.id]}),s.invalidateQueries({queryKey:["smart-plugs"]})}});return J?null:l.jsxs(Nt,{className:"relative",children:[l.jsxs(Rt,{children:[l.jsxs("div",{className:r==="compact"?"mb-2":"mb-4",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[l.jsx("img",{src:fCe(t.model),alt:t.model||"Printer",className:`object-contain rounded-lg bg-bambu-dark flex-shrink-0 ${r==="compact"?"w-10 h-10":"w-14 h-14"}`}),l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("h3",{className:`font-semibold text-white ${r==="compact"?"text-base truncate":"text-lg"}`,children:t.name}),r==="compact"&&l.jsx("div",{className:`w-2 h-2 rounded-full flex-shrink-0 ${C?.connected?"bg-bambu-green":"bg-red-500"}`,title:C?.connected?"Connected":"Offline"})]}),l.jsxs("p",{className:"text-sm text-bambu-gray",children:[t.model||"Unknown Model",r==="expanded"&&C?.nozzles&&C.nozzles[0]?.nozzle_diameter&&l.jsxs("span",{className:"ml-1.5 text-bambu-gray",title:C.nozzles[0].nozzle_type||"Nozzle",children:["• ",C.nozzles[0].nozzle_diameter,"mm"]}),r==="expanded"&&n&&n.total_print_hours>0&&l.jsxs("span",{className:"ml-2 text-bambu-gray",children:[l.jsx(_r,{className:"w-3 h-3 inline-block mr-1"}),Math.round(n.total_print_hours),"h"]})]})]})]}),l.jsxs("div",{className:"relative flex-shrink-0",children:[l.jsx(Le,{variant:"ghost",size:"sm",onClick:()=>c(!o),children:l.jsx(i7,{className:"w-4 h-4"})}),o&&l.jsxs("div",{className:"absolute right-0 mt-2 w-48 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-lg z-10",children:[l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{g(!0),c(!1)},children:[l.jsx(rd,{className:"w-4 h-4"}),"Edit"]}),l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{me.mutate(),c(!1)},children:[l.jsx(Cs,{className:"w-4 h-4"}),"Reconnect"]}),l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{v(!0),c(!1)},children:[l.jsx(h7,{className:"w-4 h-4"}),"MQTT Debug"]}),l.jsxs("button",{className:"w-full px-4 py-2 text-left text-sm text-red-400 hover:bg-bambu-dark-tertiary flex items-center gap-2",onClick:()=>{d(!0),c(!1)},children:[l.jsx(Rn,{className:"w-4 h-4"}),"Delete"]})]})]})]}),r==="expanded"&&l.jsxs("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[l.jsxs("span",{className:`flex items-center gap-1.5 px-2 py-1 rounded-full text-xs ${C?.connected?"bg-bambu-green/20 text-bambu-green":"bg-red-500/20 text-red-400"}`,children:[C?.connected?l.jsx(zS,{className:"w-3 h-3"}):l.jsx(m7,{className:"w-3 h-3"}),C?.connected?"Connected":"Offline"]}),C?.connected&&j!=null&&l.jsxs("span",{className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs ${j>=-50||j>=-60?"bg-bambu-green/20 text-bambu-green":j>=-70?"bg-amber-500/20 text-amber-600":j>=-80?"bg-orange-500/20 text-orange-600":"bg-red-500/20 text-red-600"}`,title:`WiFi: ${j} dBm - ${pCe(j).label}`,children:[l.jsx(Zce,{className:"w-3 h-3"}),j,"dBm"]}),C?.connected&&l.jsxs("button",{onClick:()=>k(!0),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${C.hms_errors&&C.hms_errors.length>0?C.hms_errors.some(Ee=>Ee.severity<=2)?"bg-red-500/20 text-red-400":"bg-orange-500/20 text-orange-400":"bg-bambu-green/20 text-bambu-green"}`,title:"Click to view HMS errors",children:[l.jsx(ti,{className:"w-3 h-3"}),C.hms_errors&&C.hms_errors.length>0?C.hms_errors.length:"OK"]}),n&&l.jsxs("button",{onClick:()=>a("/maintenance"),className:`flex items-center gap-1 px-2 py-1 rounded-full text-xs cursor-pointer hover:opacity-80 transition-opacity ${n.due_count>0?"bg-red-500/20 text-red-400":n.warning_count>0?"bg-orange-500/20 text-orange-400":"bg-bambu-green/20 text-bambu-green"}`,title:n.due_count>0||n.warning_count>0?`${n.due_count>0?`${n.due_count} maintenance due`:""}${n.due_count>0&&n.warning_count>0?", ":""}${n.warning_count>0?`${n.warning_count} due soon`:""} - Click to view`:"All maintenance up to date - Click to view",children:[l.jsx(sd,{className:"w-3 h-3"}),n.due_count>0||n.warning_count>0?n.due_count+n.warning_count:"OK"]}),Q>0&&l.jsxs("button",{onClick:()=>a("/queue"),className:"flex items-center gap-1 px-2 py-1 rounded-full text-xs bg-purple-500/20 text-purple-400 hover:opacity-80 transition-opacity",title:`${Q} print${Q>1?"s":""} in queue`,children:[l.jsx($h,{className:"w-3 h-3"}),Q]})]})]}),u&&l.jsx(Qr,{title:"Delete Printer",message:`Are you sure you want to delete "${t.name}"? This will also remove all connection settings.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{se.mutate(),d(!1)},onCancel:()=>d(!1)}),C?.connected&&l.jsxs(l.Fragment,{children:[r==="compact"?l.jsx("div",{className:"mt-2",children:C.state==="RUNNING"?l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-1.5",children:l.jsx("div",{className:"bg-bambu-green h-1.5 rounded-full transition-all",style:{width:`${C.progress||0}%`}})}),l.jsxs("span",{className:"text-xs text-white",children:[Math.round(C.progress||0),"%"]})]}):l.jsx("p",{className:"text-xs text-bambu-gray capitalize",children:C.state?.toLowerCase()||"Idle"})}):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mb-4 p-3 bg-bambu-dark rounded-lg",children:l.jsxs("div",{className:"flex gap-3",children:[l.jsx(mCe,{url:C.state==="RUNNING"?C.cover_url:null,printName:C.state==="RUNNING"&&(C.subtask_name||C.current_print)||void 0}),l.jsx("div",{className:"flex-1 min-w-0",children:C.current_print&&C.state==="RUNNING"?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:"Printing"}),l.jsx("p",{className:"text-white text-sm mb-2 truncate",children:C.subtask_name||C.current_print}),l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:l.jsx("div",{className:"bg-bambu-green h-2 rounded-full transition-all",style:{width:`${C.progress||0}%`}})}),l.jsxs("span",{className:"text-white",children:[Math.round(C.progress||0),"%"]})]}),l.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs text-bambu-gray",children:[C.remaining_time!=null&&C.remaining_time>0&&l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(_r,{className:"w-3 h-3"}),dCe(C.remaining_time*60)]}),l.jsxs("span",{className:"text-bambu-green font-medium",title:"Estimated completion time",children:["ETA ",hCe(C.remaining_time)]})]}),C.layer_num!=null&&C.total_layers!=null&&C.total_layers>0&&l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx($h,{className:"w-3 h-3"}),C.layer_num,"/",C.total_layers]})]})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-sm text-bambu-gray mb-1",children:"Status"}),l.jsx("p",{className:"text-white text-sm mb-2 capitalize",children:C.state?.toLowerCase()||"Idle"}),l.jsxs("div",{className:"flex items-center justify-between text-sm",children:[l.jsx("div",{className:"flex-1 bg-bambu-dark-tertiary rounded-full h-2 mr-3",children:l.jsx("div",{className:"bg-bambu-dark-tertiary h-2 rounded-full"})}),l.jsx("span",{className:"text-bambu-gray",children:"—"})]}),z?l.jsxs("p",{className:"text-xs text-bambu-gray mt-2 truncate",title:z.print_name||z.filename,children:["Last: ",z.print_name||z.filename,z.completed_at&&l.jsxs("span",{className:"ml-1 text-bambu-gray/60",children:["• ",new Date(z.completed_at).toLocaleDateString([],{month:"short",day:"numeric"})]})]}):l.jsx("p",{className:"text-xs text-bambu-gray mt-2",children:"Ready to print"})]})})]})}),C.state!=="RUNNING"&&l.jsx(lde,{printerId:t.id})]}),C.temperatures&&r==="expanded"&&l.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[l.jsxs("div",{className:"text-center p-2 bg-bambu-dark rounded-lg",children:[l.jsx(Sh,{className:"w-4 h-4 mx-auto mb-1 text-orange-400"}),C.temperatures.nozzle_2!==void 0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-xs text-bambu-gray",children:"Left / Right"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.nozzle||0),"°C / ",Math.round(C.temperatures.nozzle_2||0),"°C"]})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"text-xs text-bambu-gray",children:"Nozzle"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.nozzle||0),"°C"]})]})]}),l.jsxs("div",{className:"text-center p-2 bg-bambu-dark rounded-lg",children:[l.jsx(Sh,{className:"w-4 h-4 mx-auto mb-1 text-blue-400"}),l.jsx("p",{className:"text-xs text-bambu-gray",children:"Bed"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.bed||0),"°C"]})]}),C.temperatures.chamber!==void 0&&l.jsxs("div",{className:"text-center p-2 bg-bambu-dark rounded-lg",children:[l.jsx(Sh,{className:"w-4 h-4 mx-auto mb-1 text-green-400"}),l.jsx("p",{className:"text-xs text-bambu-gray",children:"Chamber"}),l.jsxs("p",{className:"text-sm text-white",children:[Math.round(C.temperatures.chamber||0),"°C"]})]})]}),K&&K.length>0&&r==="expanded"&&l.jsxs("div",{className:"mt-3 space-y-2",children:[K.map(Ee=>{const re=R[String(Ee.id)],we=Ee.id>=128?Ee.id-128:Ee.id,Oe=re!==void 0?re:we,he=t.nozzle_count===2||C?.temperatures?.nozzle_2!==void 0,ht=Oe===1,$=Oe===0,H=Ee.tray.map(G=>G.tray_color?`#${G.tray_color}`:G.tray_type?"#333":null),ne=Ee.tray.length===1;return l.jsx("div",{className:"p-2 bg-bambu-dark rounded-lg",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[he&&(ht||$)&&l.jsx(tCe,{side:ht?"L":"R"}),ne?l.jsx(rCe,{color:H[0],className:"flex-shrink-0"}):l.jsx(nCe,{colors:H,className:"flex-shrink-0"})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("span",{className:"text-xs text-bambu-gray font-medium",children:hC(Ee.id,Ee.tray.length)}),l.jsx("div",{className:"mt-0.5 text-[10px] flex items-start",children:Ee.tray.map((G,Z)=>l.jsxs("div",{className:"flex items-start",children:[l.jsxs("div",{className:"flex flex-col",children:[l.jsx("span",{className:"text-bambu-gray/70 truncate",children:G.tray_type?G.tray_sub_brands||G.tray_type:"—"}),l.jsx("span",{className:"text-bambu-gray/50 truncate",children:G.tray_type&&G.remain>=0?`${G.remain}%`:"—"})]}),ZI({amsId:Ee.id,amsLabel:hC(Ee.id,Ee.tray.length),mode:"humidity"})}),Ee.temp!=null&&l.jsx(uCe,{temp:Ee.temp,goodThreshold:i?.tempGood,fairThreshold:i?.tempFair,onClick:()=>I({amsId:Ee.id,amsLabel:hC(Ee.id,Ee.tray.length),mode:"temperature"})})]})]})},Ee.id)}),C.vt_tray&&C.vt_tray.tray_type&&l.jsx("div",{className:"p-2 bg-bambu-dark rounded-lg",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"w-10 h-10 rounded-full border-2 border-white/20 flex-shrink-0",style:{backgroundColor:C.vt_tray.tray_color?`#${C.vt_tray.tray_color}`:"#333"}}),l.jsxs("div",{children:[l.jsx("span",{className:"text-xs text-bambu-gray font-medium",children:"External"}),l.jsx("p",{className:"text-[10px] text-bambu-gray/70",children:C.vt_tray.tray_sub_brands||C.vt_tray.tray_type||"Spool"})]})]})})]})]}),V&&r==="expanded"&&l.jsx("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[l.jsx(bm,{className:"w-4 h-4 text-bambu-gray flex-shrink-0"}),l.jsx("span",{className:"text-sm text-white truncate",children:V.name}),ee&&l.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded flex-shrink-0 ${ee.state==="ON"?"bg-bambu-green/20 text-bambu-green":ee.state==="OFF"?"bg-red-500/20 text-red-400":"bg-bambu-gray/20 text-bambu-gray"}`,children:ee.state||"?"}),ee?.energy?.power!=null&&ee.state==="ON"&&l.jsxs("span",{className:"text-xs text-yellow-400 font-medium flex-shrink-0",children:[ee.energy.power,"W"]})]}),l.jsx("div",{className:"flex-1"}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsxs("button",{onClick:()=>E(!0),disabled:fe.isPending||ee?.state==="ON",className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${ee?.state==="ON"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[l.jsx(bd,{className:"w-3 h-3"}),"On"]}),l.jsxs("button",{onClick:()=>A(!0),disabled:fe.isPending||ee?.state==="OFF",className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${ee?.state==="OFF"?"bg-red-500/30 text-red-400":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[l.jsx(HR,{className:"w-3 h-3"}),"Off"]})]}),l.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[l.jsx("span",{className:`text-xs hidden sm:inline ${V.auto_off_executed?"text-bambu-green":"text-bambu-gray"}`,children:V.auto_off_executed?"Auto-off done":"Auto-off"}),l.jsx("button",{onClick:()=>xe.mutate(!V.auto_off),disabled:xe.isPending||V.auto_off_executed,title:V.auto_off_executed?"Auto-off was executed - turn printer on to reset":"Auto power-off after print",className:`relative w-9 h-5 rounded-full transition-colors flex-shrink-0 ${V.auto_off_executed?"bg-bambu-green/50 cursor-not-allowed":V.auto_off?"bg-bambu-green":"bg-bambu-dark-tertiary"}`,children:l.jsx("span",{className:`absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full transition-transform ${V.auto_off||V.auto_off_executed?"translate-x-4":"translate-x-0"}`})})]})]})}),r==="expanded"&&l.jsxs("div",{className:"mt-4 pt-4 border-t border-bambu-dark-tertiary flex items-center justify-between",children:[l.jsxs("div",{className:"text-xs text-bambu-gray",children:[l.jsx("p",{children:t.ip_address}),l.jsx("p",{className:"truncate",children:t.serial_number})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Le,{variant:"secondary",size:"sm",onClick:()=>{window.open(`/camera/${t.id}`,`camera-${t.id}`,"width=640,height=400,menubar=no,toolbar=no,location=no,status=no")},disabled:!C?.connected,title:"Open camera in new window",children:l.jsx(g7,{className:"w-4 h-4"})}),l.jsxs(Le,{variant:"secondary",size:"sm",onClick:()=>x(!0),title:"Browse printer files",children:[l.jsx(FR,{className:"w-4 h-4"}),"Files"]})]})]})]}),m&&l.jsx(tde,{printerId:t.id,printerName:t.name,onClose:()=>x(!1)}),y&&l.jsx(nde,{printerId:t.id,printerName:t.name,onClose:()=>v(!1)}),b&&V&&l.jsx(Qr,{title:"Power On Printer",message:`Are you sure you want to turn ON the power for "${t.name}"?`,confirmText:"Power On",variant:"default",onConfirm:()=>{fe.mutate("on"),E(!1)},onCancel:()=>E(!1)}),S&&V&&l.jsx(Qr,{title:"Power Off Printer",message:C?.state==="RUNNING"?`WARNING: "${t.name}" is currently printing! Are you sure you want to turn OFF the power? This will interrupt the print and may damage the printer.`:`Are you sure you want to turn OFF the power for "${t.name}"?`,confirmText:"Power Off",variant:"danger",onConfirm:()=>{fe.mutate("off"),A(!1)},onCancel:()=>A(!1)}),T&&l.jsx(ade,{printerName:t.name,errors:C?.hms_errors||[],onClose:()=>k(!1)}),N&&l.jsx(eCe,{isOpen:!!N,onClose:()=>I(null),printerId:t.id,printerName:t.name,amsId:N.amsId,amsLabel:N.amsLabel,initialMode:N.mode,thresholds:i}),f&&l.jsx(bCe,{printer:t,onClose:()=>g(!1)})]})}function xCe({onClose:t,onAdd:e}){const[n,r]=M.useState({name:"",serial_number:"",ip_address:"",access_code:"",model:"",auto_archive:!0});return M.useEffect(()=>{const i=s=>{s.key==="Escape"&&t()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[t]),l.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:t,children:l.jsx(Nt,{className:"w-full max-w-md",onClick:i=>i.stopPropagation(),children:l.jsxs(Rt,{children:[l.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Add Printer"}),l.jsxs("form",{onSubmit:i=>{i.preventDefault(),e(n)},className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name"}),l.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.name,onChange:i=>r({...n,name:i.target.value}),placeholder:"My Printer"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"IP Address"}),l.jsx("input",{type:"text",required:!0,pattern:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.ip_address,onChange:i=>r({...n,ip_address:i.target.value}),placeholder:"192.168.1.100"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Serial Number"}),l.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.serial_number,onChange:i=>r({...n,serial_number:i.target.value}),placeholder:"01P00A000000000"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Access Code"}),l.jsx("input",{type:"password",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.access_code,onChange:i=>r({...n,access_code:i.target.value}),placeholder:"From printer settings"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Model (optional)"}),l.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n.model||"",onChange:i=>r({...n,model:i.target.value}),children:[l.jsx("option",{value:"",children:"Select model..."}),l.jsxs("optgroup",{label:"H2 Series",children:[l.jsx("option",{value:"H2C",children:"H2C"}),l.jsx("option",{value:"H2D",children:"H2D"}),l.jsx("option",{value:"H2S",children:"H2S"})]}),l.jsxs("optgroup",{label:"X1 Series",children:[l.jsx("option",{value:"X1E",children:"X1E"}),l.jsx("option",{value:"X1C",children:"X1 Carbon"}),l.jsx("option",{value:"X1",children:"X1"})]}),l.jsxs("optgroup",{label:"P Series",children:[l.jsx("option",{value:"P2S",children:"P2S"}),l.jsx("option",{value:"P1S",children:"P1S"}),l.jsx("option",{value:"P1P",children:"P1P"})]}),l.jsxs("optgroup",{label:"A1 Series",children:[l.jsx("option",{value:"A1",children:"A1"}),l.jsx("option",{value:"A1 Mini",children:"A1 Mini"})]})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",id:"auto_archive",checked:n.auto_archive,onChange:i=>r({...n,auto_archive:i.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),l.jsx("label",{htmlFor:"auto_archive",className:"text-sm text-bambu-gray",children:"Auto-archive completed prints"})]}),l.jsxs("div",{className:"flex gap-3 pt-4",children:[l.jsx(Le,{type:"button",variant:"secondary",onClick:t,className:"flex-1",children:"Cancel"}),l.jsx(Le,{type:"submit",className:"flex-1",children:"Add Printer"})]})]})]})})})}function bCe({printer:t,onClose:e}){const n=Mn(),[r,i]=M.useState({name:t.name,ip_address:t.ip_address,access_code:"",model:t.model||"",location:t.location||"",auto_archive:t.auto_archive}),s=wt({mutationFn:o=>ke.updatePrinter(t.id,o),onSuccess:()=>{n.invalidateQueries({queryKey:["printers"]}),n.invalidateQueries({queryKey:["printerStatus",t.id]}),e()}});M.useEffect(()=>{const o=c=>{c.key==="Escape"&&e()};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[e]);const a=o=>{o.preventDefault();const c={name:r.name,ip_address:r.ip_address,model:r.model||void 0,location:r.location||void 0,auto_archive:r.auto_archive};r.access_code&&(c.access_code=r.access_code),s.mutate(c)};return l.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e,children:l.jsx(Nt,{className:"w-full max-w-md",onClick:o=>o.stopPropagation(),children:l.jsxs(Rt,{children:[l.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Edit Printer"}),l.jsxs("form",{onSubmit:a,className:"space-y-4",children:[l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name"}),l.jsx("input",{type:"text",required:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.name,onChange:o=>i({...r,name:o.target.value}),placeholder:"My Printer"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"IP Address"}),l.jsx("input",{type:"text",required:!0,pattern:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.ip_address,onChange:o=>i({...r,ip_address:o.target.value}),placeholder:"192.168.1.100"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Serial Number"}),l.jsx("input",{type:"text",disabled:!0,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-bambu-gray cursor-not-allowed",value:t.serial_number}),l.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Serial number cannot be changed"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Access Code"}),l.jsx("input",{type:"password",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.access_code,onChange:o=>i({...r,access_code:o.target.value}),placeholder:"Leave empty to keep current"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Model"}),l.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.model,onChange:o=>i({...r,model:o.target.value}),children:[l.jsx("option",{value:"",children:"Select model..."}),l.jsxs("optgroup",{label:"H2 Series",children:[l.jsx("option",{value:"H2C",children:"H2C"}),l.jsx("option",{value:"H2D",children:"H2D"}),l.jsx("option",{value:"H2S",children:"H2S"})]}),l.jsxs("optgroup",{label:"X1 Series",children:[l.jsx("option",{value:"X1E",children:"X1E"}),l.jsx("option",{value:"X1C",children:"X1 Carbon"}),l.jsx("option",{value:"X1",children:"X1"})]}),l.jsxs("optgroup",{label:"P Series",children:[l.jsx("option",{value:"P2S",children:"P2S"}),l.jsx("option",{value:"P1S",children:"P1S"}),l.jsx("option",{value:"P1P",children:"P1P"})]}),l.jsxs("optgroup",{label:"A1 Series",children:[l.jsx("option",{value:"A1",children:"A1"}),l.jsx("option",{value:"A1 Mini",children:"A1 Mini"})]})]})]}),l.jsxs("div",{children:[l.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Location / Group"}),l.jsx("input",{type:"text",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r.location,onChange:o=>i({...r,location:o.target.value}),placeholder:"e.g., Workshop, Office, Basement"}),l.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Used to group printers on the dashboard"})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",id:"edit_auto_archive",checked:r.auto_archive,onChange:o=>i({...r,auto_archive:o.target.checked}),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),l.jsx("label",{htmlFor:"edit_auto_archive",className:"text-sm text-bambu-gray",children:"Auto-archive completed prints"})]}),l.jsxs("div",{className:"flex gap-3 pt-4",children:[l.jsx(Le,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:"Cancel"}),l.jsx(Le,{type:"submit",className:"flex-1",disabled:s.isPending,children:s.isPending?"Saving...":"Save Changes"})]})]})]})})})}function vCe(t){const{data:e}=yt({queryKey:["printerStatus",t],queryFn:()=>ke.getPrinterStatus(t),refetchInterval:3e4});return!e?.connected}function yCe({printer:t,plug:e,onPowerOn:n,isPowering:r}){const i=vCe(t.id),{data:s}=yt({queryKey:["smartPlugStatus",e.id],queryFn:()=>ke.getSmartPlugStatus(e.id),refetchInterval:1e4});return i?l.jsxs("div",{className:"flex items-center justify-between px-3 py-2 hover:bg-gray-100 dark:hover:bg-bambu-dark-tertiary",children:[l.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[l.jsx("span",{className:"text-sm text-gray-900 dark:text-white truncate",children:t.name}),s&&l.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded ${s.state==="ON"?"bg-bambu-green/20 text-bambu-green":"bg-red-500/20 text-red-400"}`,children:s.state||"?"})]}),l.jsxs("button",{onClick:()=>n(e.id),disabled:r||s?.state==="ON",className:`px-2 py-1 text-xs rounded transition-colors flex items-center gap-1 ${s?.state==="ON"?"bg-bambu-green/20 text-bambu-green cursor-default":"bg-bambu-green/20 text-bambu-green hover:bg-bambu-green hover:text-white"}`,children:[l.jsx(bd,{className:"w-3 h-3"}),r?"...":"On"]})]}):null}function _Ce(){const[t,e]=M.useState(!1),[n,r]=M.useState(()=>localStorage.getItem("hideDisconnectedPrinters")==="true"),[i,s]=M.useState(!1),[a,o]=M.useState(null),[c,u]=M.useState(()=>localStorage.getItem("printerSortBy")||"name"),[d,f]=M.useState(()=>localStorage.getItem("printerSortAsc")!=="false"),[g,m]=M.useState(()=>localStorage.getItem("printerViewMode")||"expanded"),x=Mn(),{data:y,isLoading:v}=yt({queryKey:["printers"],queryFn:ke.getPrinters}),{data:b}=yt({queryKey:["settings"],queryFn:ke.getSettings}),{data:E}=yt({queryKey:["smart-plugs"],queryFn:ke.getSmartPlugs}),{data:S}=yt({queryKey:["maintenanceOverview"],queryFn:ke.getMaintenanceOverview,staleTime:60*1e3}),A=S?.reduce((R,W)=>(R[W.printer_id]={due_count:W.due_count,warning_count:W.warning_count,total_print_hours:W.total_print_hours},R),{})||{},T=E?.reduce((R,W)=>(W.printer_id&&(R[W.printer_id]=W),R),{})||{},k=wt({mutationFn:ke.createPrinter,onSuccess:()=>{x.invalidateQueries({queryKey:["printers"]}),e(!1)}}),N=wt({mutationFn:R=>ke.controlSmartPlug(R,"on"),onSuccess:()=>{x.invalidateQueries({queryKey:["smart-plugs"]}),o(null)},onError:()=>{o(null)}}),I=()=>{const R=!n;r(R),localStorage.setItem("hideDisconnectedPrinters",String(R))},C=R=>{u(R),localStorage.setItem("printerSortBy",R)},D=()=>{const R=!d;f(R),localStorage.setItem("printerSortAsc",String(R))},F=()=>{const R=g==="expanded"?"compact":"expanded";m(R),localStorage.setItem("printerViewMode",R)},j=M.useMemo(()=>{if(!y)return[];const R=[...y];switch(c){case"name":R.sort((W,K)=>W.name.localeCompare(K.name));break;case"model":R.sort((W,K)=>(W.model||"").localeCompare(K.model||""));break;case"location":R.sort((W,K)=>{const V=W.location||"",ee=K.location||"";return!V&&ee?1:V&&!ee?-1:V.localeCompare(ee)||W.name.localeCompare(K.name)});break;case"status":R.sort((W,K)=>{const V=x.getQueryData(["printerStatus",W.id]),ee=x.getQueryData(["printerStatus",K.id]),Y=Q=>Q?.connected?Q.state==="RUNNING"?0:1:2;return Y(V)-Y(ee)});break}return d||R.reverse(),R},[y,c,d,x]),q=M.useMemo(()=>{if(c!=="location")return null;const R={};return j.forEach(W=>{const K=W.location||"Ungrouped";R[K]||(R[K]=[]),R[K].push(W)}),R},[c,j]);return l.jsxs("div",{className:"p-4 md:p-8",children:[l.jsxs("div",{className:"flex items-center justify-between mb-6",children:[l.jsxs("div",{children:[l.jsx("h1",{className:"text-2xl font-bold text-white",children:"Printers"}),l.jsx(gCe,{printers:y})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsxs("select",{value:c,onChange:R=>C(R.target.value),className:"text-sm bg-bambu-dark border border-bambu-dark-tertiary rounded-lg px-2 py-1.5 text-white focus:border-bambu-green focus:outline-none",children:[l.jsx("option",{value:"name",children:"Name"}),l.jsx("option",{value:"status",children:"Status"}),l.jsx("option",{value:"model",children:"Model"}),l.jsx("option",{value:"location",children:"Location"})]}),l.jsx("button",{onClick:D,className:"p-1.5 rounded-lg hover:bg-bambu-dark-tertiary transition-colors",title:d?"Sort descending":"Sort ascending",children:d?l.jsx(hm,{className:"w-4 h-4 text-bambu-gray"}):l.jsx(x0,{className:"w-4 h-4 text-bambu-gray"})})]}),l.jsx("button",{onClick:F,className:"p-1.5 rounded-lg hover:bg-bambu-dark-tertiary transition-colors",title:g==="expanded"?"Switch to compact view":"Switch to expanded view",children:g==="expanded"?l.jsx(Ule,{className:"w-5 h-5 text-bambu-gray"}):l.jsx(o7,{className:"w-5 h-5 text-bambu-gray"})}),l.jsx("div",{className:"w-px h-6 bg-bambu-dark-tertiary"}),l.jsxs("label",{className:"flex items-center gap-2 text-sm text-bambu-gray cursor-pointer",children:[l.jsx("input",{type:"checkbox",checked:n,onChange:I,className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),"Hide offline"]}),n&&Object.keys(T).length>0&&l.jsxs("div",{className:"relative",children:[l.jsxs("button",{onClick:()=>s(!i),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm bg-white dark:bg-bambu-dark-secondary border border-gray-200 dark:border-bambu-dark-tertiary rounded-lg text-gray-600 dark:text-bambu-gray hover:text-gray-900 dark:hover:text-white hover:border-bambu-green transition-colors",children:[l.jsx(bd,{className:"w-4 h-4"}),"Power On",l.jsx(uf,{className:`w-3 h-3 transition-transform ${i?"rotate-180":""}`})]}),i&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>s(!1)}),l.jsxs("div",{className:"absolute right-0 mt-2 w-56 bg-white dark:bg-bambu-dark-secondary border border-gray-200 dark:border-bambu-dark-tertiary rounded-lg shadow-lg z-20 py-1",children:[l.jsx("div",{className:"px-3 py-2 text-xs text-gray-500 dark:text-bambu-gray border-b border-gray-200 dark:border-bambu-dark-tertiary",children:"Offline printers with smart plugs"}),y?.filter(R=>T[R.id]).map(R=>l.jsx(yCe,{printer:R,plug:T[R.id],onPowerOn:W=>{o(W),N.mutate(W)},isPowering:a===T[R.id]?.id},R.id)),y?.filter(R=>T[R.id]).length===0&&l.jsx("div",{className:"px-3 py-2 text-sm text-bambu-gray",children:"No printers with smart plugs"})]})]})]}),l.jsxs(Le,{onClick:()=>e(!0),children:[l.jsx(pr,{className:"w-4 h-4"}),"Add Printer"]})]})]}),v?l.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading printers..."}):y?.length===0?l.jsx(Nt,{children:l.jsxs(Rt,{className:"text-center py-12",children:[l.jsx("p",{className:"text-bambu-gray mb-4",children:"No printers configured yet"}),l.jsxs(Le,{onClick:()=>e(!0),children:[l.jsx(pr,{className:"w-4 h-4"}),"Add Your First Printer"]})]})}):q?l.jsx("div",{className:"space-y-6",children:Object.entries(q).map(([R,W])=>l.jsxs("div",{children:[l.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[l.jsx("span",{className:"w-2 h-2 rounded-full bg-bambu-green"}),R,l.jsxs("span",{className:"text-sm font-normal text-bambu-gray",children:["(",W.length,")"]})]}),l.jsx("div",{className:`grid gap-4 ${g==="compact"?"grid-cols-1 md:grid-cols-2 lg:grid-cols-4":"grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"}`,children:W.map(K=>l.jsx(T8,{printer:K,hideIfDisconnected:n,maintenanceInfo:A[K.id],viewMode:g,amsThresholds:b?{humidityGood:Number(b.ams_humidity_good)||40,humidityFair:Number(b.ams_humidity_fair)||60,tempGood:Number(b.ams_temp_good)||28,tempFair:Number(b.ams_temp_fair)||35}:void 0},K.id))})]},R))}):l.jsx("div",{className:`grid gap-4 ${g==="compact"?"grid-cols-1 md:grid-cols-2 lg:grid-cols-4":"grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"}`,children:j.map(R=>l.jsx(T8,{printer:R,hideIfDisconnected:n,maintenanceInfo:A[R.id],viewMode:g,amsThresholds:b?{humidityGood:Number(b.ams_humidity_good)||40,humidityFair:Number(b.ams_humidity_fair)||60,tempGood:Number(b.ams_temp_good)||28,tempFair:Number(b.ams_temp_fair)||35}:void 0},R.id))}),t&&l.jsx(xCe,{onClose:()=>e(!1),onAdd:R=>k.mutate(R)})]})}const KO="181",rm={ROTATE:0,DOLLY:1,PAN:2},Kp={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},wCe=0,C8=1,SCe=2,IY=1,ECe=2,ic=3,dd=0,Ks=1,rl=2,wc=0,im=1,N8=2,k8=3,P8=4,MCe=5,ah=100,ACe=101,TCe=102,CCe=103,NCe=104,kCe=200,PCe=201,RCe=202,DCe=203,jk=204,Lk=205,OCe=206,jCe=207,LCe=208,ICe=209,UCe=210,FCe=211,zCe=212,BCe=213,HCe=214,Ik=0,Uk=1,Fk=2,Tm=3,zk=4,Bk=5,Hk=6,$k=7,XO=0,$Ce=1,VCe=2,Xu=0,GCe=1,WCe=2,qCe=3,KCe=4,XCe=5,YCe=6,ZCe=7,UY=300,Cm=301,Nm=302,Vk=303,Gk=304,IE=306,Wk=1e3,mc=1001,qk=1002,wa=1003,QCe=1004,jy=1005,ro=1006,fC=1007,gh=1008,gl=1009,FY=1010,zY=1011,$0=1012,YO=1013,Qh=1014,gc=1015,og=1016,ZO=1017,QO=1018,V0=1020,BY=35902,HY=35899,$Y=1021,VY=1022,Do=1023,G0=1026,W0=1027,GY=1028,JO=1029,ej=1030,tj=1031,nj=1033,a1=33776,o1=33777,l1=33778,c1=33779,Kk=35840,Xk=35841,Yk=35842,Zk=35843,Qk=36196,Jk=37492,eP=37496,tP=37808,nP=37809,rP=37810,iP=37811,sP=37812,aP=37813,oP=37814,lP=37815,cP=37816,uP=37817,dP=37818,hP=37819,fP=37820,pP=37821,mP=36492,gP=36494,xP=36495,bP=36283,vP=36284,yP=36285,_P=36286,JCe=3200,eNe=3201,WY=0,tNe=1,Lu="",qa="srgb",km="srgb-linear",Cw="linear",qn="srgb",tp=7680,R8=519,nNe=512,rNe=513,iNe=514,qY=515,sNe=516,aNe=517,oNe=518,lNe=519,D8=35044,O8="300 es",ol=2e3,Nw=2001;function KY(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}function kw(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function cNe(){const t=kw("canvas");return t.style.display="block",t}const j8={};function L8(...t){const e="THREE."+t.shift();console.log(e,...t)}function Yt(...t){const e="THREE."+t.shift();console.warn(e,...t)}function zr(...t){const e="THREE."+t.shift();console.error(e,...t)}function q0(...t){const e=t.join(" ");e in j8||(j8[e]=!0,Yt(...t))}function uNe(t,e,n){return new Promise(function(r,i){function s(){switch(t.clientWaitSync(e,t.SYNC_FLUSH_COMMANDS_BIT,0)){case t.WAIT_FAILED:i();break;case t.TIMEOUT_EXPIRED:setTimeout(s,n);break;default:r()}}setTimeout(s,n)})}let mf=class{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(n)===-1&&r[e].push(n)}hasEventListener(e,n){const r=this._listeners;return r===void 0?!1:r[e]!==void 0&&r[e].indexOf(n)!==-1}removeEventListener(e,n){const r=this._listeners;if(r===void 0)return;const i=r[e];if(i!==void 0){const s=i.indexOf(n);s!==-1&&i.splice(s,1)}}dispatchEvent(e){const n=this._listeners;if(n===void 0)return;const r=n[e.type];if(r!==void 0){e.target=this;const i=r.slice(0);for(let s=0,a=i.length;s>8&255]+ss[t>>16&255]+ss[t>>24&255]+"-"+ss[e&255]+ss[e>>8&255]+"-"+ss[e>>16&15|64]+ss[e>>24&255]+"-"+ss[n&63|128]+ss[n>>8&255]+"-"+ss[n>>16&255]+ss[n>>24&255]+ss[r&255]+ss[r>>8&255]+ss[r>>16&255]+ss[r>>24&255]).toLowerCase()}function gn(t,e,n){return Math.max(e,Math.min(n,t))}function dNe(t,e){return(t%e+e)%e}function pC(t,e,n){return(1-n)*t+n*e}function mx(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Bs(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const hNe={DEG2RAD:u1};let cn=class XY{constructor(e=0,n=0){XY.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,r=this.y,i=e.elements;return this.x=i[0]*n+i[3]*r+i[6],this.y=i[1]*n+i[4]*r+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=gn(this.x,e.x,n.x),this.y=gn(this.y,e.y,n.y),this}clampScalar(e,n){return this.x=gn(this.x,e,n),this.y=gn(this.y,e,n),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(gn(r,e,n))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(gn(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y;return n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const r=Math.cos(n),i=Math.sin(n),s=this.x-e.x,a=this.y-e.y;return this.x=s*r-a*i+e.x,this.y=s*i+a*r+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},Jh=class{constructor(e=0,n=0,r=0,i=1){this.isQuaternion=!0,this._x=e,this._y=n,this._z=r,this._w=i}static slerpFlat(e,n,r,i,s,a,o){let c=r[i+0],u=r[i+1],d=r[i+2],f=r[i+3],g=s[a+0],m=s[a+1],x=s[a+2],y=s[a+3];if(o<=0){e[n+0]=c,e[n+1]=u,e[n+2]=d,e[n+3]=f;return}if(o>=1){e[n+0]=g,e[n+1]=m,e[n+2]=x,e[n+3]=y;return}if(f!==y||c!==g||u!==m||d!==x){let v=c*g+u*m+d*x+f*y;v<0&&(g=-g,m=-m,x=-x,y=-y,v=-v);let b=1-o;if(v<.9995){const E=Math.acos(v),S=Math.sin(E);b=Math.sin(b*E)/S,o=Math.sin(o*E)/S,c=c*b+g*o,u=u*b+m*o,d=d*b+x*o,f=f*b+y*o}else{c=c*b+g*o,u=u*b+m*o,d=d*b+x*o,f=f*b+y*o;const E=1/Math.sqrt(c*c+u*u+d*d+f*f);c*=E,u*=E,d*=E,f*=E}}e[n]=c,e[n+1]=u,e[n+2]=d,e[n+3]=f}static multiplyQuaternionsFlat(e,n,r,i,s,a){const o=r[i],c=r[i+1],u=r[i+2],d=r[i+3],f=s[a],g=s[a+1],m=s[a+2],x=s[a+3];return e[n]=o*x+d*f+c*m-u*g,e[n+1]=c*x+d*g+u*f-o*m,e[n+2]=u*x+d*m+o*g-c*f,e[n+3]=d*x-o*f-c*g-u*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,r,i){return this._x=e,this._y=n,this._z=r,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n=!0){const r=e._x,i=e._y,s=e._z,a=e._order,o=Math.cos,c=Math.sin,u=o(r/2),d=o(i/2),f=o(s/2),g=c(r/2),m=c(i/2),x=c(s/2);switch(a){case"XYZ":this._x=g*d*f+u*m*x,this._y=u*m*f-g*d*x,this._z=u*d*x+g*m*f,this._w=u*d*f-g*m*x;break;case"YXZ":this._x=g*d*f+u*m*x,this._y=u*m*f-g*d*x,this._z=u*d*x-g*m*f,this._w=u*d*f+g*m*x;break;case"ZXY":this._x=g*d*f-u*m*x,this._y=u*m*f+g*d*x,this._z=u*d*x+g*m*f,this._w=u*d*f-g*m*x;break;case"ZYX":this._x=g*d*f-u*m*x,this._y=u*m*f+g*d*x,this._z=u*d*x-g*m*f,this._w=u*d*f+g*m*x;break;case"YZX":this._x=g*d*f+u*m*x,this._y=u*m*f+g*d*x,this._z=u*d*x-g*m*f,this._w=u*d*f-g*m*x;break;case"XZY":this._x=g*d*f-u*m*x,this._y=u*m*f-g*d*x,this._z=u*d*x+g*m*f,this._w=u*d*f+g*m*x;break;default:Yt("Quaternion: .setFromEuler() encountered an unknown order: "+a)}return n===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const r=n/2,i=Math.sin(r);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(r),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,r=n[0],i=n[4],s=n[8],a=n[1],o=n[5],c=n[9],u=n[2],d=n[6],f=n[10],g=r+o+f;if(g>0){const m=.5/Math.sqrt(g+1);this._w=.25/m,this._x=(d-c)*m,this._y=(s-u)*m,this._z=(a-i)*m}else if(r>o&&r>f){const m=2*Math.sqrt(1+r-o-f);this._w=(d-c)/m,this._x=.25*m,this._y=(i+a)/m,this._z=(s+u)/m}else if(o>f){const m=2*Math.sqrt(1+o-r-f);this._w=(s-u)/m,this._x=(i+a)/m,this._y=.25*m,this._z=(c+d)/m}else{const m=2*Math.sqrt(1+f-r-o);this._w=(a-i)/m,this._x=(s+u)/m,this._y=(c+d)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let r=e.dot(n)+1;return r<1e-8?(r=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=r):(this._x=0,this._y=-e.z,this._z=e.y,this._w=r)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=r),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(gn(this.dot(e),-1,1)))}rotateTowards(e,n){const r=this.angleTo(e);if(r===0)return this;const i=Math.min(1,n/r);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const r=e._x,i=e._y,s=e._z,a=e._w,o=n._x,c=n._y,u=n._z,d=n._w;return this._x=r*d+a*o+i*u-s*c,this._y=i*d+a*c+s*o-r*u,this._z=s*d+a*u+r*c-i*o,this._w=a*d-r*o-i*c-s*u,this._onChangeCallback(),this}slerp(e,n){if(n<=0)return this;if(n>=1)return this.copy(e);let r=e._x,i=e._y,s=e._z,a=e._w,o=this.dot(e);o<0&&(r=-r,i=-i,s=-s,a=-a,o=-o);let c=1-n;if(o<.9995){const u=Math.acos(o),d=Math.sin(u);c=Math.sin(c*u)/d,n=Math.sin(n*u)/d,this._x=this._x*c+r*n,this._y=this._y*c+i*n,this._z=this._z*c+s*n,this._w=this._w*c+a*n,this._onChangeCallback()}else this._x=this._x*c+r*n,this._y=this._y*c+i*n,this._z=this._z*c+s*n,this._w=this._w*c+a*n,this.normalize();return this}slerpQuaternions(e,n,r){return this.copy(e).slerp(n,r)}random(){const e=2*Math.PI*Math.random(),n=2*Math.PI*Math.random(),r=Math.random(),i=Math.sqrt(1-r),s=Math.sqrt(r);return this.set(i*Math.sin(e),i*Math.cos(e),s*Math.sin(n),s*Math.cos(n))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},Qe=class YY{constructor(e=0,n=0,r=0){YY.prototype.isVector3=!0,this.x=e,this.y=n,this.z=r}set(e,n,r){return r===void 0&&(r=this.z),this.x=e,this.y=n,this.z=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(I8.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(I8.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[3]*r+s[6]*i,this.y=s[1]*n+s[4]*r+s[7]*i,this.z=s[2]*n+s[5]*r+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=e.elements,a=1/(s[3]*n+s[7]*r+s[11]*i+s[15]);return this.x=(s[0]*n+s[4]*r+s[8]*i+s[12])*a,this.y=(s[1]*n+s[5]*r+s[9]*i+s[13])*a,this.z=(s[2]*n+s[6]*r+s[10]*i+s[14])*a,this}applyQuaternion(e){const n=this.x,r=this.y,i=this.z,s=e.x,a=e.y,o=e.z,c=e.w,u=2*(a*i-o*r),d=2*(o*n-s*i),f=2*(s*r-a*n);return this.x=n+c*u+a*f-o*d,this.y=r+c*d+o*u-s*f,this.z=i+c*f+s*d-a*u,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[4]*r+s[8]*i,this.y=s[1]*n+s[5]*r+s[9]*i,this.z=s[2]*n+s[6]*r+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=gn(this.x,e.x,n.x),this.y=gn(this.y,e.y,n.y),this.z=gn(this.z,e.z,n.z),this}clampScalar(e,n){return this.x=gn(this.x,e,n),this.y=gn(this.y,e,n),this.z=gn(this.z,e,n),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(gn(r,e,n))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const r=e.x,i=e.y,s=e.z,a=n.x,o=n.y,c=n.z;return this.x=i*c-s*o,this.y=s*a-r*c,this.z=r*o-i*a,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const r=e.dot(this)/n;return this.copy(e).multiplyScalar(r)}projectOnPlane(e){return mC.copy(this).projectOnVector(e),this.sub(mC)}reflect(e){return this.sub(mC.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(gn(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y,i=this.z-e.z;return n*n+r*r+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,r){const i=Math.sin(n)*e;return this.x=i*Math.sin(r),this.y=Math.cos(n)*e,this.z=i*Math.cos(r),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,r){return this.x=e*Math.sin(n),this.y=r,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),r=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=r,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,n=Math.random()*2-1,r=Math.sqrt(1-n*n);return this.x=r*Math.cos(e),this.y=n,this.z=r*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}};const mC=new Qe,I8=new Jh;let dn=class ZY{constructor(e,n,r,i,s,a,o,c,u){ZY.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,a,o,c,u)}set(e,n,r,i,s,a,o,c,u){const d=this.elements;return d[0]=e,d[1]=i,d[2]=o,d[3]=n,d[4]=s,d[5]=c,d[6]=r,d[7]=a,d[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],this}extractBasis(e,n,r){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),r.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,a=r[0],o=r[3],c=r[6],u=r[1],d=r[4],f=r[7],g=r[2],m=r[5],x=r[8],y=i[0],v=i[3],b=i[6],E=i[1],S=i[4],A=i[7],T=i[2],k=i[5],N=i[8];return s[0]=a*y+o*E+c*T,s[3]=a*v+o*S+c*k,s[6]=a*b+o*A+c*N,s[1]=u*y+d*E+f*T,s[4]=u*v+d*S+f*k,s[7]=u*b+d*A+f*N,s[2]=g*y+m*E+x*T,s[5]=g*v+m*S+x*k,s[8]=g*b+m*A+x*N,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],d=e[8];return n*a*d-n*o*u-r*s*d+r*o*c+i*s*u-i*a*c}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],d=e[8],f=d*a-o*u,g=o*c-d*s,m=u*s-a*c,x=n*f+r*g+i*m;if(x===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/x;return e[0]=f*y,e[1]=(i*u-d*r)*y,e[2]=(o*r-i*a)*y,e[3]=g*y,e[4]=(d*n-i*c)*y,e[5]=(i*s-o*n)*y,e[6]=m*y,e[7]=(r*c-u*n)*y,e[8]=(a*n-r*s)*y,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,r,i,s,a,o){const c=Math.cos(s),u=Math.sin(s);return this.set(r*c,r*u,-r*(c*a+u*o)+a+e,-i*u,i*c,-i*(-u*a+c*o)+o+n,0,0,1),this}scale(e,n){return this.premultiply(gC.makeScale(e,n)),this}rotate(e){return this.premultiply(gC.makeRotation(-e)),this}translate(e,n){return this.premultiply(gC.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,r,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<9;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<9;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e}clone(){return new this.constructor().fromArray(this.elements)}};const gC=new dn,U8=new dn().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),F8=new dn().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function fNe(){const t={enabled:!0,workingColorSpace:km,spaces:{},convert:function(i,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===qn&&(i.r=Sc(i.r),i.g=Sc(i.g),i.b=Sc(i.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(i.applyMatrix3(this.spaces[s].toXYZ),i.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===qn&&(i.r=sm(i.r),i.g=sm(i.g),i.b=sm(i.b))),i},workingToColorSpace:function(i,s){return this.convert(i,this.workingColorSpace,s)},colorSpaceToWorking:function(i,s){return this.convert(i,s,this.workingColorSpace)},getPrimaries:function(i){return this.spaces[i].primaries},getTransfer:function(i){return i===Lu?Cw:this.spaces[i].transfer},getToneMappingMode:function(i){return this.spaces[i].outputColorSpaceConfig.toneMappingMode||"standard"},getLuminanceCoefficients:function(i,s=this.workingColorSpace){return i.fromArray(this.spaces[s].luminanceCoefficients)},define:function(i){Object.assign(this.spaces,i)},_getMatrix:function(i,s,a){return i.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(i){return this.spaces[i].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(i=this.workingColorSpace){return this.spaces[i].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(i,s){return q0("ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),t.workingToColorSpace(i,s)},toWorkingColorSpace:function(i,s){return q0("ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),t.colorSpaceToWorking(i,s)}},e=[.64,.33,.3,.6,.15,.06],n=[.2126,.7152,.0722],r=[.3127,.329];return t.define({[km]:{primaries:e,whitePoint:r,transfer:Cw,toXYZ:U8,fromXYZ:F8,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:qa},outputColorSpaceConfig:{drawingBufferColorSpace:qa}},[qa]:{primaries:e,whitePoint:r,transfer:qn,toXYZ:U8,fromXYZ:F8,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:qa}}}),t}const Cn=fNe();function Sc(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function sm(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let np,pNe=class{static getDataURL(e,n="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let r;if(e instanceof HTMLCanvasElement)r=e;else{np===void 0&&(np=kw("canvas")),np.width=e.width,np.height=e.height;const i=np.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),r=np}return r.toDataURL(n)}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=kw("canvas");n.width=e.width,n.height=e.height;const r=n.getContext("2d");r.drawImage(e,0,0,e.width,e.height);const i=r.getImageData(0,0,e.width,e.height),s=i.data;for(let a=0;a1),this.pmremVersion=0}get width(){return this.source.getSize(bC).x}get height(){return this.source.getSize(bC).y}get depth(){return this.source.getSize(bC).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(const n in e){const r=e[n];if(r===void 0){Yt(`Texture.setValues(): parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){Yt(`Texture.setValues(): property '${n}' does not exist.`);continue}i&&r&&i.isVector2&&r.isVector2||i&&r&&i.isVector3&&r.isVector3||i&&r&&i.isMatrix3&&r.isMatrix3?i.copy(r):this[n]=r}}toJSON(e){const n=e===void 0||typeof e=="string";if(!n&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const r={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(r.userData=this.userData),n||(e.textures[this.uuid]=r),r}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==UY)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Wk:e.x=e.x-Math.floor(e.x);break;case mc:e.x=e.x<0?0:1;break;case qk:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Wk:e.y=e.y-Math.floor(e.y);break;case mc:e.y=e.y<0?0:1;break;case qk:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}};$o.DEFAULT_IMAGE=null;$o.DEFAULT_MAPPING=UY;$o.DEFAULT_ANISOTROPY=1;let Yr=class QY{constructor(e=0,n=0,r=0,i=1){QY.prototype.isVector4=!0,this.x=e,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,r,i){return this.x=e,this.y=n,this.z=r,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=this.w,a=e.elements;return this.x=a[0]*n+a[4]*r+a[8]*i+a[12]*s,this.y=a[1]*n+a[5]*r+a[9]*i+a[13]*s,this.z=a[2]*n+a[6]*r+a[10]*i+a[14]*s,this.w=a[3]*n+a[7]*r+a[11]*i+a[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,r,i,s;const c=e.elements,u=c[0],d=c[4],f=c[8],g=c[1],m=c[5],x=c[9],y=c[2],v=c[6],b=c[10];if(Math.abs(d-g)<.01&&Math.abs(f-y)<.01&&Math.abs(x-v)<.01){if(Math.abs(d+g)<.1&&Math.abs(f+y)<.1&&Math.abs(x+v)<.1&&Math.abs(u+m+b-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const S=(u+1)/2,A=(m+1)/2,T=(b+1)/2,k=(d+g)/4,N=(f+y)/4,I=(x+v)/4;return S>A&&S>T?S<.01?(r=0,i=.707106781,s=.707106781):(r=Math.sqrt(S),i=k/r,s=N/r):A>T?A<.01?(r=.707106781,i=0,s=.707106781):(i=Math.sqrt(A),r=k/i,s=I/i):T<.01?(r=.707106781,i=.707106781,s=0):(s=Math.sqrt(T),r=N/s,i=I/s),this.set(r,i,s,n),this}let E=Math.sqrt((v-x)*(v-x)+(f-y)*(f-y)+(g-d)*(g-d));return Math.abs(E)<.001&&(E=1),this.x=(v-x)/E,this.y=(f-y)/E,this.z=(g-d)/E,this.w=Math.acos((u+m+b-1)/2),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this.w=n[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=gn(this.x,e.x,n.x),this.y=gn(this.y,e.y,n.y),this.z=gn(this.z,e.z,n.z),this.w=gn(this.w,e.w,n.w),this}clampScalar(e,n){return this.x=gn(this.x,e,n),this.y=gn(this.y,e,n),this.z=gn(this.z,e,n),this.w=gn(this.w,e,n),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(gn(r,e,n))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this.w=e.w+(n.w-e.w)*r,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}},xNe=class extends mf{constructor(e=1,n=1,r={}){super(),r=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:ro,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},r),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=r.depth,this.scissor=new Yr(0,0,e,n),this.scissorTest=!1,this.viewport=new Yr(0,0,e,n);const i={width:e,height:n,depth:r.depth},s=new $o(i);this.textures=[];const a=r.count;for(let o=0;o1);this.dispose()}this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let n=0,r=e.textures.length;n=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,yo),yo.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,r;return e.normal.x>0?(n=e.normal.x*this.min.x,r=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,r=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,r+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,r+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,r+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,r+=e.normal.z*this.min.z),n<=-e.constant&&r>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(gx),Iy.subVectors(this.max,gx),rp.subVectors(e.a,gx),ip.subVectors(e.b,gx),sp.subVectors(e.c,gx),hu.subVectors(ip,rp),fu.subVectors(sp,ip),Hd.subVectors(rp,sp);let n=[0,-hu.z,hu.y,0,-fu.z,fu.y,0,-Hd.z,Hd.y,hu.z,0,-hu.x,fu.z,0,-fu.x,Hd.z,0,-Hd.x,-hu.y,hu.x,0,-fu.y,fu.x,0,-Hd.y,Hd.x,0];return!vC(n,rp,ip,sp,Iy)||(n=[1,0,0,0,1,0,0,0,1],!vC(n,rp,ip,sp,Iy))?!1:(Uy.crossVectors(hu,fu),n=[Uy.x,Uy.y,Uy.z],vC(n,rp,ip,sp,Iy))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,yo).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(yo).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Vl[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Vl[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Vl[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Vl[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Vl[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Vl[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Vl[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Vl[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Vl),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}};const Vl=[new Qe,new Qe,new Qe,new Qe,new Qe,new Qe,new Qe,new Qe],yo=new Qe,Ly=new tf,rp=new Qe,ip=new Qe,sp=new Qe,hu=new Qe,fu=new Qe,Hd=new Qe,gx=new Qe,Iy=new Qe,Uy=new Qe,$d=new Qe;function vC(t,e,n,r,i){for(let s=0,a=t.length-3;s<=a;s+=3){$d.fromArray(t,s);const o=i.x*Math.abs($d.x)+i.y*Math.abs($d.y)+i.z*Math.abs($d.z),c=e.dot($d),u=n.dot($d),d=r.dot($d);if(Math.max(-Math.max(c,u,d),Math.min(c,u,d))>o)return!1}return!0}const vNe=new tf,xx=new Qe,yC=new Qe;let UE=class{constructor(e=new Qe,n=-1){this.isSphere=!0,this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const r=this.center;n!==void 0?r.copy(n):vNe.setFromPoints(e).getCenter(r);let i=0;for(let s=0,a=e.length;sthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;xx.subVectors(e,this.center);const n=xx.lengthSq();if(n>this.radius*this.radius){const r=Math.sqrt(n),i=(r-this.radius)*.5;this.center.addScaledVector(xx,i/r),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(yC.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(xx.copy(e.center).add(yC)),this.expandByPoint(xx.copy(e.center).sub(yC))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}};const Gl=new Qe,_C=new Qe,Fy=new Qe,pu=new Qe,wC=new Qe,zy=new Qe,SC=new Qe;let ij=class{constructor(e=new Qe,n=new Qe(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Gl)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const r=n.dot(this.direction);return r<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,r)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=Gl.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(Gl.copy(this.origin).addScaledVector(this.direction,n),Gl.distanceToSquared(e))}distanceSqToSegment(e,n,r,i){_C.copy(e).add(n).multiplyScalar(.5),Fy.copy(n).sub(e).normalize(),pu.copy(this.origin).sub(_C);const s=e.distanceTo(n)*.5,a=-this.direction.dot(Fy),o=pu.dot(this.direction),c=-pu.dot(Fy),u=pu.lengthSq(),d=Math.abs(1-a*a);let f,g,m,x;if(d>0)if(f=a*c-o,g=a*o-c,x=s*d,f>=0)if(g>=-x)if(g<=x){const y=1/d;f*=y,g*=y,m=f*(f+a*g+2*o)+g*(a*f+g+2*c)+u}else g=s,f=Math.max(0,-(a*g+o)),m=-f*f+g*(g+2*c)+u;else g=-s,f=Math.max(0,-(a*g+o)),m=-f*f+g*(g+2*c)+u;else g<=-x?(f=Math.max(0,-(-a*s+o)),g=f>0?-s:Math.min(Math.max(-s,-c),s),m=-f*f+g*(g+2*c)+u):g<=x?(f=0,g=Math.min(Math.max(-s,-c),s),m=g*(g+2*c)+u):(f=Math.max(0,-(a*s+o)),g=f>0?s:Math.min(Math.max(-s,-c),s),m=-f*f+g*(g+2*c)+u);else g=a>0?-s:s,f=Math.max(0,-(a*g+o)),m=-f*f+g*(g+2*c)+u;return r&&r.copy(this.origin).addScaledVector(this.direction,f),i&&i.copy(_C).addScaledVector(Fy,g),m}intersectSphere(e,n){Gl.subVectors(e.center,this.origin);const r=Gl.dot(this.direction),i=Gl.dot(Gl)-r*r,s=e.radius*e.radius;if(i>s)return null;const a=Math.sqrt(s-i),o=r-a,c=r+a;return c<0?null:o<0?this.at(c,n):this.at(o,n)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const r=-(this.origin.dot(e.normal)+e.constant)/n;return r>=0?r:null}intersectPlane(e,n){const r=this.distanceToPlane(e);return r===null?null:this.at(r,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let r,i,s,a,o,c;const u=1/this.direction.x,d=1/this.direction.y,f=1/this.direction.z,g=this.origin;return u>=0?(r=(e.min.x-g.x)*u,i=(e.max.x-g.x)*u):(r=(e.max.x-g.x)*u,i=(e.min.x-g.x)*u),d>=0?(s=(e.min.y-g.y)*d,a=(e.max.y-g.y)*d):(s=(e.max.y-g.y)*d,a=(e.min.y-g.y)*d),r>a||s>i||((s>r||isNaN(r))&&(r=s),(a=0?(o=(e.min.z-g.z)*f,c=(e.max.z-g.z)*f):(o=(e.max.z-g.z)*f,c=(e.min.z-g.z)*f),r>c||o>i)||((o>r||r!==r)&&(r=o),(c=0?r:i,n)}intersectsBox(e){return this.intersectBox(e,Gl)!==null}intersectTriangle(e,n,r,i,s){wC.subVectors(n,e),zy.subVectors(r,e),SC.crossVectors(wC,zy);let a=this.direction.dot(SC),o;if(a>0){if(i)return null;o=1}else if(a<0)o=-1,a=-a;else return null;pu.subVectors(this.origin,e);const c=o*this.direction.dot(zy.crossVectors(pu,zy));if(c<0)return null;const u=o*this.direction.dot(wC.cross(pu));if(u<0||c+u>a)return null;const d=-o*pu.dot(SC);return d<0?null:this.at(d/a,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},ri=class SP{constructor(e,n,r,i,s,a,o,c,u,d,f,g,m,x,y,v){SP.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,a,o,c,u,d,f,g,m,x,y,v)}set(e,n,r,i,s,a,o,c,u,d,f,g,m,x,y,v){const b=this.elements;return b[0]=e,b[4]=n,b[8]=r,b[12]=i,b[1]=s,b[5]=a,b[9]=o,b[13]=c,b[2]=u,b[6]=d,b[10]=f,b[14]=g,b[3]=m,b[7]=x,b[11]=y,b[15]=v,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new SP().fromArray(this.elements)}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15],this}copyPosition(e){const n=this.elements,r=e.elements;return n[12]=r[12],n[13]=r[13],n[14]=r[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,r){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),r.setFromMatrixColumn(this,2),this}makeBasis(e,n,r){return this.set(e.x,n.x,r.x,0,e.y,n.y,r.y,0,e.z,n.z,r.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,r=e.elements,i=1/ap.setFromMatrixColumn(e,0).length(),s=1/ap.setFromMatrixColumn(e,1).length(),a=1/ap.setFromMatrixColumn(e,2).length();return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=0,n[4]=r[4]*s,n[5]=r[5]*s,n[6]=r[6]*s,n[7]=0,n[8]=r[8]*a,n[9]=r[9]*a,n[10]=r[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,r=e.x,i=e.y,s=e.z,a=Math.cos(r),o=Math.sin(r),c=Math.cos(i),u=Math.sin(i),d=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const g=a*d,m=a*f,x=o*d,y=o*f;n[0]=c*d,n[4]=-c*f,n[8]=u,n[1]=m+x*u,n[5]=g-y*u,n[9]=-o*c,n[2]=y-g*u,n[6]=x+m*u,n[10]=a*c}else if(e.order==="YXZ"){const g=c*d,m=c*f,x=u*d,y=u*f;n[0]=g+y*o,n[4]=x*o-m,n[8]=a*u,n[1]=a*f,n[5]=a*d,n[9]=-o,n[2]=m*o-x,n[6]=y+g*o,n[10]=a*c}else if(e.order==="ZXY"){const g=c*d,m=c*f,x=u*d,y=u*f;n[0]=g-y*o,n[4]=-a*f,n[8]=x+m*o,n[1]=m+x*o,n[5]=a*d,n[9]=y-g*o,n[2]=-a*u,n[6]=o,n[10]=a*c}else if(e.order==="ZYX"){const g=a*d,m=a*f,x=o*d,y=o*f;n[0]=c*d,n[4]=x*u-m,n[8]=g*u+y,n[1]=c*f,n[5]=y*u+g,n[9]=m*u-x,n[2]=-u,n[6]=o*c,n[10]=a*c}else if(e.order==="YZX"){const g=a*c,m=a*u,x=o*c,y=o*u;n[0]=c*d,n[4]=y-g*f,n[8]=x*f+m,n[1]=f,n[5]=a*d,n[9]=-o*d,n[2]=-u*d,n[6]=m*f+x,n[10]=g-y*f}else if(e.order==="XZY"){const g=a*c,m=a*u,x=o*c,y=o*u;n[0]=c*d,n[4]=-f,n[8]=u*d,n[1]=g*f+y,n[5]=a*d,n[9]=m*f-x,n[2]=x*f-m,n[6]=o*d,n[10]=y*f+g}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(yNe,e,_Ne)}lookAt(e,n,r){const i=this.elements;return ca.subVectors(e,n),ca.lengthSq()===0&&(ca.z=1),ca.normalize(),mu.crossVectors(r,ca),mu.lengthSq()===0&&(Math.abs(r.z)===1?ca.x+=1e-4:ca.z+=1e-4,ca.normalize(),mu.crossVectors(r,ca)),mu.normalize(),By.crossVectors(ca,mu),i[0]=mu.x,i[4]=By.x,i[8]=ca.x,i[1]=mu.y,i[5]=By.y,i[9]=ca.y,i[2]=mu.z,i[6]=By.z,i[10]=ca.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,a=r[0],o=r[4],c=r[8],u=r[12],d=r[1],f=r[5],g=r[9],m=r[13],x=r[2],y=r[6],v=r[10],b=r[14],E=r[3],S=r[7],A=r[11],T=r[15],k=i[0],N=i[4],I=i[8],C=i[12],D=i[1],F=i[5],j=i[9],q=i[13],R=i[2],W=i[6],K=i[10],V=i[14],ee=i[3],Y=i[7],Q=i[11],U=i[15];return s[0]=a*k+o*D+c*R+u*ee,s[4]=a*N+o*F+c*W+u*Y,s[8]=a*I+o*j+c*K+u*Q,s[12]=a*C+o*q+c*V+u*U,s[1]=d*k+f*D+g*R+m*ee,s[5]=d*N+f*F+g*W+m*Y,s[9]=d*I+f*j+g*K+m*Q,s[13]=d*C+f*q+g*V+m*U,s[2]=x*k+y*D+v*R+b*ee,s[6]=x*N+y*F+v*W+b*Y,s[10]=x*I+y*j+v*K+b*Q,s[14]=x*C+y*q+v*V+b*U,s[3]=E*k+S*D+A*R+T*ee,s[7]=E*N+S*F+A*W+T*Y,s[11]=E*I+S*j+A*K+T*Q,s[15]=E*C+S*q+A*V+T*U,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[4],i=e[8],s=e[12],a=e[1],o=e[5],c=e[9],u=e[13],d=e[2],f=e[6],g=e[10],m=e[14],x=e[3],y=e[7],v=e[11],b=e[15];return x*(+s*c*f-i*u*f-s*o*g+r*u*g+i*o*m-r*c*m)+y*(+n*c*m-n*u*g+s*a*g-i*a*m+i*u*d-s*c*d)+v*(+n*u*f-n*o*m-s*a*f+r*a*m+s*o*d-r*u*d)+b*(-i*o*d-n*c*f+n*o*g+i*a*f-r*a*g+r*c*d)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,r){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=r),this}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],d=e[8],f=e[9],g=e[10],m=e[11],x=e[12],y=e[13],v=e[14],b=e[15],E=f*v*u-y*g*u+y*c*m-o*v*m-f*c*b+o*g*b,S=x*g*u-d*v*u-x*c*m+a*v*m+d*c*b-a*g*b,A=d*y*u-x*f*u+x*o*m-a*y*m-d*o*b+a*f*b,T=x*f*c-d*y*c-x*o*g+a*y*g+d*o*v-a*f*v,k=n*E+r*S+i*A+s*T;if(k===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const N=1/k;return e[0]=E*N,e[1]=(y*g*s-f*v*s-y*i*m+r*v*m+f*i*b-r*g*b)*N,e[2]=(o*v*s-y*c*s+y*i*u-r*v*u-o*i*b+r*c*b)*N,e[3]=(f*c*s-o*g*s-f*i*u+r*g*u+o*i*m-r*c*m)*N,e[4]=S*N,e[5]=(d*v*s-x*g*s+x*i*m-n*v*m-d*i*b+n*g*b)*N,e[6]=(x*c*s-a*v*s-x*i*u+n*v*u+a*i*b-n*c*b)*N,e[7]=(a*g*s-d*c*s+d*i*u-n*g*u-a*i*m+n*c*m)*N,e[8]=A*N,e[9]=(x*f*s-d*y*s-x*r*m+n*y*m+d*r*b-n*f*b)*N,e[10]=(a*y*s-x*o*s+x*r*u-n*y*u-a*r*b+n*o*b)*N,e[11]=(d*o*s-a*f*s-d*r*u+n*f*u+a*r*m-n*o*m)*N,e[12]=T*N,e[13]=(d*y*i-x*f*i+x*r*g-n*y*g-d*r*v+n*f*v)*N,e[14]=(x*o*i-a*y*i-x*r*c+n*y*c+a*r*v-n*o*v)*N,e[15]=(a*f*i-d*o*i+d*r*c-n*f*c-a*r*g+n*o*g)*N,this}scale(e){const n=this.elements,r=e.x,i=e.y,s=e.z;return n[0]*=r,n[4]*=i,n[8]*=s,n[1]*=r,n[5]*=i,n[9]*=s,n[2]*=r,n[6]*=i,n[10]*=s,n[3]*=r,n[7]*=i,n[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],r=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,r,i))}makeTranslation(e,n,r){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,r,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),r=Math.sin(e);return this.set(1,0,0,0,0,n,-r,0,0,r,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,0,r,0,0,1,0,0,-r,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,0,r,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const r=Math.cos(n),i=Math.sin(n),s=1-r,a=e.x,o=e.y,c=e.z,u=s*a,d=s*o;return this.set(u*a+r,u*o-i*c,u*c+i*o,0,u*o+i*c,d*o+r,d*c-i*a,0,u*c-i*o,d*c+i*a,s*c*c+r,0,0,0,0,1),this}makeScale(e,n,r){return this.set(e,0,0,0,0,n,0,0,0,0,r,0,0,0,0,1),this}makeShear(e,n,r,i,s,a){return this.set(1,r,s,0,e,1,a,0,n,i,1,0,0,0,0,1),this}compose(e,n,r){const i=this.elements,s=n._x,a=n._y,o=n._z,c=n._w,u=s+s,d=a+a,f=o+o,g=s*u,m=s*d,x=s*f,y=a*d,v=a*f,b=o*f,E=c*u,S=c*d,A=c*f,T=r.x,k=r.y,N=r.z;return i[0]=(1-(y+b))*T,i[1]=(m+A)*T,i[2]=(x-S)*T,i[3]=0,i[4]=(m-A)*k,i[5]=(1-(g+b))*k,i[6]=(v+E)*k,i[7]=0,i[8]=(x+S)*N,i[9]=(v-E)*N,i[10]=(1-(g+y))*N,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,r){const i=this.elements;let s=ap.set(i[0],i[1],i[2]).length();const a=ap.set(i[4],i[5],i[6]).length(),o=ap.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],_o.copy(this);const u=1/s,d=1/a,f=1/o;return _o.elements[0]*=u,_o.elements[1]*=u,_o.elements[2]*=u,_o.elements[4]*=d,_o.elements[5]*=d,_o.elements[6]*=d,_o.elements[8]*=f,_o.elements[9]*=f,_o.elements[10]*=f,n.setFromRotationMatrix(_o),r.x=s,r.y=a,r.z=o,this}makePerspective(e,n,r,i,s,a,o=ol,c=!1){const u=this.elements,d=2*s/(n-e),f=2*s/(r-i),g=(n+e)/(n-e),m=(r+i)/(r-i);let x,y;if(c)x=s/(a-s),y=a*s/(a-s);else if(o===ol)x=-(a+s)/(a-s),y=-2*a*s/(a-s);else if(o===Nw)x=-a/(a-s),y=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return u[0]=d,u[4]=0,u[8]=g,u[12]=0,u[1]=0,u[5]=f,u[9]=m,u[13]=0,u[2]=0,u[6]=0,u[10]=x,u[14]=y,u[3]=0,u[7]=0,u[11]=-1,u[15]=0,this}makeOrthographic(e,n,r,i,s,a,o=ol,c=!1){const u=this.elements,d=2/(n-e),f=2/(r-i),g=-(n+e)/(n-e),m=-(r+i)/(r-i);let x,y;if(c)x=1/(a-s),y=a/(a-s);else if(o===ol)x=-2/(a-s),y=-(a+s)/(a-s);else if(o===Nw)x=-1/(a-s),y=-s/(a-s);else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return u[0]=d,u[4]=0,u[8]=0,u[12]=g,u[1]=0,u[5]=f,u[9]=0,u[13]=m,u[2]=0,u[6]=0,u[10]=x,u[14]=y,u[3]=0,u[7]=0,u[11]=0,u[15]=1,this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<16;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<16;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e[n+9]=r[9],e[n+10]=r[10],e[n+11]=r[11],e[n+12]=r[12],e[n+13]=r[13],e[n+14]=r[14],e[n+15]=r[15],e}};const ap=new Qe,_o=new ri,yNe=new Qe(0,0,0),_Ne=new Qe(1,1,1),mu=new Qe,By=new Qe,ca=new Qe,z8=new ri,B8=new Jh;let hd=class eZ{constructor(e=0,n=0,r=0,i=eZ.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,r,i=this._order){return this._x=e,this._y=n,this._z=r,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,r=!0){const i=e.elements,s=i[0],a=i[4],o=i[8],c=i[1],u=i[5],d=i[9],f=i[2],g=i[6],m=i[10];switch(n){case"XYZ":this._y=Math.asin(gn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-d,m),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(g,u),this._z=0);break;case"YXZ":this._x=Math.asin(-gn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(o,m),this._z=Math.atan2(c,u)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(gn(g,-1,1)),Math.abs(g)<.9999999?(this._y=Math.atan2(-f,m),this._z=Math.atan2(-a,u)):(this._y=0,this._z=Math.atan2(c,s));break;case"ZYX":this._y=Math.asin(-gn(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(g,m),this._z=Math.atan2(c,s)):(this._x=0,this._z=Math.atan2(-a,u));break;case"YZX":this._z=Math.asin(gn(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-d,u),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(o,m));break;case"XZY":this._z=Math.asin(-gn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(g,u),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-d,m),this._y=0);break;default:Yt("Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,r===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,r){return z8.makeRotationFromQuaternion(e),this.setFromRotationMatrix(z8,n,r)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return B8.setFromEuler(this),this.setFromQuaternion(B8,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};hd.DEFAULT_ORDER="XYZ";let tZ=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let r=0;r0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.geometryInfo=this._geometryInfo.map(o=>({...o,boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),i.instanceInfo=this._instanceInfo.map(o=>({...o})),i.availableInstanceIds=this._availableInstanceIds.slice(),i.availableGeometryIds=this._availableGeometryIds.slice(),i.nextIndexStart=this._nextIndexStart,i.nextVertexStart=this._nextVertexStart,i.geometryCount=this._geometryCount,i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.matricesTexture=this._matricesTexture.toJSON(e),i.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(i.boundingBox=this.boundingBox.toJSON()));function s(o,c){return o[c.uuid]===void 0&&(o[c.uuid]=c.toJSON(e)),c.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const c=o.shapes;if(Array.isArray(c))for(let u=0,d=c.length;u0){i.children=[];for(let o=0;o0){i.animations=[];for(let o=0;o0&&(r.geometries=o),c.length>0&&(r.materials=c),u.length>0&&(r.textures=u),d.length>0&&(r.images=d),f.length>0&&(r.shapes=f),g.length>0&&(r.skeletons=g),m.length>0&&(r.animations=m),x.length>0&&(r.nodes=x)}return r.object=i,r;function a(o){const c=[];for(const u in o){const d=o[u];delete d.metadata,c.push(d)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let r=0;r0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,n,r,i,s){wo.subVectors(i,n),ql.subVectors(r,n),MC.subVectors(e,n);const a=wo.dot(wo),o=wo.dot(ql),c=wo.dot(MC),u=ql.dot(ql),d=ql.dot(MC),f=a*u-o*o;if(f===0)return s.set(0,0,0),null;const g=1/f,m=(u*c-o*d)*g,x=(a*d-o*c)*g;return s.set(1-m-x,x,m)}static containsPoint(e,n,r,i){return this.getBarycoord(e,n,r,i,Kl)===null?!1:Kl.x>=0&&Kl.y>=0&&Kl.x+Kl.y<=1}static getInterpolation(e,n,r,i,s,a,o,c){return this.getBarycoord(e,n,r,i,Kl)===null?(c.x=0,c.y=0,"z"in c&&(c.z=0),"w"in c&&(c.w=0),null):(c.setScalar(0),c.addScaledVector(s,Kl.x),c.addScaledVector(a,Kl.y),c.addScaledVector(o,Kl.z),c)}static getInterpolatedAttribute(e,n,r,i,s,a){return NC.setScalar(0),kC.setScalar(0),PC.setScalar(0),NC.fromBufferAttribute(e,n),kC.fromBufferAttribute(e,r),PC.fromBufferAttribute(e,i),a.setScalar(0),a.addScaledVector(NC,s.x),a.addScaledVector(kC,s.y),a.addScaledVector(PC,s.z),a}static isFrontFacing(e,n,r,i){return wo.subVectors(r,n),ql.subVectors(e,n),wo.cross(ql).dot(i)<0}set(e,n,r){return this.a.copy(e),this.b.copy(n),this.c.copy(r),this}setFromPointsAndIndices(e,n,r,i){return this.a.copy(e[n]),this.b.copy(e[r]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,r,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,r),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return wo.subVectors(this.c,this.b),ql.subVectors(this.a,this.b),wo.cross(ql).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Fp.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return Fp.getBarycoord(e,this.a,this.b,this.c,n)}getInterpolation(e,n,r,i,s){return Fp.getInterpolation(e,this.a,this.b,this.c,n,r,i,s)}containsPoint(e){return Fp.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Fp.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const r=this.a,i=this.b,s=this.c;let a,o;cp.subVectors(i,r),up.subVectors(s,r),AC.subVectors(e,r);const c=cp.dot(AC),u=up.dot(AC);if(c<=0&&u<=0)return n.copy(r);TC.subVectors(e,i);const d=cp.dot(TC),f=up.dot(TC);if(d>=0&&f<=d)return n.copy(i);const g=c*f-d*u;if(g<=0&&c>=0&&d<=0)return a=c/(c-d),n.copy(r).addScaledVector(cp,a);CC.subVectors(e,s);const m=cp.dot(CC),x=up.dot(CC);if(x>=0&&m<=x)return n.copy(s);const y=m*u-c*x;if(y<=0&&u>=0&&x<=0)return o=u/(u-x),n.copy(r).addScaledVector(up,o);const v=d*x-m*f;if(v<=0&&f-d>=0&&m-x>=0)return q8.subVectors(s,i),o=(f-d)/(f-d+(m-x)),n.copy(i).addScaledVector(q8,o);const b=1/(v+y+g);return a=y*b,o=g*b,n.copy(r).addScaledVector(cp,a).addScaledVector(up,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}};const nZ={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},gu={h:0,s:0,l:0},$y={h:0,s:0,l:0};function RC(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}let _n=class{constructor(e,n,r){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,r)}set(e,n,r){if(n===void 0&&r===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,r);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=qa){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Cn.colorSpaceToWorking(this,n),this}setRGB(e,n,r,i=Cn.workingColorSpace){return this.r=e,this.g=n,this.b=r,Cn.colorSpaceToWorking(this,i),this}setHSL(e,n,r,i=Cn.workingColorSpace){if(e=dNe(e,1),n=gn(n,0,1),r=gn(r,0,1),n===0)this.r=this.g=this.b=r;else{const s=r<=.5?r*(1+n):r+n-r*n,a=2*r-s;this.r=RC(a,s,e+1/3),this.g=RC(a,s,e),this.b=RC(a,s,e-1/3)}return Cn.colorSpaceToWorking(this,i),this}setStyle(e,n=qa){function r(s){s!==void 0&&parseFloat(s)<1&&Yt("Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const a=i[1],o=i[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,n);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,n);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,n);break;default:Yt("Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=i[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,n);if(a===6)return this.setHex(parseInt(s,16),n);Yt("Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=qa){const r=nZ[e.toLowerCase()];return r!==void 0?this.setHex(r,n):Yt("Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Sc(e.r),this.g=Sc(e.g),this.b=Sc(e.b),this}copyLinearToSRGB(e){return this.r=sm(e.r),this.g=sm(e.g),this.b=sm(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=qa){return Cn.workingToColorSpace(as.copy(this),e),Math.round(gn(as.r*255,0,255))*65536+Math.round(gn(as.g*255,0,255))*256+Math.round(gn(as.b*255,0,255))}getHexString(e=qa){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=Cn.workingColorSpace){Cn.workingToColorSpace(as.copy(this),n);const r=as.r,i=as.g,s=as.b,a=Math.max(r,i,s),o=Math.min(r,i,s);let c,u;const d=(o+a)/2;if(o===a)c=0,u=0;else{const f=a-o;switch(u=d<=.5?f/(a+o):f/(2-a-o),a){case r:c=(i-s)/f+(i0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const r=e[n];if(r===void 0){Yt(`Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){Yt(`Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(r):i&&i.isVector3&&r&&r.isVector3?i.copy(r):this[n]=r}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const r={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),this.roughness!==void 0&&(r.roughness=this.roughness),this.metalness!==void 0&&(r.metalness=this.metalness),this.sheen!==void 0&&(r.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(r.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(r.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(r.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(r.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(r.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(r.shininess=this.shininess),this.clearcoat!==void 0&&(r.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(r.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(r.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(r.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(r.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,r.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(r.sheenColorMap=this.sheenColorMap.toJSON(e).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(r.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid),this.dispersion!==void 0&&(r.dispersion=this.dispersion),this.iridescence!==void 0&&(r.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(r.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(r.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(r.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(r.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(r.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(r.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(r.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(r.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(e).uuid,r.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(r.aoMap=this.aoMap.toJSON(e).uuid,r.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(e).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(e).uuid,r.normalMapType=this.normalMapType,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(e).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(r.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(r.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(r.combine=this.combine)),this.envMapRotation!==void 0&&(r.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(r.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(r.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(r.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(r.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(r.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(r.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(r.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(r.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(r.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(r.size=this.size),this.shadowSide!==null&&(r.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==im&&(r.blending=this.blending),this.side!==dd&&(r.side=this.side),this.vertexColors===!0&&(r.vertexColors=!0),this.opacity<1&&(r.opacity=this.opacity),this.transparent===!0&&(r.transparent=!0),this.blendSrc!==jk&&(r.blendSrc=this.blendSrc),this.blendDst!==Lk&&(r.blendDst=this.blendDst),this.blendEquation!==ah&&(r.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(r.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(r.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(r.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(r.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(r.blendAlpha=this.blendAlpha),this.depthFunc!==Tm&&(r.depthFunc=this.depthFunc),this.depthTest===!1&&(r.depthTest=this.depthTest),this.depthWrite===!1&&(r.depthWrite=this.depthWrite),this.colorWrite===!1&&(r.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(r.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==R8&&(r.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(r.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(r.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==tp&&(r.stencilFail=this.stencilFail),this.stencilZFail!==tp&&(r.stencilZFail=this.stencilZFail),this.stencilZPass!==tp&&(r.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(r.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(r.rotation=this.rotation),this.polygonOffset===!0&&(r.polygonOffset=!0),this.polygonOffsetFactor!==0&&(r.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(r.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(r.linewidth=this.linewidth),this.dashSize!==void 0&&(r.dashSize=this.dashSize),this.gapSize!==void 0&&(r.gapSize=this.gapSize),this.scale!==void 0&&(r.scale=this.scale),this.dithering===!0&&(r.dithering=!0),this.alphaTest>0&&(r.alphaTest=this.alphaTest),this.alphaHash===!0&&(r.alphaHash=!0),this.alphaToCoverage===!0&&(r.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(r.premultipliedAlpha=!0),this.forceSinglePass===!0&&(r.forceSinglePass=!0),this.wireframe===!0&&(r.wireframe=!0),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(r.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(r.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(r.flatShading=!0),this.visible===!1&&(r.visible=!1),this.toneMapped===!1&&(r.toneMapped=!1),this.fog===!1&&(r.fog=!1),Object.keys(this.userData).length>0&&(r.userData=this.userData);function i(s){const a=[];for(const o in s){const c=s[o];delete c.metadata,a.push(c)}return a}if(n){const s=i(e.textures),a=i(e.images);s.length>0&&(r.textures=s),a.length>0&&(r.images=a)}return r}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let r=null;if(n!==null){const i=n.length;r=new Array(i);for(let s=0;s!==i;++s)r[s]=n[s].clone()}return this.clippingPlanes=r,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}},sj=class extends lg{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new _n(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new hd,this.combine=XO,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}};const qr=new Qe,Vy=new cn;let TNe=0,io=class{constructor(e,n,r=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:TNe++}),this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=r,this.usage=D8,this.updateRanges=[],this.gpuType=gc,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,r){e*=this.itemSize,r*=n.itemSize;for(let i=0,s=this.itemSize;in.count&&Yt("BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),n.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new tf);const e=this.attributes.position,n=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){zr("BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new Qe(-1/0,-1/0,-1/0),new Qe(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),n)for(let r=0,i=n.length;r0&&(e.userData=this.userData),this.parameters!==void 0){const c=this.parameters;for(const u in c)c[u]!==void 0&&(e[u]=c[u]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const r=this.attributes;for(const c in r){const u=r[c];e.data.attributes[c]=u.toJSON(e.data)}const i={};let s=!1;for(const c in this.morphAttributes){const u=this.morphAttributes[c],d=[];for(let f=0,g=u.length;f0&&(i[c]=d,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const r=e.index;r!==null&&this.setIndex(r.clone());const i=e.attributes;for(const u in i){const d=i[u];this.setAttribute(u,d.clone(n))}const s=e.morphAttributes;for(const u in s){const d=[],f=s[u];for(let g=0,m=f.length;g0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=i.length;s(e.far-e.near)**2))&&(K8.copy(s).invert(),Vd.copy(e.ray).applyMatrix4(K8),!(r.boundingBox!==null&&Vd.intersectsBox(r.boundingBox)===!1)&&this._computeIntersections(e,n,Vd)))}_computeIntersections(e,n,r){let i;const s=this.geometry,a=this.material,o=s.index,c=s.attributes.position,u=s.attributes.uv,d=s.attributes.uv1,f=s.attributes.normal,g=s.groups,m=s.drawRange;if(o!==null)if(Array.isArray(a))for(let x=0,y=g.length;xn.far?null:{distance:u,point:Yy.clone(),object:t}}function Zy(t,e,n,r,i,s,a,o,c,u){t.getVertexPosition(o,Wy),t.getVertexPosition(c,qy),t.getVertexPosition(u,Ky);const d=NNe(t,e,n,r,Wy,qy,Ky,Y8);if(d){const f=new Qe;vx.getBarycoord(Y8,Wy,qy,Ky,f),i&&(d.uv=vx.getInterpolatedAttribute(i,o,c,u,f,new cn)),s&&(d.uv1=vx.getInterpolatedAttribute(s,o,c,u,f,new cn)),a&&(d.normal=vx.getInterpolatedAttribute(a,o,c,u,f,new Qe),d.normal.dot(r.direction)>0&&d.normal.multiplyScalar(-1));const g={a:o,b:c,c:u,normal:new Qe,materialIndex:0};vx.getNormal(Wy,qy,Ky,g.normal),d.face=g,d.barycoord=f}return d}let aj=class aZ extends Ml{constructor(e=1,n=1,r=1,i=1,s=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:r,widthSegments:i,heightSegments:s,depthSegments:a};const o=this;i=Math.floor(i),s=Math.floor(s),a=Math.floor(a);const c=[],u=[],d=[],f=[];let g=0,m=0;x("z","y","x",-1,-1,r,n,e,a,s,0),x("z","y","x",1,-1,r,n,-e,a,s,1),x("x","z","y",1,1,e,r,n,i,a,2),x("x","z","y",1,-1,e,r,-n,i,a,3),x("x","y","z",1,-1,e,n,r,i,s,4),x("x","y","z",-1,-1,e,n,-r,i,s,5),this.setIndex(c),this.setAttribute("position",new Io(u,3)),this.setAttribute("normal",new Io(d,3)),this.setAttribute("uv",new Io(f,2));function x(y,v,b,E,S,A,T,k,N,I,C){const D=A/N,F=T/I,j=A/2,q=T/2,R=k/2,W=N+1,K=I+1;let V=0,ee=0;const Y=new Qe;for(let Q=0;Q0?1:-1,d.push(Y.x,Y.y,Y.z),f.push(z/N),f.push(1-Q/I),V+=1}}for(let Q=0;Q - +