From 4311e85f95302dbde111595388a1816a82781f91 Mon Sep 17 00:00:00 2001 From: TheGeneralist <180094941+thegeneralist01@users.noreply.github.com> Date: Sun, 28 Jun 2026 22:14:08 +0200 Subject: [PATCH] ui: comprehensive UI polish pass - LoginPage/SetupPage: centered card layout with display font, styled fields and submit button - Topbar: fix duplicate Settings nav item; add styled user-menu with username + logout button - RunsView: format ISO timestamps to readable dates, add colored status badges (completed/failed/running) - AdminView: view-tabs system, styled admin-table, admin-input, status-badge (active/disabled), btn-primary - SettingsView: replace all inline styles with form-section/form-field/field-input/btn-primary/btn-danger - CollectionsView: restructure create form with proper field labels and btn-primary - TagsView: add Tags section heading with separator - ContextRail: show visibility as human-readable label not raw number; fix assign-error class - styles.css: add auth-loading, view-tabs, form utilities, btn variants, status badges, run-status pills, token-banner/row, checkbox-row, coll-create-form, tag-tree-header CSS --- .../static/assets/index-BfwsUa2j.js | 40 -- .../static/assets/index-C6h0jcH3.js | 40 -- .../static/assets/index-CWb0sQjJ.js | 40 ++ .../static/assets/index-CcezQ0kg.js | 40 -- .../static/assets/index-D40QFUPh.css | 1 - .../static/assets/index-DJpQthbx.css | 1 - .../static/assets/index-DRRKzKIq.js | 40 -- .../static/assets/index-Davzo15o.js | 40 -- .../static/assets/index-Dfnwsgsa.js | 40 -- .../static/assets/index-MrdP6h9x.css | 1 + crates/archivr-server/static/index.html | 4 +- frontend/src/components/AdminView.jsx | 22 +- frontend/src/components/CollectionsView.jsx | 33 +- frontend/src/components/ContextRail.jsx | 4 +- frontend/src/components/LoginPage.jsx | 61 ++- frontend/src/components/RunsView.jsx | 42 +- frontend/src/components/SettingsView.jsx | 185 ++++---- frontend/src/components/SetupPage.jsx | 83 ++-- frontend/src/components/TagsView.jsx | 8 +- frontend/src/components/Topbar.jsx | 5 +- frontend/src/styles.css | 447 +++++++++++++++++- 21 files changed, 737 insertions(+), 440 deletions(-) delete mode 100644 crates/archivr-server/static/assets/index-BfwsUa2j.js delete mode 100644 crates/archivr-server/static/assets/index-C6h0jcH3.js create mode 100644 crates/archivr-server/static/assets/index-CWb0sQjJ.js delete mode 100644 crates/archivr-server/static/assets/index-CcezQ0kg.js delete mode 100644 crates/archivr-server/static/assets/index-D40QFUPh.css delete mode 100644 crates/archivr-server/static/assets/index-DJpQthbx.css delete mode 100644 crates/archivr-server/static/assets/index-DRRKzKIq.js delete mode 100644 crates/archivr-server/static/assets/index-Davzo15o.js delete mode 100644 crates/archivr-server/static/assets/index-Dfnwsgsa.js create mode 100644 crates/archivr-server/static/assets/index-MrdP6h9x.css diff --git a/crates/archivr-server/static/assets/index-BfwsUa2j.js b/crates/archivr-server/static/assets/index-BfwsUa2j.js deleted file mode 100644 index 6632729..0000000 --- a/crates/archivr-server/static/assets/index-BfwsUa2j.js +++ /dev/null @@ -1,40 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();var Zo={exports:{}},ol={},qo={exports:{}},D={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var rr=Symbol.for("react.element"),pc=Symbol.for("react.portal"),hc=Symbol.for("react.fragment"),mc=Symbol.for("react.strict_mode"),vc=Symbol.for("react.profiler"),gc=Symbol.for("react.provider"),yc=Symbol.for("react.context"),wc=Symbol.for("react.forward_ref"),Sc=Symbol.for("react.suspense"),xc=Symbol.for("react.memo"),kc=Symbol.for("react.lazy"),Uu=Symbol.iterator;function Cc(e){return e===null||typeof e!="object"?null:(e=Uu&&e[Uu]||e["@@iterator"],typeof e=="function"?e:null)}var bo={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},es=Object.assign,ts={};function vn(e,t,n){this.props=e,this.context=t,this.refs=ts,this.updater=n||bo}vn.prototype.isReactComponent={};vn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};vn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ns(){}ns.prototype=vn.prototype;function Hi(e,t,n){this.props=e,this.context=t,this.refs=ts,this.updater=n||bo}var Wi=Hi.prototype=new ns;Wi.constructor=Hi;es(Wi,vn.prototype);Wi.isPureReactComponent=!0;var Iu=Array.isArray,rs=Object.prototype.hasOwnProperty,Qi={current:null},ls={key:!0,ref:!0,__self:!0,__source:!0};function is(e,t,n){var r,l={},i=null,u=null;if(t!=null)for(r in t.ref!==void 0&&(u=t.ref),t.key!==void 0&&(i=""+t.key),t)rs.call(t,r)&&!ls.hasOwnProperty(r)&&(l[r]=t[r]);var o=arguments.length-2;if(o===1)l.children=n;else if(1>>1,B=E[U];if(0>>1;Ul(Oe,R))Bel(De,Oe)?(E[U]=De,E[Be]=R,U=Be):(E[U]=Oe,E[M]=R,U=M);else if(Bel(De,R))E[U]=De,E[Be]=R,U=Be;else break e}}return k}function l(E,k){var R=E.sortIndex-k.sortIndex;return R!==0?R:E.id-k.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var u=Date,o=u.now();e.unstable_now=function(){return u.now()-o}}var s=[],f=[],v=1,m=null,h=3,y=!1,w=!1,C=!1,T=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(E){for(var k=n(f);k!==null;){if(k.callback===null)r(f);else if(k.startTime<=E)r(f),k.sortIndex=k.expirationTime,t(s,k);else break;k=n(f)}}function g(E){if(C=!1,p(E),!w)if(n(s)!==null)w=!0,it(N);else{var k=n(f);k!==null&&jt(g,k.startTime-E)}}function N(E,k){w=!1,C&&(C=!1,d(z),z=-1),y=!0;var R=h;try{for(p(k),m=n(s);m!==null&&(!(m.expirationTime>k)||E&&!X());){var U=m.callback;if(typeof U=="function"){m.callback=null,h=m.priorityLevel;var B=U(m.expirationTime<=k);k=e.unstable_now(),typeof B=="function"?m.callback=B:m===n(s)&&r(s),p(k)}else r(s);m=n(s)}if(m!==null)var Bt=!0;else{var M=n(f);M!==null&&jt(g,M.startTime-k),Bt=!1}return Bt}finally{m=null,h=R,y=!1}}var _=!1,j=null,z=-1,L=5,O=-1;function X(){return!(e.unstable_now()-OE||125U?(E.sortIndex=R,t(f,E),n(s)===null&&E===n(f)&&(C?(d(z),z=-1):C=!0,jt(g,R-U))):(E.sortIndex=B,t(s,E),w||y||(w=!0,it(N))),E},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(E){var k=h;return function(){var R=h;h=k;try{return E.apply(this,arguments)}finally{h=R}}}})(cs);as.exports=cs;var Dc=as.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Mc=S,xe=Dc;function x(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zl=Object.prototype.hasOwnProperty,Fc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Vu={},Bu={};function $c(e){return Zl.call(Bu,e)?!0:Zl.call(Vu,e)?!1:Fc.test(e)?Bu[e]=!0:(Vu[e]=!0,!1)}function Uc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Ic(e,t,n,r){if(t===null||typeof t>"u"||Uc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function fe(e,t,n,r,l,i,u){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=u}var re={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){re[e]=new fe(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];re[t]=new fe(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){re[e]=new fe(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){re[e]=new fe(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){re[e]=new fe(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){re[e]=new fe(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){re[e]=new fe(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){re[e]=new fe(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){re[e]=new fe(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yi=/[\-:]([a-z])/g;function Xi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);re[t]=new fe(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);re[t]=new fe(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Yi,Xi);re[t]=new fe(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){re[e]=new fe(e,1,!1,e.toLowerCase(),null,!1,!1)});re.xlinkHref=new fe("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){re[e]=new fe(e,1,!1,e.toLowerCase(),null,!0,!0)});function Gi(e,t,n,r){var l=re.hasOwnProperty(t)?re[t]:null;(l!==null?l.type!==0:r||!(2o||l[u]!==i[o]){var s=` -`+l[u].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=u&&0<=o);break}}}finally{El=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?_n(e):""}function Ac(e){switch(e.tag){case 5:return _n(e.type);case 16:return _n("Lazy");case 13:return _n("Suspense");case 19:return _n("SuspenseList");case 0:case 2:case 15:return e=jl(e.type,!1),e;case 11:return e=jl(e.type.render,!1),e;case 1:return e=jl(e.type,!0),e;default:return""}}function ti(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Qt:return"Fragment";case Wt:return"Portal";case ql:return"Profiler";case Ji:return"StrictMode";case bl:return"Suspense";case ei:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ps:return(e.displayName||"Context")+".Consumer";case ds:return(e._context.displayName||"Context")+".Provider";case Zi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case qi:return t=e.displayName||null,t!==null?t:ti(e.type)||"Memo";case ot:t=e._payload,e=e._init;try{return ti(e(t))}catch{}}return null}function Vc(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ti(t);case 8:return t===Ji?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function xt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ms(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Bc(e){var t=ms(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cr(e){e._valueTracker||(e._valueTracker=Bc(e))}function vs(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ms(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function $r(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ni(e,t){var n=t.checked;return K({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Wu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=xt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function gs(e,t){t=t.checked,t!=null&&Gi(e,"checked",t,!1)}function ri(e,t){gs(e,t);var n=xt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?li(e,t.type,n):t.hasOwnProperty("defaultValue")&&li(e,t.type,xt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Qu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function li(e,t,n){(t!=="number"||$r(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Pn=Array.isArray;function nn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=fr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Vn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ln={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Hc=["Webkit","ms","Moz","O"];Object.keys(Ln).forEach(function(e){Hc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ln[t]=Ln[e]})});function xs(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ln.hasOwnProperty(e)&&Ln[e]?(""+t).trim():t+"px"}function ks(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=xs(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Wc=K({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function oi(e,t){if(t){if(Wc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(x(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(x(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(x(61))}if(t.style!=null&&typeof t.style!="object")throw Error(x(62))}}function si(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ai=null;function bi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ci=null,rn=null,ln=null;function Xu(e){if(e=ur(e)){if(typeof ci!="function")throw Error(x(280));var t=e.stateNode;t&&(t=dl(t),ci(e.stateNode,e.type,t))}}function Cs(e){rn?ln?ln.push(e):ln=[e]:rn=e}function Ns(){if(rn){var e=rn,t=ln;if(ln=rn=null,Xu(e),t)for(e=0;e>>=0,e===0?32:31-(tf(e)/nf|0)|0}var dr=64,pr=4194304;function Tn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Vr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,u=n&268435455;if(u!==0){var o=u&~l;o!==0?r=Tn(o):(i&=u,i!==0&&(r=Tn(i)))}else u=n&~l,u!==0?r=Tn(u):i!==0&&(r=Tn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function lr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ie(t),e[t]=n}function of(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=On),ro=" ",lo=!1;function Ws(e,t){switch(e){case"keyup":return Mf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Qs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Kt=!1;function $f(e,t){switch(e){case"compositionend":return Qs(t);case"keypress":return t.which!==32?null:(lo=!0,ro);case"textInput":return e=t.data,e===ro&&lo?null:e;default:return null}}function Uf(e,t){if(Kt)return e==="compositionend"||!ou&&Ws(e,t)?(e=Bs(),Pr=lu=ft=null,Kt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=so(n)}}function Gs(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Gs(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Js(){for(var e=window,t=$r();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=$r(e.document)}return t}function su(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Yf(e){var t=Js(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Gs(n.ownerDocument.documentElement,n)){if(r!==null&&su(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=ao(n,i);var u=ao(n,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(u.node,u.offset)):(t.setEnd(u.node,u.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Yt=null,vi=null,Mn=null,gi=!1;function co(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;gi||Yt==null||Yt!==$r(r)||(r=Yt,"selectionStart"in r&&su(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Mn&&Yn(Mn,r)||(Mn=r,r=Wr(vi,"onSelect"),0Jt||(e.current=Ci[Jt],Ci[Jt]=null,Jt--)}function I(e,t){Jt++,Ci[Jt]=e.current,e.current=t}var kt={},oe=Nt(kt),he=Nt(!1),Mt=kt;function cn(e,t){var n=e.type.contextTypes;if(!n)return kt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function me(e){return e=e.childContextTypes,e!=null}function Kr(){V(he),V(oe)}function yo(e,t,n){if(oe.current!==kt)throw Error(x(168));I(oe,t),I(he,n)}function ia(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(x(108,Vc(e)||"Unknown",l));return K({},n,r)}function Yr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||kt,Mt=oe.current,I(oe,e),I(he,he.current),!0}function wo(e,t,n){var r=e.stateNode;if(!r)throw Error(x(169));n?(e=ia(e,t,Mt),r.__reactInternalMemoizedMergedChildContext=e,V(he),V(oe),I(oe,e)):V(he),I(he,n)}var Ge=null,pl=!1,Al=!1;function ua(e){Ge===null?Ge=[e]:Ge.push(e)}function id(e){pl=!0,ua(e)}function Et(){if(!Al&&Ge!==null){Al=!0;var e=0,t=$;try{var n=Ge;for($=1;e>=u,l-=u,Je=1<<32-Ie(t)+l|n<z?(L=j,j=null):L=j.sibling;var O=h(d,j,p[z],g);if(O===null){j===null&&(j=L);break}e&&j&&O.alternate===null&&t(d,j),c=i(O,c,z),_===null?N=O:_.sibling=O,_=O,j=L}if(z===p.length)return n(d,j),H&&_t(d,z),N;if(j===null){for(;zz?(L=j,j=null):L=j.sibling;var X=h(d,j,O.value,g);if(X===null){j===null&&(j=L);break}e&&j&&X.alternate===null&&t(d,j),c=i(X,c,z),_===null?N=X:_.sibling=X,_=X,j=L}if(O.done)return n(d,j),H&&_t(d,z),N;if(j===null){for(;!O.done;z++,O=p.next())O=m(d,O.value,g),O!==null&&(c=i(O,c,z),_===null?N=O:_.sibling=O,_=O);return H&&_t(d,z),N}for(j=r(d,j);!O.done;z++,O=p.next())O=y(j,d,z,O.value,g),O!==null&&(e&&O.alternate!==null&&j.delete(O.key===null?z:O.key),c=i(O,c,z),_===null?N=O:_.sibling=O,_=O);return e&&j.forEach(function(ge){return t(d,ge)}),H&&_t(d,z),N}function T(d,c,p,g){if(typeof p=="object"&&p!==null&&p.type===Qt&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case ar:e:{for(var N=p.key,_=c;_!==null;){if(_.key===N){if(N=p.type,N===Qt){if(_.tag===7){n(d,_.sibling),c=l(_,p.props.children),c.return=d,d=c;break e}}else if(_.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===ot&&ko(N)===_.type){n(d,_.sibling),c=l(_,p.props),c.ref=Nn(d,_,p),c.return=d,d=c;break e}n(d,_);break}else t(d,_);_=_.sibling}p.type===Qt?(c=Dt(p.props.children,d.mode,g,p.key),c.return=d,d=c):(g=Fr(p.type,p.key,p.props,null,d.mode,g),g.ref=Nn(d,c,p),g.return=d,d=g)}return u(d);case Wt:e:{for(_=p.key;c!==null;){if(c.key===_)if(c.tag===4&&c.stateNode.containerInfo===p.containerInfo&&c.stateNode.implementation===p.implementation){n(d,c.sibling),c=l(c,p.children||[]),c.return=d,d=c;break e}else{n(d,c);break}else t(d,c);c=c.sibling}c=Xl(p,d.mode,g),c.return=d,d=c}return u(d);case ot:return _=p._init,T(d,c,_(p._payload),g)}if(Pn(p))return w(d,c,p,g);if(wn(p))return C(d,c,p,g);Sr(d,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,c!==null&&c.tag===6?(n(d,c.sibling),c=l(c,p),c.return=d,d=c):(n(d,c),c=Yl(p,d.mode,g),c.return=d,d=c),u(d)):n(d,c)}return T}var dn=ca(!0),fa=ca(!1),Jr=Nt(null),Zr=null,bt=null,du=null;function pu(){du=bt=Zr=null}function hu(e){var t=Jr.current;V(Jr),e._currentValue=t}function ji(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function on(e,t){Zr=e,du=bt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(pe=!0),e.firstContext=null)}function Te(e){var t=e._currentValue;if(du!==e)if(e={context:e,memoizedValue:t,next:null},bt===null){if(Zr===null)throw Error(x(308));bt=e,Zr.dependencies={lanes:0,firstContext:e}}else bt=bt.next=e;return t}var zt=null;function mu(e){zt===null?zt=[e]:zt.push(e)}function da(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mu(t)):(n.next=l.next,l.next=n),t.interleaved=n,tt(e,r)}function tt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var st=!1;function vu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function pa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function qe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function gt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,F&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,tt(e,n)}return l=r.interleaved,l===null?(t.next=t,mu(r)):(t.next=l.next,l.next=t),r.interleaved=t,tt(e,n)}function zr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}function Co(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var u={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=u:i=i.next=u,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function qr(e,t,n,r){var l=e.updateQueue;st=!1;var i=l.firstBaseUpdate,u=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var s=o,f=s.next;s.next=null,u===null?i=f:u.next=f,u=s;var v=e.alternate;v!==null&&(v=v.updateQueue,o=v.lastBaseUpdate,o!==u&&(o===null?v.firstBaseUpdate=f:o.next=f,v.lastBaseUpdate=s))}if(i!==null){var m=l.baseState;u=0,v=f=s=null,o=i;do{var h=o.lane,y=o.eventTime;if((r&h)===h){v!==null&&(v=v.next={eventTime:y,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var w=e,C=o;switch(h=t,y=n,C.tag){case 1:if(w=C.payload,typeof w=="function"){m=w.call(y,m,h);break e}m=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=C.payload,h=typeof w=="function"?w.call(y,m,h):w,h==null)break e;m=K({},m,h);break e;case 2:st=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,h=l.effects,h===null?l.effects=[o]:h.push(o))}else y={eventTime:y,lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},v===null?(f=v=y,s=m):v=v.next=y,u|=h;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;h=o,o=h.next,h.next=null,l.lastBaseUpdate=h,l.shared.pending=null}}while(!0);if(v===null&&(s=m),l.baseState=s,l.firstBaseUpdate=f,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do u|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ut|=u,e.lanes=u,e.memoizedState=m}}function No(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Bl.transition;Bl.transition={};try{e(!1),t()}finally{$=n,Bl.transition=r}}function za(){return ze().memoizedState}function ad(e,t,n){var r=wt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},La(e))Ra(t,n);else if(n=da(e,t,n,r),n!==null){var l=ae();Ae(n,e,r,l),Oa(n,t,r)}}function cd(e,t,n){var r=wt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(La(e))Ra(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,o=i(u,n);if(l.hasEagerState=!0,l.eagerState=o,Ve(o,u)){var s=t.interleaved;s===null?(l.next=l,mu(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=da(e,t,l,r),n!==null&&(l=ae(),Ae(n,e,r,l),Oa(n,t,r))}}function La(e){var t=e.alternate;return e===Q||t!==null&&t===Q}function Ra(e,t){Fn=el=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Oa(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}var tl={readContext:Te,useCallback:le,useContext:le,useEffect:le,useImperativeHandle:le,useInsertionEffect:le,useLayoutEffect:le,useMemo:le,useReducer:le,useRef:le,useState:le,useDebugValue:le,useDeferredValue:le,useTransition:le,useMutableSource:le,useSyncExternalStore:le,useId:le,unstable_isNewReconciler:!1},fd={readContext:Te,useCallback:function(e,t){return We().memoizedState=[e,t===void 0?null:t],e},useContext:Te,useEffect:jo,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Rr(4194308,4,Ea.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Rr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Rr(4,2,e,t)},useMemo:function(e,t){var n=We();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=We();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ad.bind(null,Q,e),[r.memoizedState,e]},useRef:function(e){var t=We();return e={current:e},t.memoizedState=e},useState:Eo,useDebugValue:Nu,useDeferredValue:function(e){return We().memoizedState=e},useTransition:function(){var e=Eo(!1),t=e[0];return e=sd.bind(null,e[1]),We().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Q,l=We();if(H){if(n===void 0)throw Error(x(407));n=n()}else{if(n=t(),ee===null)throw Error(x(349));$t&30||ga(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,jo(wa.bind(null,r,i,e),[e]),r.flags|=2048,tr(9,ya.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=We(),t=ee.identifierPrefix;if(H){var n=Ze,r=Je;n=(r&~(1<<32-Ie(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=bn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Qe]=t,e[Jn]=r,Ha(e,t,!1,!1),t.stateNode=e;e:{switch(u=si(n,r),n){case"dialog":A("cancel",e),A("close",e),l=r;break;case"iframe":case"object":case"embed":A("load",e),l=r;break;case"video":case"audio":for(l=0;lmn&&(t.flags|=128,r=!0,En(i,!1),t.lanes=4194304)}else{if(!r)if(e=br(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),En(i,!0),i.tail===null&&i.tailMode==="hidden"&&!u.alternate&&!H)return ie(t),null}else 2*G()-i.renderingStartTime>mn&&n!==1073741824&&(t.flags|=128,r=!0,En(i,!1),t.lanes=4194304);i.isBackwards?(u.sibling=t.child,t.child=u):(n=i.last,n!==null?n.sibling=u:t.child=u,i.last=u)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=G(),t.sibling=null,n=W.current,I(W,r?n&1|2:n&1),t):(ie(t),null);case 22:case 23:return zu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ye&1073741824&&(ie(t),t.subtreeFlags&6&&(t.flags|=8192)):ie(t),null;case 24:return null;case 25:return null}throw Error(x(156,t.tag))}function wd(e,t){switch(cu(t),t.tag){case 1:return me(t.type)&&Kr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pn(),V(he),V(oe),wu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yu(t),null;case 13:if(V(W),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(x(340));fn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(W),null;case 4:return pn(),null;case 10:return hu(t.type._context),null;case 22:case 23:return zu(),null;case 24:return null;default:return null}}var kr=!1,ue=!1,Sd=typeof WeakSet=="function"?WeakSet:Set,P=null;function en(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Y(e,t,r)}else n.current=null}function Mi(e,t,n){try{n()}catch(r){Y(e,t,r)}}var $o=!1;function xd(e,t){if(yi=Br,e=Js(),su(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,o=-1,s=-1,f=0,v=0,m=e,h=null;t:for(;;){for(var y;m!==n||l!==0&&m.nodeType!==3||(o=u+l),m!==i||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(y=m.firstChild)!==null;)h=m,m=y;for(;;){if(m===e)break t;if(h===n&&++f===l&&(o=u),h===i&&++v===r&&(s=u),(y=m.nextSibling)!==null)break;m=h,h=m.parentNode}m=y}n=o===-1||s===-1?null:{start:o,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(wi={focusedElem:e,selectionRange:n},Br=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var C=w.memoizedProps,T=w.memoizedState,d=t.stateNode,c=d.getSnapshotBeforeUpdate(t.elementType===t.type?C:Fe(t.type,C),T);d.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(g){Y(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return w=$o,$o=!1,w}function $n(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Mi(t,n,i)}l=l.next}while(l!==r)}}function vl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Fi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Ka(e){var t=e.alternate;t!==null&&(e.alternate=null,Ka(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Qe],delete t[Jn],delete t[ki],delete t[rd],delete t[ld])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ya(e){return e.tag===5||e.tag===3||e.tag===4}function Uo(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ya(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function $i(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Qr));else if(r!==4&&(e=e.child,e!==null))for($i(e,t,n),e=e.sibling;e!==null;)$i(e,t,n),e=e.sibling}function Ui(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ui(e,t,n),e=e.sibling;e!==null;)Ui(e,t,n),e=e.sibling}var te=null,$e=!1;function ut(e,t,n){for(n=n.child;n!==null;)Xa(e,t,n),n=n.sibling}function Xa(e,t,n){if(Ke&&typeof Ke.onCommitFiberUnmount=="function")try{Ke.onCommitFiberUnmount(sl,n)}catch{}switch(n.tag){case 5:ue||en(n,t);case 6:var r=te,l=$e;te=null,ut(e,t,n),te=r,$e=l,te!==null&&($e?(e=te,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):te.removeChild(n.stateNode));break;case 18:te!==null&&($e?(e=te,n=n.stateNode,e.nodeType===8?Il(e.parentNode,n):e.nodeType===1&&Il(e,n),Qn(e)):Il(te,n.stateNode));break;case 4:r=te,l=$e,te=n.stateNode.containerInfo,$e=!0,ut(e,t,n),te=r,$e=l;break;case 0:case 11:case 14:case 15:if(!ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&Mi(n,t,u),l=l.next}while(l!==r)}ut(e,t,n);break;case 1:if(!ue&&(en(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){Y(n,t,o)}ut(e,t,n);break;case 21:ut(e,t,n);break;case 22:n.mode&1?(ue=(r=ue)||n.memoizedState!==null,ut(e,t,n),ue=r):ut(e,t,n);break;default:ut(e,t,n)}}function Io(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Sd),t.forEach(function(r){var l=zd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Me(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=u),r&=~i}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Cd(r/1960))-r,10e?16:e,dt===null)var r=!1;else{if(e=dt,dt=null,ll=0,F&6)throw Error(x(331));var l=F;for(F|=4,P=e.current;P!==null;){var i=P,u=i.child;if(P.flags&16){var o=i.deletions;if(o!==null){for(var s=0;sG()-Pu?Ot(e,0):_u|=n),ve(e,t)}function nc(e,t){t===0&&(e.mode&1?(t=pr,pr<<=1,!(pr&130023424)&&(pr=4194304)):t=1);var n=ae();e=tt(e,t),e!==null&&(lr(e,t,n),ve(e,n))}function Td(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),nc(e,n)}function zd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(t),nc(e,n)}var rc;rc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||he.current)pe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return pe=!1,gd(e,t,n);pe=!!(e.flags&131072)}else pe=!1,H&&t.flags&1048576&&oa(t,Gr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Or(e,t),e=t.pendingProps;var l=cn(t,oe.current);on(t,n),l=xu(null,t,r,e,l,n);var i=ku();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,me(r)?(i=!0,Yr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,vu(t),l.updater=ml,t.stateNode=l,l._reactInternals=t,Pi(t,r,e,n),t=Li(null,t,r,!0,i,n)):(t.tag=0,H&&i&&au(t),se(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Or(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Rd(r),e=Fe(r,e),l){case 0:t=zi(null,t,r,e,n);break e;case 1:t=Do(null,t,r,e,n);break e;case 11:t=Ro(null,t,r,e,n);break e;case 14:t=Oo(null,t,r,Fe(r.type,e),n);break e}throw Error(x(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),zi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),Do(e,t,r,l,n);case 3:e:{if(Aa(t),e===null)throw Error(x(387));r=t.pendingProps,i=t.memoizedState,l=i.element,pa(e,t),qr(t,r,null,n);var u=t.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=hn(Error(x(423)),t),t=Mo(e,t,r,n,l);break e}else if(r!==l){l=hn(Error(x(424)),t),t=Mo(e,t,r,n,l);break e}else for(we=vt(t.stateNode.containerInfo.firstChild),Se=t,H=!0,Ue=null,n=fa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(fn(),r===l){t=nt(e,t,n);break e}se(e,t,r,n)}t=t.child}return t;case 5:return ha(t),e===null&&Ei(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,Si(r,l)?u=null:i!==null&&Si(r,i)&&(t.flags|=32),Ia(e,t),se(e,t,u,n),t.child;case 6:return e===null&&Ei(t),null;case 13:return Va(e,t,n);case 4:return gu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=dn(t,null,r,n):se(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),Ro(e,t,r,l,n);case 7:return se(e,t,t.pendingProps,n),t.child;case 8:return se(e,t,t.pendingProps.children,n),t.child;case 12:return se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,u=l.value,I(Jr,r._currentValue),r._currentValue=u,i!==null)if(Ve(i.value,u)){if(i.children===l.children&&!he.current){t=nt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=qe(-1,n&-n),s.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?s.next=s:(s.next=v.next,v.next=s),f.pending=s}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),ji(i.return,n,t),o.lanes|=n;break}s=s.next}}else if(i.tag===10)u=i.type===t.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(x(341));u.lanes|=n,o=u.alternate,o!==null&&(o.lanes|=n),ji(u,n,t),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===t){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}se(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,on(t,n),l=Te(l),r=r(l),t.flags|=1,se(e,t,r,n),t.child;case 14:return r=t.type,l=Fe(r,t.pendingProps),l=Fe(r.type,l),Oo(e,t,r,l,n);case 15:return $a(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),Or(e,t),t.tag=1,me(r)?(e=!0,Yr(t)):e=!1,on(t,n),Da(t,r,l),Pi(t,r,l,n),Li(null,t,r,!0,e,n);case 19:return Ba(e,t,n);case 22:return Ua(e,t,n)}throw Error(x(156,t.tag))};function lc(e,t){return Ls(e,t)}function Ld(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,t,n,r){return new Ld(e,t,n,r)}function Ru(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Rd(e){if(typeof e=="function")return Ru(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Zi)return 11;if(e===qi)return 14}return 2}function St(e,t){var n=e.alternate;return n===null?(n=_e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Fr(e,t,n,r,l,i){var u=2;if(r=e,typeof e=="function")Ru(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case Qt:return Dt(n.children,l,i,t);case Ji:u=8,l|=8;break;case ql:return e=_e(12,n,t,l|2),e.elementType=ql,e.lanes=i,e;case bl:return e=_e(13,n,t,l),e.elementType=bl,e.lanes=i,e;case ei:return e=_e(19,n,t,l),e.elementType=ei,e.lanes=i,e;case hs:return yl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ds:u=10;break e;case ps:u=9;break e;case Zi:u=11;break e;case qi:u=14;break e;case ot:u=16,r=null;break e}throw Error(x(130,e==null?e:typeof e,""))}return t=_e(u,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Dt(e,t,n,r){return e=_e(7,e,r,t),e.lanes=n,e}function yl(e,t,n,r){return e=_e(22,e,r,t),e.elementType=hs,e.lanes=n,e.stateNode={isHidden:!1},e}function Yl(e,t,n){return e=_e(6,e,null,t),e.lanes=n,e}function Xl(e,t,n){return t=_e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Od(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pl(0),this.expirationTimes=Pl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ou(e,t,n,r,l,i,u,o,s){return e=new Od(e,t,n,o,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_e(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},vu(i),e}function Dd(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(sc)}catch(e){console.error(e)}}sc(),ss.exports=ke;var Id=ss.exports,ac,Yo=Id;ac=Yo.createRoot,Yo.hydrateRoot;async function Ne(e){const t=await fetch(e);if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.json()}async function Ad(){return Ne("/api/archives")}async function Vd(e){return Ne(`/api/archives/${e}/entries`)}async function Bd(e,t,n){const r=new URLSearchParams;return t&&r.set("q",t),n&&r.set("tag",n),Ne(`/api/archives/${e}/entries/search?${r}`)}async function Hd(e,t){return Ne(`/api/archives/${e}/entries/${t}`)}async function Gl(e,t){return Ne(`/api/archives/${e}/entries/${t}/tags`)}async function Wd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag_path:n})});if(!r.ok)throw new Error(`Failed to add tag (${r.status})`)}async function Qd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Remove failed (${r.status})`)}async function Xo(e){return Ne(`/api/archives/${e}/runs`)}async function Jl(e){return Ne(`/api/archives/${e}/tags`)}async function Kd(e,t){const n=await fetch(`/api/archives/${e}/captures`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locator:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function Yd(e,t){return Ne(`/api/archives/${e}/capture_jobs/${t}`)}async function Xd(){return(await(await fetch("/api/auth/setup")).json()).setup_required===!0}async function Gd(e,t){const n=await fetch("/api/auth/setup",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Setup failed");return n.json()}async function Jd(e,t){const n=await fetch("/api/auth/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Login failed");return n.json()}async function Zd(){await fetch("/api/auth/logout",{method:"POST"})}async function qd(){const e=await fetch("/api/auth/me");return e.status===401?null:e.json()}async function bd(){return Ne("/api/admin/users")}async function ep(e,t,n){const r=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t,email:n||void 0})});if(!r.ok){const l=await r.json().catch(()=>({}));throw new Error(l.error||`HTTP ${r.status}`)}return r.json()}async function tp(e,t){const n=await fetch(`/api/admin/users/${e}/status`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function np(){return Ne("/api/admin/roles")}async function rp(e,t){const n=await fetch("/api/admin/roles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e,name:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function lp(e){return Ne(`/api/archives/${e}/collections`)}async function ip(e,t,n,r=2){const l=await fetch(`/api/archives/${e}/collections`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:t,slug:n,default_visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}return l.json()}async function up(e,t){return Ne(`/api/archives/${e}/collections/${t}`)}async function op(e,t){return Ne(`/api/archives/${e}/entries/${t}/collections`)}const sp=window.fetch;window.fetch=async(...e)=>{var n;const t=await sp(...e);return t.status===401&&((typeof e[0]=="string"?e[0]:((n=e[0])==null?void 0:n.url)??"").includes("/api/auth/")||window.dispatchEvent(new CustomEvent("auth:expired"))),t};function ap({onLogin:e}){const[t,n]=S.useState(""),[r,l]=S.useState(""),[i,u]=S.useState(null),[o,s]=S.useState(!1);async function f(v){v.preventDefault(),u(null),s(!0);try{const m=await Jd(t,r);e(m)}catch(m){u(m.message)}finally{s(!1)}}return a.jsxs("div",{className:"login-page",children:[a.jsx("h1",{children:"Archivr"}),a.jsxs("form",{onSubmit:f,children:[a.jsxs("label",{children:["Username",a.jsx("input",{type:"text",value:t,onChange:v=>n(v.target.value),autoFocus:!0,required:!0})]}),a.jsxs("label",{children:["Password",a.jsx("input",{type:"password",value:r,onChange:v=>l(v.target.value),required:!0})]}),i&&a.jsx("p",{className:"error",children:i}),a.jsx("button",{type:"submit",disabled:o,children:o?"Logging in…":"Log in"})]})]})}function cp({onComplete:e}){const[t,n]=S.useState(""),[r,l]=S.useState(""),[i,u]=S.useState(""),[o,s]=S.useState(null),[f,v]=S.useState(!1);async function m(h){if(h.preventDefault(),r!==i){s("Passwords do not match");return}if(r.length<8){s("Password must be at least 8 characters");return}s(null),v(!0);try{await Gd(t,r),e()}catch(y){s(y.message)}finally{v(!1)}}return a.jsxs("div",{className:"setup-page",children:[a.jsx("h1",{children:"Welcome to Archivr"}),a.jsx("p",{children:"Create your owner account to get started."}),a.jsxs("form",{onSubmit:m,children:[a.jsxs("label",{children:["Username",a.jsx("input",{type:"text",value:t,onChange:h=>n(h.target.value),autoFocus:!0,required:!0})]}),a.jsxs("label",{children:["Password",a.jsx("input",{type:"password",value:r,onChange:h=>l(h.target.value),required:!0})]}),a.jsxs("label",{children:["Confirm password",a.jsx("input",{type:"password",value:i,onChange:h=>u(h.target.value),required:!0})]}),o&&a.jsx("p",{className:"error",children:o}),a.jsx("button",{type:"submit",disabled:f,children:f?"Creating account…":"Create account"})]})]})}function fp({archives:e,archiveId:t,onArchiveChange:n,view:r,onViewChange:l,onCaptureClick:i}){const{currentUser:u,setCurrentUser:o}=S.useContext($u)??{},[s,f]=S.useState(!1);async function v(){f(!0),await Zd(),o(null),window.location.reload()}return a.jsxs("header",{className:"topbar",children:[a.jsx("div",{className:"brand",children:"Archivr"}),a.jsx("select",{className:"archive-switcher","aria-label":"Select archive",value:t??"",onChange:m=>n(m.target.value),children:e.map(m=>a.jsx("option",{value:m.id,children:m.label},m.id))}),a.jsx("nav",{className:"nav","aria-label":"Primary",children:["archive","runs","admin","tags","collections"].map(m=>a.jsx("button",{className:`nav-link${r===m?" is-active":""}`,onClick:()=>l(m),children:m.charAt(0).toUpperCase()+m.slice(1)},m))}),a.jsx("button",{className:"capture-button",onClick:i,children:"+ Capture"}),u&&a.jsxs("div",{className:"user-menu",children:[a.jsx("span",{className:"username",children:u.username}),a.jsx("button",{onClick:v,disabled:s,className:"logout-btn",children:s?"Logging out…":"Log out"})]})]})}function dp({open:e,archiveId:t,onClose:n,onCaptured:r}){const l=S.useRef(null),[i,u]=S.useState(""),[o,s]=S.useState(null),[f,v]=S.useState(!1),[m,h]=S.useState(null),y=S.useRef(null);S.useEffect(()=>{const T=l.current;if(!T)return;const d=()=>{clearInterval(y.current),n()};return T.addEventListener("close",d),()=>T.removeEventListener("close",d)},[n]),S.useEffect(()=>{const T=l.current;T&&(e?(u(""),s(null),h(null),v(!1),clearInterval(y.current),T.open||T.showModal()):T.open&&T.close())},[e]);async function w(){if(!i.trim()){s("Enter a locator.");return}v(!0),s(null),h(null);try{const T=await Kd(t,i.trim());h("running"),y.current=setInterval(async()=>{var d;try{const c=await Yd(t,T.job_uid);c.status==="completed"?(clearInterval(y.current),y.current=null,v(!1),h("completed"),(d=l.current)==null||d.close(),r()):c.status==="failed"&&(clearInterval(y.current),y.current=null,v(!1),h("failed"),s(c.error_text||"Capture failed."))}catch(c){clearInterval(y.current),y.current=null,v(!1),s(c.message)}},500)}catch(T){s(T.message),v(!1)}}function C(){return f?m==="running"?"Running…":"Capturing…":"Capture"}return a.jsx("dialog",{ref:l,className:"capture-dialog",children:a.jsxs("div",{className:"capture-dialog-inner",children:[a.jsx("h2",{className:"capture-dialog-title",children:"Capture"}),a.jsx("label",{htmlFor:"capture-locator",className:"capture-label",children:"Locator"}),a.jsx("input",{id:"capture-locator",className:"capture-input",type:"text",placeholder:"tweet:1234567890 or https://...",value:i,onChange:T=>u(T.target.value),onKeyDown:T=>{T.key==="Enter"&&w()},autoComplete:"off"}),o&&a.jsx("div",{className:"capture-error",children:o}),a.jsxs("div",{className:"capture-actions",children:[a.jsx("button",{type:"button",className:"capture-cancel",onClick:()=>{var T;return(T=l.current)==null?void 0:T.close()},children:"Cancel"}),a.jsx("button",{type:"button",className:"capture-submit",onClick:w,disabled:f,children:C()})]})]})})}function cc(e){if(!e)return"0 B";const t=["B","KB","MB","GB"];let n=e,r=0;for(;n>=1024&&rString(r).padStart(2,"0");return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())}`}const Go={youtube:'',x:'',instagram:'',facebook:'',tiktok:'',reddit:'',snapchat:'',local:'',web:'',other:'?'};function pp(e){return Go[e]??Go.other}function hp({entry:e,archiveId:t,isSelected:n,onSelect:r}){const[l,i]=S.useState(!1),o=e.source_kind==="web"&&e.entity_kind==="page"&&e.has_favicon&&t&&!l?a.jsx("img",{src:`/api/archives/${t}/entries/${e.entry_uid}/favicon`,width:"16",height:"16",alt:"",onError:()=>i(!0),style:{objectFit:"contain"}}):a.jsx("span",{dangerouslySetInnerHTML:{__html:pp(e.source_kind)}});return a.jsxs("div",{className:n?"is-selected":void 0,tabIndex:0,"data-entry-uid":e.entry_uid,onClick:r,onKeyDown:s=>{s.key==="Enter"&&r()},children:[a.jsx("div",{className:"col-added",children:fc(e.archived_at)}),a.jsxs("div",{className:"col-title",children:[a.jsx("span",{className:"source-icon",children:o}),a.jsx("span",{className:"entry-title",children:Rt(e.title)||Rt(e.entry_uid)})]}),a.jsx("div",{className:"col-type",children:a.jsx("span",{className:"type-pill",children:Rt(e.entity_kind)})}),a.jsx("div",{className:"col-size",children:cc(e.total_artifact_bytes)}),a.jsx("div",{className:"url-cell col-url",children:Rt(e.original_url)})]})}function mp({entries:e,selectedEntryUid:t,onSelectEntry:n,archiveId:r}){return a.jsx("section",{id:"archive-view",className:"view is-active",children:a.jsxs("div",{className:"entry-table",children:[a.jsxs("div",{className:"entry-header-row",children:[a.jsx("div",{className:"col-added",children:"Added"}),a.jsx("div",{className:"col-title",children:"Title"}),a.jsx("div",{className:"col-type",children:"Type"}),a.jsx("div",{className:"col-size",children:"Size"}),a.jsx("div",{className:"col-url",children:"Original URL"})]}),a.jsx("div",{id:"entries-body",children:e.map(l=>a.jsx(hp,{entry:l,archiveId:r,isSelected:l.entry_uid===t,onSelect:()=>n(l)},l.entry_uid))})]})})}function vp({runs:e}){return a.jsx("section",{id:"runs-view",className:"view is-active",children:a.jsxs("table",{className:"entry-table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Started"}),a.jsx("th",{children:"Status"}),a.jsx("th",{children:"Requested"}),a.jsx("th",{children:"Completed"}),a.jsx("th",{children:"Failed"})]})}),a.jsx("tbody",{children:e.map((t,n)=>a.jsxs("tr",{children:[a.jsx("td",{children:t.started_at??""}),a.jsx("td",{children:t.status??""}),a.jsx("td",{children:t.requested_count??""}),a.jsx("td",{children:t.completed_count??""}),a.jsx("td",{children:t.failed_count??""})]},n))})]})})}const gp=4;function yp({archives:e}){const{currentUser:t}=S.useContext($u)??{},n=t&&(t.role_bits&gp)!==0,[r,l]=S.useState("users"),[i,u]=S.useState([]),[o,s]=S.useState([]),[f,v]=S.useState(!1),[m,h]=S.useState(null),[y,w]=S.useState(""),[C,T]=S.useState(""),[d,c]=S.useState(""),[p,g]=S.useState(null),[N,_]=S.useState(!1),[j,z]=S.useState(""),[L,O]=S.useState(""),[X,ge]=S.useState(null),[Le,Re]=S.useState(!1),lt=S.useCallback(async()=>{if(n){v(!0),h(null);try{const[k,R]=await Promise.all([bd(),np()]);u(k),s(R)}catch(k){h(k.message)}finally{v(!1)}}},[n]);S.useEffect(()=>{lt()},[lt]);async function it(k){const R=k.status==="active"?"disabled":"active";try{await tp(k.user_uid,R),u(U=>U.map(B=>B.user_uid===k.user_uid?{...B,status:R}:B))}catch(U){h(U.message)}}async function jt(k){if(k.preventDefault(),!y.trim()||!C){g("Username and password required");return}_(!0),g(null);try{await ep(y.trim(),C,d.trim()||void 0),w(""),T(""),c(""),await lt()}catch(R){g(R.message)}finally{_(!1)}}async function E(k){if(k.preventDefault(),!j.trim()||!L.trim()){ge("Slug and name required");return}Re(!0),ge(null);try{await rp(j.trim(),L.trim()),z(""),O(""),await lt()}catch(R){ge(R.message)}finally{Re(!1)}}return n?a.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[a.jsx("h1",{children:"Admin"}),a.jsxs("div",{className:"admin-tabs",children:[a.jsx("button",{className:`admin-tab${r==="users"?" is-active":""}`,onClick:()=>l("users"),children:"Users"}),a.jsx("button",{className:`admin-tab${r==="roles"?" is-active":""}`,onClick:()=>l("roles"),children:"Roles"}),a.jsx("button",{className:`admin-tab${r==="archives"?" is-active":""}`,onClick:()=>l("archives"),children:"Archives"})]}),m&&a.jsx("div",{className:"capture-error",children:m}),r==="users"&&a.jsxs("div",{className:"admin-section",children:[a.jsx("h2",{children:"Users"}),f?a.jsx("p",{className:"muted",children:"Loading…"}):a.jsxs("table",{className:"admin-table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Username"}),a.jsx("th",{children:"Email"}),a.jsx("th",{children:"Roles"}),a.jsx("th",{children:"Status"}),a.jsx("th",{children:"Actions"})]})}),a.jsx("tbody",{children:i.map(k=>a.jsxs("tr",{className:k.status==="disabled"?"admin-row-disabled":"",children:[a.jsx("td",{children:k.username}),a.jsx("td",{className:"muted",children:k.email||"—"}),a.jsx("td",{children:k.role_slugs.join(", ")||"—"}),a.jsx("td",{children:a.jsx("span",{className:`status-badge status-${k.status}`,children:k.status})}),a.jsx("td",{children:a.jsx("button",{className:"admin-action-btn",onClick:()=>it(k),children:k.status==="active"?"Ban":"Unban"})})]},k.user_uid))})]}),a.jsx("h3",{children:"Create User"}),a.jsxs("form",{className:"admin-form",onSubmit:jt,children:[a.jsx("input",{className:"admin-input",placeholder:"Username",value:y,onChange:k=>w(k.target.value),required:!0}),a.jsx("input",{className:"admin-input",type:"password",placeholder:"Password (min 8 chars)",value:C,onChange:k=>T(k.target.value),required:!0}),a.jsx("input",{className:"admin-input",type:"email",placeholder:"Email (optional)",value:d,onChange:k=>c(k.target.value)}),p&&a.jsx("div",{className:"capture-error",children:p}),a.jsx("button",{className:"capture-submit",type:"submit",disabled:N,children:N?"Creating…":"Create User"})]})]}),r==="roles"&&a.jsxs("div",{className:"admin-section",children:[a.jsx("h2",{children:"Roles"}),f?a.jsx("p",{className:"muted",children:"Loading…"}):a.jsxs("table",{className:"admin-table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Slug"}),a.jsx("th",{children:"Name"}),a.jsx("th",{children:"Level"}),a.jsx("th",{children:"Bit"}),a.jsx("th",{children:"Built-in"})]})}),a.jsx("tbody",{children:o.map(k=>a.jsxs("tr",{children:[a.jsx("td",{children:a.jsx("code",{children:k.slug})}),a.jsx("td",{children:k.name}),a.jsx("td",{children:k.level}),a.jsx("td",{children:k.bit_position}),a.jsx("td",{children:k.is_builtin?"✓":""})]},k.role_uid))})]}),a.jsx("h3",{children:"Create Custom Role"}),a.jsxs("form",{className:"admin-form",onSubmit:E,children:[a.jsx("input",{className:"admin-input",placeholder:"Slug (e.g. moderator)",value:j,onChange:k=>z(k.target.value),required:!0}),a.jsx("input",{className:"admin-input",placeholder:"Display Name (e.g. Moderator)",value:L,onChange:k=>O(k.target.value),required:!0}),X&&a.jsx("div",{className:"capture-error",children:X}),a.jsx("button",{className:"capture-submit",type:"submit",disabled:Le,children:Le?"Creating…":"Create Role"})]})]}),r==="archives"&&a.jsxs("div",{className:"admin-section",children:[a.jsx("h2",{children:"Mounted Archives"}),a.jsx("div",{className:"admin-list",children:e.map(k=>a.jsxs("div",{className:"admin-archive",children:[a.jsx("strong",{children:k.label}),a.jsx("div",{className:"muted",children:k.archive_path})]},k.id))})]})]}):a.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[a.jsx("h1",{children:"Admin"}),a.jsx("p",{className:"muted",children:"You need admin privileges to access this panel."}),a.jsx("h2",{children:"Mounted Archives"}),a.jsx("div",{className:"admin-list",children:e.map(k=>a.jsxs("div",{className:"admin-archive",children:[a.jsx("strong",{children:k.label}),a.jsx("div",{className:"muted",children:k.archive_path})]},k.id))})]})}function dc({node:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){var u;const l=t===e.tag.full_path;function i(){const o=l?null:e.tag.full_path;n(o),r("archive")}return a.jsxs("li",{children:[a.jsx("button",{className:`tag-node-btn${l?" is-active":""}`,title:e.tag.full_path,onClick:i,children:e.tag.name}),((u=e.children)==null?void 0:u.length)>0&&a.jsx("div",{className:"tag-children",children:a.jsx("ul",{className:"tag-tree-list",children:e.children.map(o=>a.jsx(dc,{node:o,tagFilter:t,onTagFilterSet:n,onViewChange:r},o.tag.tag_uid))})})]})}function wp({tagNodes:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){return a.jsx("section",{id:"tags-view",className:"view is-active",children:a.jsx("div",{className:"tag-tree",children:e.length===0?a.jsx("div",{children:"No tags yet."}):a.jsx("ul",{className:"tag-tree-list",children:e.map(l=>a.jsx(dc,{node:l,tagFilter:t,onTagFilterSet:n,onViewChange:r},l.tag.tag_uid))})})})}const Jo={0:"Private",1:"Public",2:"Users only",3:"Public"};function Sp({archiveId:e}){const[t,n]=S.useState([]),[r,l]=S.useState(!1),[i,u]=S.useState(null),[o,s]=S.useState(null),[f,v]=S.useState(null),[m,h]=S.useState(!1),[y,w]=S.useState(""),[C,T]=S.useState(""),[d,c]=S.useState(2),[p,g]=S.useState(!1),[N,_]=S.useState(null),j=S.useCallback(async()=>{if(e){l(!0),u(null);try{const L=await lp(e);n(L)}catch(L){u(L.message)}finally{l(!1)}}},[e]);S.useEffect(()=>{j()},[j]),S.useEffect(()=>{if(!o){v(null);return}h(!0),up(e,o.collection_uid).then(L=>v(L)).catch(L=>u(L.message)).finally(()=>h(!1))},[o,e]);async function z(L){L.preventDefault();const O=y.trim(),X=C.trim();if(!(!O||!X)){g(!0),_(null);try{await ip(e,O,X,d),w(""),T(""),c(2),await j()}catch(ge){_(ge.message)}finally{g(!1)}}}return e?a.jsxs("div",{className:"collections-view",children:[a.jsx("h2",{className:"view-heading",children:"Collections"}),r&&a.jsx("div",{className:"muted",children:"Loading…"}),i&&a.jsx("div",{className:"error-text",children:i}),a.jsxs("div",{className:"collections-layout",children:[a.jsxs("div",{className:"collections-list",children:[t.map(L=>a.jsxs("div",{className:`collection-row${(o==null?void 0:o.collection_uid)===L.collection_uid?" is-selected":""}`,onClick:()=>s(L),children:[a.jsx("span",{className:"collection-name",children:L.name}),a.jsx("span",{className:"muted",style:{fontSize:"0.8em"},children:Jo[L.default_visibility_bits]??L.default_visibility_bits})]},L.collection_uid)),t.length===0&&!r&&a.jsx("div",{className:"muted",children:"No collections yet."})]}),o&&a.jsxs("div",{className:"collection-detail",children:[a.jsx("h3",{className:"collection-detail-name",children:o.name}),a.jsxs("div",{className:"muted",style:{marginBottom:"0.75rem"},children:["Default visibility: ",Jo[o.default_visibility_bits]??o.default_visibility_bits]}),m?a.jsx("div",{className:"muted",children:"Loading entries…"}):f?f.entries.length===0?a.jsx("div",{className:"muted",children:"No entries visible to you in this collection."}):a.jsx("ul",{className:"collection-entries-list",children:f.entries.map(L=>a.jsxs("li",{className:"collection-entry-item",children:[a.jsx("span",{className:"entry-title",children:L.title||L.entry_uid}),a.jsx("span",{className:"muted",style:{fontSize:"0.8em"},children:L.source_kind})]},L.entry_uid))}):null]})]}),a.jsxs("details",{className:"create-collection-form",style:{marginTop:"1.5rem"},children:[a.jsx("summary",{style:{cursor:"pointer",fontWeight:600},children:"Create collection"}),a.jsxs("form",{onSubmit:z,style:{marginTop:"0.75rem",display:"flex",flexDirection:"column",gap:"0.5rem",maxWidth:400},children:[a.jsxs("label",{children:["Name",a.jsx("input",{className:"form-input",type:"text",value:y,onChange:L=>{w(L.target.value),C||T(L.target.value.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""))},placeholder:"My Collection",required:!0})]}),a.jsxs("label",{children:["Slug",a.jsx("input",{className:"form-input",type:"text",value:C,onChange:L=>T(L.target.value),placeholder:"my-collection",required:!0})]}),a.jsxs("label",{children:["Default visibility",a.jsxs("select",{className:"form-input",value:d,onChange:L=>c(Number(L.target.value)),children:[a.jsx("option",{value:0,children:"Private (admin/owner only)"}),a.jsx("option",{value:2,children:"Users only (logged in)"}),a.jsx("option",{value:3,children:"Public"})]})]}),N&&a.jsx("div",{className:"muted",style:{color:"var(--accent)"},children:N}),a.jsx("button",{className:"btn",type:"submit",disabled:p,children:p?"Creating…":"Create"})]})]})]}):a.jsx("div",{className:"view-placeholder",children:"Select an archive."})}function xp({archiveId:e,selectedEntry:t,onTagFilterSet:n,tagNodes:r,onTagsRefresh:l}){const[i,u]=S.useState(null),[o,s]=S.useState([]),[f,v]=S.useState(""),[m,h]=S.useState([]),[y,w]=S.useState(""),C=S.useRef(0);S.useEffect(()=>{if(!t||!e){u(null),s([]),h([]);return}const c=++C.current;u(null),s([]),Promise.all([Hd(e,t.entry_uid),Gl(e,t.entry_uid),op(e,t.entry_uid)]).then(([p,g,N])=>{c===C.current&&(u(p),s(g),h(N))}).catch(()=>{})},[t,e]);async function T(){const c=f.trim();if(!(!c||!t))try{await Wd(e,t.entry_uid,c),v(""),w("");const p=await Gl(e,t.entry_uid);s(p),l()}catch(p){w(p.message)}}async function d(c){try{await Qd(e,t.entry_uid,c);const p=await Gl(e,t.entry_uid);s(p),l()}catch{}}return a.jsxs("aside",{className:"context-rail",children:[a.jsx("div",{className:"rail-title",children:"Context"}),t?i?a.jsxs("div",{className:"rail-body",children:[a.jsx("strong",{className:"rail-entry-title",children:Rt(i.summary.title)||Rt(i.summary.entry_uid)}),a.jsxs("div",{className:"rail-section",children:[i.summary.original_url&&a.jsxs("div",{className:"rail-item",children:[a.jsx("span",{className:"rail-label",children:"Original URL"}),":"," ",a.jsx("a",{href:i.summary.original_url,target:"_blank",rel:"noopener noreferrer",className:"rail-url-link",children:i.summary.original_url})]}),[["Added",fc(i.summary.archived_at)],["Source",i.summary.source_kind],["Type",i.summary.entity_kind],["Visibility",i.summary.visibility],["Structured root",i.structured_root_relpath]].map(([c,p])=>a.jsxs("div",{className:"rail-item",children:[a.jsx("span",{className:"rail-label",children:c}),": ",Rt(p)]},c))]}),i.artifacts.length>0?a.jsxs("div",{className:"rail-section",children:[a.jsxs("div",{className:"rail-section-heading",children:["Artifacts (",i.artifacts.length,")"]}),a.jsx("ul",{className:"artifact-list",children:i.artifacts.map((c,p)=>a.jsx("li",{children:a.jsxs("a",{href:`/api/archives/${e}/entries/${i.summary.entry_uid}/artifacts/${p}`,target:"_blank",rel:"noopener noreferrer",className:"artifact-link",children:[c.artifact_role.replace(/_/g," "),c.byte_size!=null?` (${cc(c.byte_size)})`:""]})},p))})]}):a.jsx("div",{className:"rail-item muted",children:"No artifacts."})]}):a.jsx("div",{className:"rail-body",children:"Loading…"}):a.jsx("div",{className:"rail-body",children:"Select an entry."}),t&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"entry-tags",children:o.length===0?a.jsx("span",{className:"muted",children:"No tags."}):o.map(c=>a.jsxs("span",{className:"tag-pill",title:c.full_path,children:[c.name,a.jsx("button",{className:"remove-tag",title:`Remove tag ${c.full_path}`,onClick:()=>d(c.tag_uid),children:"×"})]},c.tag_uid))}),a.jsxs("div",{className:"assign-tag-form",children:[a.jsx("input",{className:"assign-tag-input",type:"text",placeholder:"/science/cs",autoComplete:"off",value:f,onChange:c=>v(c.target.value),onKeyDown:c=>{c.key==="Enter"&&T()}}),a.jsx("button",{className:"assign-tag-btn",onClick:T,children:"Add tag"}),y&&a.jsx("div",{className:"muted",style:{fontSize:"0.85em",color:"var(--accent)"},children:y})]}),t&&m.length>0&&a.jsxs("div",{className:"rail-section",children:[a.jsx("div",{className:"rail-section-heading",children:"Collections"}),m.map(c=>a.jsxs("div",{className:"rail-item",children:[a.jsx("span",{className:"rail-label",children:c.collection_uid}),":"," ",a.jsx("span",{className:"muted",children:{0:"Private",1:"Public",2:"Users only",3:"Public"}[c.visibility_bits]??`bits:${c.visibility_bits}`})]},c.collection_uid))]})]})]})}const $u=S.createContext(null);function kp(){const[e,t]=S.useState("loading"),[n,r]=S.useState(null);S.useEffect(()=>{(async()=>{if(await Xd()){t("setup");return}const Oe=await qd();if(!Oe){t("login");return}r(Oe),t("authenticated")})()},[]),S.useEffect(()=>{const M=()=>{r(null),t("login")};return window.addEventListener("auth:expired",M),()=>window.removeEventListener("auth:expired",M)},[]);const[l,i]=S.useState([]),[u,o]=S.useState(null),[s,f]=S.useState([]),[v,m]=S.useState(null),[h,y]=S.useState(null),[w,C]=S.useState(null),[T,d]=S.useState("archive"),[c,p]=S.useState(""),[g,N]=S.useState(""),[_,j]=S.useState(!1),[z,L]=S.useState([]),[O,X]=S.useState([]),[ge,Le]=S.useState(!1),Re=S.useCallback(async(M,Oe,Be)=>{if(M){j(!0);try{let De;Oe||Be?De=await Bd(M,Oe,Be):De=await Vd(M),f(De),N(De.length===0?"No results":`${De.length} result${De.length===1?"":"s"}`)}catch{f([]),N("Search failed. Try again.")}finally{j(!1)}}},[]);S.useEffect(()=>{Ad().then(M=>{if(i(M),M.length>0){const Oe=M[0].id;o(Oe)}})},[]),S.useEffect(()=>{u&&(C(null),y(null),m(null),Promise.all([Re(u,"",null),Xo(u).then(L),Jl(u).then(X)]))},[u]),S.useEffect(()=>{if(u===null)return;const M=setTimeout(()=>{Re(u,c,w)},300);return()=>clearTimeout(M)},[c,u]),S.useEffect(()=>{u!==null&&(d("archive"),Re(u,c,w))},[w,u]);const lt=S.useCallback(M=>{o(M)},[]),it=S.useCallback(M=>{d(M),M==="tags"&&u&&Jl(u).then(X)},[u]),jt=S.useCallback(M=>{m(M?M.entry_uid:null),y(M)},[]),E=S.useCallback(M=>{C(M)},[]),k=S.useCallback(()=>{C(null)},[]),R=S.useCallback(()=>{u&&Jl(u).then(X)},[u]),U=S.useCallback(()=>{Le(!0)},[]),B=S.useCallback(()=>{Le(!1)},[]),Bt=S.useCallback(()=>{u&&Promise.all([Re(u,c,w),Xo(u).then(L)])},[u,c,w,Re]);return e==="loading"?a.jsx("div",{className:"auth-loading",children:"Loading\\u2026"}):e==="setup"?a.jsx(cp,{onComplete:()=>t("login")}):e==="login"?a.jsx(ap,{onLogin:M=>{r(M),t("authenticated")}}):a.jsx($u.Provider,{value:{currentUser:n,setCurrentUser:r},children:a.jsxs(a.Fragment,{children:[a.jsx(fp,{archives:l,archiveId:u,onArchiveChange:lt,view:T,onViewChange:it,onCaptureClick:U}),a.jsxs("main",{className:"app-shell",children:[a.jsxs("div",{className:"workspace",children:[T==="archive"&&a.jsxs("div",{className:"search-row",children:[a.jsx("input",{className:"search-input",type:"search","aria-label":"Search archive","aria-busy":_,value:c,onChange:M=>p(M.target.value)}),a.jsxs("div",{className:"result-count",children:[g,w&&a.jsxs("button",{className:"tag-filter-badge",onClick:k,children:["× ",w]})]})]}),T==="archive"&&a.jsx(mp,{entries:s,selectedEntryUid:v,onSelectEntry:jt,archiveId:u,tagFilter:w,onClearTagFilter:k,searchQuery:c,onSearchChange:p,resultCount:g,searchBusy:_}),T==="runs"&&a.jsx(vp,{runs:z}),T==="admin"&&a.jsx(yp,{archives:l}),T==="tags"&&a.jsx(wp,{tagNodes:O,tagFilter:w,onTagFilterSet:E,onViewChange:it}),T==="collections"&&a.jsx(Sp,{archiveId:u})]}),a.jsx(xp,{archiveId:u,selectedEntry:h,onTagFilterSet:E,tagNodes:O,onTagsRefresh:R})]}),a.jsx(dp,{open:ge,archiveId:u,onClose:B,onCaptured:Bt})]})})}ac(document.getElementById("root")).render(a.jsx(S.StrictMode,{children:a.jsx(kp,{})})); diff --git a/crates/archivr-server/static/assets/index-C6h0jcH3.js b/crates/archivr-server/static/assets/index-C6h0jcH3.js deleted file mode 100644 index 5000950..0000000 --- a/crates/archivr-server/static/assets/index-C6h0jcH3.js +++ /dev/null @@ -1,40 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();var nu={exports:{}},fl={},ru={exports:{}},$={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var ur=Symbol.for("react.element"),Cc=Symbol.for("react.portal"),Nc=Symbol.for("react.fragment"),jc=Symbol.for("react.strict_mode"),Ec=Symbol.for("react.profiler"),_c=Symbol.for("react.provider"),Pc=Symbol.for("react.context"),Tc=Symbol.for("react.forward_ref"),zc=Symbol.for("react.suspense"),Lc=Symbol.for("react.memo"),Rc=Symbol.for("react.lazy"),Hs=Symbol.iterator;function Oc(e){return e===null||typeof e!="object"?null:(e=Hs&&e[Hs]||e["@@iterator"],typeof e=="function"?e:null)}var lu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},iu=Object.assign,su={};function xn(e,t,n){this.props=e,this.context=t,this.refs=su,this.updater=n||lu}xn.prototype.isReactComponent={};xn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};xn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ou(){}ou.prototype=xn.prototype;function Gi(e,t,n){this.props=e,this.context=t,this.refs=su,this.updater=n||lu}var Ji=Gi.prototype=new ou;Ji.constructor=Gi;iu(Ji,xn.prototype);Ji.isPureReactComponent=!0;var Ws=Array.isArray,uu=Object.prototype.hasOwnProperty,Zi={current:null},au={key:!0,ref:!0,__self:!0,__source:!0};function cu(e,t,n){var r,l={},i=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)uu.call(t,r)&&!au.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(u===1)l.children=n;else if(1>>1,O=E[A];if(0>>1;Al(se,R))Rel(we,se)?(E[A]=we,E[Re]=R,A=Re):(E[A]=se,E[M]=R,A=M);else if(Rel(we,R))E[A]=we,E[Re]=R,A=Re;else break e}}return k}function l(E,k){var R=E.sortIndex-k.sortIndex;return R!==0?R:E.id-k.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,u=s.now();e.unstable_now=function(){return s.now()-u}}var a=[],d=[],v=1,m=null,h=3,w=!1,x=!1,S=!1,j=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(E){for(var k=n(d);k!==null;){if(k.callback===null)r(d);else if(k.startTime<=E)r(d),k.sortIndex=k.expirationTime,t(a,k);else break;k=n(d)}}function g(E){if(S=!1,p(E),!x)if(n(a)!==null)x=!0,Ae(N);else{var k=n(d);k!==null&&Be(g,k.startTime-E)}}function N(E,k){x=!1,S&&(S=!1,f(L),L=-1),w=!0;var R=h;try{for(p(k),m=n(a);m!==null&&(!(m.expirationTime>k)||E&&!J());){var A=m.callback;if(typeof A=="function"){m.callback=null,h=m.priorityLevel;var O=A(m.expirationTime<=k);k=e.unstable_now(),typeof O=="function"?m.callback=O:m===n(a)&&r(a),p(k)}else r(a);m=n(a)}if(m!==null)var de=!0;else{var M=n(d);M!==null&&Be(g,M.startTime-k),de=!1}return de}finally{m=null,h=R,w=!1}}var T=!1,P=null,L=-1,U=5,D=-1;function J(){return!(e.unstable_now()-DE||125A?(E.sortIndex=R,t(d,E),n(a)===null&&E===n(d)&&(S?(f(L),L=-1):S=!0,Be(g,R-A))):(E.sortIndex=O,t(a,E),x||w||(x=!0,Ae(N))),E},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(E){var k=h;return function(){var R=h;h=k;try{return E.apply(this,arguments)}finally{h=R}}}})(mu);hu.exports=mu;var Wc=hu.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Qc=y,Te=Wc;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ri=Object.prototype.hasOwnProperty,Kc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Ks={},Ys={};function Yc(e){return ri.call(Ys,e)?!0:ri.call(Ks,e)?!1:Kc.test(e)?Ys[e]=!0:(Ks[e]=!0,!1)}function Xc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Gc(e,t,n,r){if(t===null||typeof t>"u"||Xc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function me(e,t,n,r,l,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var ie={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ie[e]=new me(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ie[t]=new me(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ie[e]=new me(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ie[e]=new me(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ie[e]=new me(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ie[e]=new me(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ie[e]=new me(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ie[e]=new me(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ie[e]=new me(e,5,!1,e.toLowerCase(),null,!1,!1)});var bi=/[\-:]([a-z])/g;function es(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(bi,es);ie[t]=new me(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(bi,es);ie[t]=new me(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(bi,es);ie[t]=new me(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ie[e]=new me(e,1,!1,e.toLowerCase(),null,!1,!1)});ie.xlinkHref=new me("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ie[e]=new me(e,1,!1,e.toLowerCase(),null,!0,!0)});function ts(e,t,n,r){var l=ie.hasOwnProperty(t)?ie[t]:null;(l!==null?l.type!==0:r||!(2u||l[s]!==i[u]){var a=` -`+l[s].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=s&&0<=u);break}}}finally{Ll=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ln(e):""}function Jc(e){switch(e.tag){case 5:return Ln(e.type);case 16:return Ln("Lazy");case 13:return Ln("Suspense");case 19:return Ln("SuspenseList");case 0:case 2:case 15:return e=Rl(e.type,!1),e;case 11:return e=Rl(e.type.render,!1),e;case 1:return e=Rl(e.type,!0),e;default:return""}}function oi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Gt:return"Fragment";case Xt:return"Portal";case li:return"Profiler";case ns:return"StrictMode";case ii:return"Suspense";case si:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case gu:return(e.displayName||"Context")+".Consumer";case yu:return(e._context.displayName||"Context")+".Provider";case rs:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ls:return t=e.displayName||null,t!==null?t:oi(e.type)||"Memo";case ft:t=e._payload,e=e._init;try{return oi(e(t))}catch{}}return null}function Zc(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return oi(t);case 8:return t===ns?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Et(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function xu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function qc(e){var t=xu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(s){r=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function mr(e){e._valueTracker||(e._valueTracker=qc(e))}function Su(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=xu(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Vr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ui(e,t){var n=t.checked;return X({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Gs(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Et(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ku(e,t){t=t.checked,t!=null&&ts(e,"checked",t,!1)}function ai(e,t){ku(e,t);var n=Et(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ci(e,t.type,n):t.hasOwnProperty("defaultValue")&&ci(e,t.type,Et(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Js(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ci(e,t,n){(t!=="number"||Vr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Rn=Array.isArray;function on(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=vr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Kn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var $n={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},bc=["Webkit","ms","Moz","O"];Object.keys($n).forEach(function(e){bc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),$n[t]=$n[e]})});function Eu(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||$n.hasOwnProperty(e)&&$n[e]?(""+t).trim():t+"px"}function _u(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Eu(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var ed=X({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function pi(e,t){if(t){if(ed[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function hi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var mi=null;function is(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var vi=null,un=null,an=null;function bs(e){if(e=dr(e)){if(typeof vi!="function")throw Error(C(280));var t=e.stateNode;t&&(t=yl(t),vi(e.stateNode,e.type,t))}}function Pu(e){un?an?an.push(e):an=[e]:un=e}function Tu(){if(un){var e=un,t=an;if(an=un=null,bs(e),t)for(e=0;e>>=0,e===0?32:31-(dd(e)/fd|0)|0}var yr=64,gr=4194304;function On(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Kr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,s=n&268435455;if(s!==0){var u=s&~l;u!==0?r=On(u):(i&=s,i!==0&&(r=On(i)))}else s=n&~l,s!==0?r=On(s):i!==0&&(r=On(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ar(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ye(t),e[t]=n}function vd(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=In),uo=" ",ao=!1;function Gu(e,t){switch(e){case"keyup":return Wd.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ju(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Jt=!1;function Kd(e,t){switch(e){case"compositionend":return Ju(t);case"keypress":return t.which!==32?null:(ao=!0,uo);case"textInput":return e=t.data,e===uo&&ao?null:e;default:return null}}function Yd(e,t){if(Jt)return e==="compositionend"||!ps&&Gu(e,t)?(e=Yu(),Or=cs=vt=null,Jt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ho(n)}}function ea(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ea(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ta(){for(var e=window,t=Vr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Vr(e.document)}return t}function hs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function nf(e){var t=ta(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ea(n.ownerDocument.documentElement,n)){if(r!==null&&hs(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=mo(n,i);var s=mo(n,r);l&&s&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Zt=null,ki=null,An=null,Ci=!1;function vo(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ci||Zt==null||Zt!==Vr(r)||(r=Zt,"selectionStart"in r&&hs(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),An&&qn(An,r)||(An=r,r=Gr(ki,"onSelect"),0en||(e.current=Ti[en],Ti[en]=null,en--)}function V(e,t){en++,Ti[en]=e.current,e.current=t}var _t={},ce=Tt(_t),ke=Tt(!1),At=_t;function hn(e,t){var n=e.type.contextTypes;if(!n)return _t;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Ce(e){return e=e.childContextTypes,e!=null}function Zr(){W(ke),W(ce)}function Co(e,t,n){if(ce.current!==_t)throw Error(C(168));V(ce,t),V(ke,n)}function ca(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(C(108,Zc(e)||"Unknown",l));return X({},n,r)}function qr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||_t,At=ce.current,V(ce,e),V(ke,ke.current),!0}function No(e,t,n){var r=e.stateNode;if(!r)throw Error(C(169));n?(e=ca(e,t,At),r.__reactInternalMemoizedMergedChildContext=e,W(ke),W(ce),V(ce,e)):W(ke),V(ke,n)}var nt=null,gl=!1,Kl=!1;function da(e){nt===null?nt=[e]:nt.push(e)}function mf(e){gl=!0,da(e)}function zt(){if(!Kl&&nt!==null){Kl=!0;var e=0,t=B;try{var n=nt;for(B=1;e>=s,l-=s,rt=1<<32-Ye(t)+l|n<L?(U=P,P=null):U=P.sibling;var D=h(f,P,p[L],g);if(D===null){P===null&&(P=U);break}e&&P&&D.alternate===null&&t(f,P),c=i(D,c,L),T===null?N=D:T.sibling=D,T=D,P=U}if(L===p.length)return n(f,P),Q&&Rt(f,L),N;if(P===null){for(;LL?(U=P,P=null):U=P.sibling;var J=h(f,P,D.value,g);if(J===null){P===null&&(P=U);break}e&&P&&J.alternate===null&&t(f,P),c=i(J,c,L),T===null?N=J:T.sibling=J,T=J,P=U}if(D.done)return n(f,P),Q&&Rt(f,L),N;if(P===null){for(;!D.done;L++,D=p.next())D=m(f,D.value,g),D!==null&&(c=i(D,c,L),T===null?N=D:T.sibling=D,T=D);return Q&&Rt(f,L),N}for(P=r(f,P);!D.done;L++,D=p.next())D=w(P,f,L,D.value,g),D!==null&&(e&&D.alternate!==null&&P.delete(D.key===null?L:D.key),c=i(D,c,L),T===null?N=D:T.sibling=D,T=D);return e&&P.forEach(function(je){return t(f,je)}),Q&&Rt(f,L),N}function j(f,c,p,g){if(typeof p=="object"&&p!==null&&p.type===Gt&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case hr:e:{for(var N=p.key,T=c;T!==null;){if(T.key===N){if(N=p.type,N===Gt){if(T.tag===7){n(f,T.sibling),c=l(T,p.props.children),c.return=f,f=c;break e}}else if(T.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===ft&&_o(N)===T.type){n(f,T.sibling),c=l(T,p.props),c.ref=Pn(f,T,p),c.return=f,f=c;break e}n(f,T);break}else t(f,T);T=T.sibling}p.type===Gt?(c=Ut(p.props.children,f.mode,g,p.key),c.return=f,f=c):(g=Br(p.type,p.key,p.props,null,f.mode,g),g.ref=Pn(f,c,p),g.return=f,f=g)}return s(f);case Xt:e:{for(T=p.key;c!==null;){if(c.key===T)if(c.tag===4&&c.stateNode.containerInfo===p.containerInfo&&c.stateNode.implementation===p.implementation){n(f,c.sibling),c=l(c,p.children||[]),c.return=f,f=c;break e}else{n(f,c);break}else t(f,c);c=c.sibling}c=ei(p,f.mode,g),c.return=f,f=c}return s(f);case ft:return T=p._init,j(f,c,T(p._payload),g)}if(Rn(p))return x(f,c,p,g);if(Cn(p))return S(f,c,p,g);jr(f,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,c!==null&&c.tag===6?(n(f,c.sibling),c=l(c,p),c.return=f,f=c):(n(f,c),c=bl(p,f.mode,g),c.return=f,f=c),s(f)):n(f,c)}return j}var vn=ma(!0),va=ma(!1),tl=Tt(null),nl=null,rn=null,gs=null;function ws(){gs=rn=nl=null}function xs(e){var t=tl.current;W(tl),e._currentValue=t}function Ri(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function dn(e,t){nl=e,gs=rn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Se=!0),e.firstContext=null)}function Fe(e){var t=e._currentValue;if(gs!==e)if(e={context:e,memoizedValue:t,next:null},rn===null){if(nl===null)throw Error(C(308));rn=e,nl.dependencies={lanes:0,firstContext:e}}else rn=rn.next=e;return t}var Mt=null;function Ss(e){Mt===null?Mt=[e]:Mt.push(e)}function ya(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Ss(t)):(n.next=l.next,l.next=n),t.interleaved=n,ut(e,r)}function ut(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var pt=!1;function ks(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ga(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function it(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function kt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,F&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,ut(e,n)}return l=r.interleaved,l===null?(t.next=t,Ss(r)):(t.next=l.next,l.next=t),r.interleaved=t,ut(e,n)}function Mr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,os(e,n)}}function Po(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=s:i=i.next=s,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function rl(e,t,n,r){var l=e.updateQueue;pt=!1;var i=l.firstBaseUpdate,s=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var a=u,d=a.next;a.next=null,s===null?i=d:s.next=d,s=a;var v=e.alternate;v!==null&&(v=v.updateQueue,u=v.lastBaseUpdate,u!==s&&(u===null?v.firstBaseUpdate=d:u.next=d,v.lastBaseUpdate=a))}if(i!==null){var m=l.baseState;s=0,v=d=a=null,u=i;do{var h=u.lane,w=u.eventTime;if((r&h)===h){v!==null&&(v=v.next={eventTime:w,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var x=e,S=u;switch(h=t,w=n,S.tag){case 1:if(x=S.payload,typeof x=="function"){m=x.call(w,m,h);break e}m=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=S.payload,h=typeof x=="function"?x.call(w,m,h):x,h==null)break e;m=X({},m,h);break e;case 2:pt=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,h=l.effects,h===null?l.effects=[u]:h.push(u))}else w={eventTime:w,lane:h,tag:u.tag,payload:u.payload,callback:u.callback,next:null},v===null?(d=v=w,a=m):v=v.next=w,s|=h;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;h=u,u=h.next,h.next=null,l.lastBaseUpdate=h,l.shared.pending=null}}while(!0);if(v===null&&(a=m),l.baseState=a,l.firstBaseUpdate=d,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do s|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ht|=s,e.lanes=s,e.memoizedState=m}}function To(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Xl.transition;Xl.transition={};try{e(!1),t()}finally{B=n,Xl.transition=r}}function Ma(){return Ie().memoizedState}function wf(e,t,n){var r=Nt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},$a(e))Fa(t,n);else if(n=ya(e,t,n,r),n!==null){var l=pe();Xe(n,e,r,l),Ia(n,t,r)}}function xf(e,t,n){var r=Nt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if($a(e))Fa(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,u=i(s,n);if(l.hasEagerState=!0,l.eagerState=u,Ge(u,s)){var a=t.interleaved;a===null?(l.next=l,Ss(t)):(l.next=a.next,a.next=l),t.interleaved=l;return}}catch{}finally{}n=ya(e,t,l,r),n!==null&&(l=pe(),Xe(n,e,r,l),Ia(n,t,r))}}function $a(e){var t=e.alternate;return e===Y||t!==null&&t===Y}function Fa(e,t){Bn=il=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ia(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,os(e,n)}}var sl={readContext:Fe,useCallback:oe,useContext:oe,useEffect:oe,useImperativeHandle:oe,useInsertionEffect:oe,useLayoutEffect:oe,useMemo:oe,useReducer:oe,useRef:oe,useState:oe,useDebugValue:oe,useDeferredValue:oe,useTransition:oe,useMutableSource:oe,useSyncExternalStore:oe,useId:oe,unstable_isNewReconciler:!1},Sf={readContext:Fe,useCallback:function(e,t){return Ze().memoizedState=[e,t===void 0?null:t],e},useContext:Fe,useEffect:Lo,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Fr(4194308,4,za.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Fr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Fr(4,2,e,t)},useMemo:function(e,t){var n=Ze();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ze();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=wf.bind(null,Y,e),[r.memoizedState,e]},useRef:function(e){var t=Ze();return e={current:e},t.memoizedState=e},useState:zo,useDebugValue:zs,useDeferredValue:function(e){return Ze().memoizedState=e},useTransition:function(){var e=zo(!1),t=e[0];return e=gf.bind(null,e[1]),Ze().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Y,l=Ze();if(Q){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ne===null)throw Error(C(349));Vt&30||ka(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Lo(Na.bind(null,r,i,e),[e]),r.flags|=2048,sr(9,Ca.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ze(),t=ne.identifierPrefix;if(Q){var n=lt,r=rt;n=(r&~(1<<32-Ye(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=lr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[qe]=t,e[tr]=r,Xa(e,t,!1,!1),t.stateNode=e;e:{switch(s=hi(n,r),n){case"dialog":H("cancel",e),H("close",e),l=r;break;case"iframe":case"object":case"embed":H("load",e),l=r;break;case"video":case"audio":for(l=0;lwn&&(t.flags|=128,r=!0,Tn(i,!1),t.lanes=4194304)}else{if(!r)if(e=ll(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Tn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Q)return ue(t),null}else 2*Z()-i.renderingStartTime>wn&&n!==1073741824&&(t.flags|=128,r=!0,Tn(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(n=i.last,n!==null?n.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Z(),t.sibling=null,n=K.current,V(K,r?n&1|2:n&1),t):(ue(t),null);case 22:case 23:return $s(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ee&1073741824&&(ue(t),t.subtreeFlags&6&&(t.flags|=8192)):ue(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Tf(e,t){switch(vs(t),t.tag){case 1:return Ce(t.type)&&Zr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return yn(),W(ke),W(ce),js(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ns(t),null;case 13:if(W(K),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));mn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return W(K),null;case 4:return yn(),null;case 10:return xs(t.type._context),null;case 22:case 23:return $s(),null;case 24:return null;default:return null}}var _r=!1,ae=!1,zf=typeof WeakSet=="function"?WeakSet:Set,z=null;function ln(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){G(e,t,r)}else n.current=null}function Bi(e,t,n){try{n()}catch(r){G(e,t,r)}}var Vo=!1;function Lf(e,t){if(Ni=Yr,e=ta(),hs(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var s=0,u=-1,a=-1,d=0,v=0,m=e,h=null;t:for(;;){for(var w;m!==n||l!==0&&m.nodeType!==3||(u=s+l),m!==i||r!==0&&m.nodeType!==3||(a=s+r),m.nodeType===3&&(s+=m.nodeValue.length),(w=m.firstChild)!==null;)h=m,m=w;for(;;){if(m===e)break t;if(h===n&&++d===l&&(u=s),h===i&&++v===r&&(a=s),(w=m.nextSibling)!==null)break;m=h,h=m.parentNode}m=w}n=u===-1||a===-1?null:{start:u,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(ji={focusedElem:e,selectionRange:n},Yr=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var S=x.memoizedProps,j=x.memoizedState,f=t.stateNode,c=f.getSnapshotBeforeUpdate(t.elementType===t.type?S:We(t.type,S),j);f.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(g){G(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return x=Vo,Vo=!1,x}function Vn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Bi(t,n,i)}l=l.next}while(l!==r)}}function Sl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Vi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Za(e){var t=e.alternate;t!==null&&(e.alternate=null,Za(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[qe],delete t[tr],delete t[Pi],delete t[pf],delete t[hf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function qa(e){return e.tag===5||e.tag===3||e.tag===4}function Ho(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||qa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Jr));else if(r!==4&&(e=e.child,e!==null))for(Hi(e,t,n),e=e.sibling;e!==null;)Hi(e,t,n),e=e.sibling}function Wi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Wi(e,t,n),e=e.sibling;e!==null;)Wi(e,t,n),e=e.sibling}var re=null,Qe=!1;function dt(e,t,n){for(n=n.child;n!==null;)ba(e,t,n),n=n.sibling}function ba(e,t,n){if(be&&typeof be.onCommitFiberUnmount=="function")try{be.onCommitFiberUnmount(pl,n)}catch{}switch(n.tag){case 5:ae||ln(n,t);case 6:var r=re,l=Qe;re=null,dt(e,t,n),re=r,Qe=l,re!==null&&(Qe?(e=re,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):re.removeChild(n.stateNode));break;case 18:re!==null&&(Qe?(e=re,n=n.stateNode,e.nodeType===8?Ql(e.parentNode,n):e.nodeType===1&&Ql(e,n),Jn(e)):Ql(re,n.stateNode));break;case 4:r=re,l=Qe,re=n.stateNode.containerInfo,Qe=!0,dt(e,t,n),re=r,Qe=l;break;case 0:case 11:case 14:case 15:if(!ae&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&Bi(n,t,s),l=l.next}while(l!==r)}dt(e,t,n);break;case 1:if(!ae&&(ln(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){G(n,t,u)}dt(e,t,n);break;case 21:dt(e,t,n);break;case 22:n.mode&1?(ae=(r=ae)||n.memoizedState!==null,dt(e,t,n),ae=r):dt(e,t,n);break;default:dt(e,t,n)}}function Wo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new zf),t.forEach(function(r){var l=Af.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function He(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=s),r&=~i}if(r=l,r=Z()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Of(r/1960))-r,10e?16:e,yt===null)var r=!1;else{if(e=yt,yt=null,al=0,F&6)throw Error(C(331));var l=F;for(F|=4,z=e.current;z!==null;){var i=z,s=i.child;if(z.flags&16){var u=i.deletions;if(u!==null){for(var a=0;aZ()-Ds?It(e,0):Os|=n),Ne(e,t)}function oc(e,t){t===0&&(e.mode&1?(t=gr,gr<<=1,!(gr&130023424)&&(gr=4194304)):t=1);var n=pe();e=ut(e,t),e!==null&&(ar(e,t,n),Ne(e,n))}function Uf(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),oc(e,n)}function Af(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(C(314))}r!==null&&r.delete(t),oc(e,n)}var uc;uc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ke.current)Se=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Se=!1,_f(e,t,n);Se=!!(e.flags&131072)}else Se=!1,Q&&t.flags&1048576&&fa(t,el,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ir(e,t),e=t.pendingProps;var l=hn(t,ce.current);dn(t,n),l=_s(null,t,r,e,l,n);var i=Ps();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ce(r)?(i=!0,qr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,ks(t),l.updater=xl,t.stateNode=l,l._reactInternals=t,Di(t,r,e,n),t=Fi(null,t,r,!0,i,n)):(t.tag=0,Q&&i&&ms(t),fe(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ir(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Vf(r),e=We(r,e),l){case 0:t=$i(null,t,r,e,n);break e;case 1:t=Uo(null,t,r,e,n);break e;case 11:t=Fo(null,t,r,e,n);break e;case 14:t=Io(null,t,r,We(r.type,e),n);break e}throw Error(C(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),$i(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),Uo(e,t,r,l,n);case 3:e:{if(Qa(t),e===null)throw Error(C(387));r=t.pendingProps,i=t.memoizedState,l=i.element,ga(e,t),rl(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=gn(Error(C(423)),t),t=Ao(e,t,r,n,l);break e}else if(r!==l){l=gn(Error(C(424)),t),t=Ao(e,t,r,n,l);break e}else for(_e=St(t.stateNode.containerInfo.firstChild),Pe=t,Q=!0,Ke=null,n=va(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(mn(),r===l){t=at(e,t,n);break e}fe(e,t,r,n)}t=t.child}return t;case 5:return wa(t),e===null&&Li(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,s=l.children,Ei(r,l)?s=null:i!==null&&Ei(r,i)&&(t.flags|=32),Wa(e,t),fe(e,t,s,n),t.child;case 6:return e===null&&Li(t),null;case 13:return Ka(e,t,n);case 4:return Cs(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=vn(t,null,r,n):fe(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),Fo(e,t,r,l,n);case 7:return fe(e,t,t.pendingProps,n),t.child;case 8:return fe(e,t,t.pendingProps.children,n),t.child;case 12:return fe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,s=l.value,V(tl,r._currentValue),r._currentValue=s,i!==null)if(Ge(i.value,s)){if(i.children===l.children&&!ke.current){t=at(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var u=i.dependencies;if(u!==null){s=i.child;for(var a=u.firstContext;a!==null;){if(a.context===r){if(i.tag===1){a=it(-1,n&-n),a.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var v=d.pending;v===null?a.next=a:(a.next=v.next,v.next=a),d.pending=a}}i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),Ri(i.return,n,t),u.lanes|=n;break}a=a.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(C(341));s.lanes|=n,u=s.alternate,u!==null&&(u.lanes|=n),Ri(s,n,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}fe(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,dn(t,n),l=Fe(l),r=r(l),t.flags|=1,fe(e,t,r,n),t.child;case 14:return r=t.type,l=We(r,t.pendingProps),l=We(r.type,l),Io(e,t,r,l,n);case 15:return Va(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),Ir(e,t),t.tag=1,Ce(r)?(e=!0,qr(t)):e=!1,dn(t,n),Ua(t,r,l),Di(t,r,l,n),Fi(null,t,r,!0,e,n);case 19:return Ya(e,t,n);case 22:return Ha(e,t,n)}throw Error(C(156,t.tag))};function ac(e,t){return $u(e,t)}function Bf(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Me(e,t,n,r){return new Bf(e,t,n,r)}function Is(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Vf(e){if(typeof e=="function")return Is(e)?1:0;if(e!=null){if(e=e.$$typeof,e===rs)return 11;if(e===ls)return 14}return 2}function jt(e,t){var n=e.alternate;return n===null?(n=Me(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Br(e,t,n,r,l,i){var s=2;if(r=e,typeof e=="function")Is(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Gt:return Ut(n.children,l,i,t);case ns:s=8,l|=8;break;case li:return e=Me(12,n,t,l|2),e.elementType=li,e.lanes=i,e;case ii:return e=Me(13,n,t,l),e.elementType=ii,e.lanes=i,e;case si:return e=Me(19,n,t,l),e.elementType=si,e.lanes=i,e;case wu:return Cl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case yu:s=10;break e;case gu:s=9;break e;case rs:s=11;break e;case ls:s=14;break e;case ft:s=16,r=null;break e}throw Error(C(130,e==null?e:typeof e,""))}return t=Me(s,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Ut(e,t,n,r){return e=Me(7,e,r,t),e.lanes=n,e}function Cl(e,t,n,r){return e=Me(22,e,r,t),e.elementType=wu,e.lanes=n,e.stateNode={isHidden:!1},e}function bl(e,t,n){return e=Me(6,e,null,t),e.lanes=n,e}function ei(e,t,n){return t=Me(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Hf(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Dl(0),this.expirationTimes=Dl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Dl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Us(e,t,n,r,l,i,s,u,a){return e=new Hf(e,t,n,u,a),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Me(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ks(i),e}function Wf(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(pc)}catch(e){console.error(e)}}pc(),pu.exports=ze;var Gf=pu.exports,hc,qo=Gf;hc=qo.createRoot,qo.hydrateRoot;async function ve(e){const t=await fetch(e);if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.json()}async function Jf(){return ve("/api/archives")}async function Zf(e){return ve(`/api/archives/${e}/entries`)}async function qf(e,t,n){const r=new URLSearchParams;return t&&r.set("q",t),n&&r.set("tag",n),ve(`/api/archives/${e}/entries/search?${r}`)}async function bf(e,t){return ve(`/api/archives/${e}/entries/${t}`)}async function ti(e,t){return ve(`/api/archives/${e}/entries/${t}/tags`)}async function ep(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag_path:n})});if(!r.ok)throw new Error(`Failed to add tag (${r.status})`)}async function tp(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Remove failed (${r.status})`)}async function bo(e){return ve(`/api/archives/${e}/runs`)}async function ni(e){return ve(`/api/archives/${e}/tags`)}async function np(e,t){const n=await fetch(`/api/archives/${e}/captures`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locator:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function rp(e,t){return ve(`/api/archives/${e}/capture_jobs/${t}`)}async function lp(){return(await(await fetch("/api/auth/setup")).json()).setup_required===!0}async function ip(e,t){const n=await fetch("/api/auth/setup",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Setup failed");return n.json()}async function sp(e,t){const n=await fetch("/api/auth/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Login failed");return n.json()}async function op(){await fetch("/api/auth/logout",{method:"POST"})}async function up(){const e=await fetch("/api/auth/me");return e.status===401?null:e.json()}async function ap(e){const t=await fetch("/api/auth/me",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({display_name:e})});if(!t.ok)throw new Error(await t.text())}async function cp(e,t){const n=await fetch("/api/auth/me",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({current_password:e,new_password:t})});if(!n.ok){let r=await n.text();try{r=JSON.parse(r).error??r}catch{}throw new Error(r)}}async function dp(){return ve("/api/auth/tokens")}async function fp(e){const t=await fetch("/api/auth/tokens",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});if(!t.ok)throw new Error(await t.text());return t.json()}async function pp(e){const t=await fetch(`/api/auth/tokens/${e}`,{method:"DELETE"});if(!t.ok)throw new Error(await t.text())}async function hp(){return ve("/api/admin/instance-settings")}async function mp(e){const t=await fetch("/api/admin/instance-settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(await t.text())}async function vp(){return ve("/api/admin/users")}async function yp(e,t,n){const r=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t,email:n||void 0})});if(!r.ok){const l=await r.json().catch(()=>({}));throw new Error(l.error||`HTTP ${r.status}`)}return r.json()}async function gp(e,t){const n=await fetch(`/api/admin/users/${e}/status`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function wp(){return ve("/api/admin/roles")}async function xp(e,t){const n=await fetch("/api/admin/roles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e,name:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function Sp(e){return ve(`/api/archives/${e}/collections`)}async function kp(e,t,n,r=2){const l=await fetch(`/api/archives/${e}/collections`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:t,slug:n,default_visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}return l.json()}async function Cp(e,t){return ve(`/api/archives/${e}/collections/${t}`)}async function Np(e,t,n,r=2){const l=await fetch(`/api/archives/${e}/collections/${t}/entries`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({entry_uid:n,visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}}async function jp(e,t,n){const r=await fetch(`/api/archives/${e}/collections/${t}/entries/${n}`,{method:"DELETE"});if(!r.ok){const l=await r.json().catch(()=>({error:r.statusText}));throw new Error(l.error||r.statusText)}}async function Ep(e,t,n,r){const l=await fetch(`/api/archives/${e}/collections/${t}/entries/${n}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}}async function _p(e,t){return ve(`/api/archives/${e}/entries/${t}/collections`)}async function eu(e,t,n){const r=await fetch(`/api/archives/${e}/collections/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok){const l=await r.json().catch(()=>({}));throw new Error(l.error??r.statusText)}}async function Pp(e,t){const n=await fetch(`/api/archives/${e}/collections/${t}`,{method:"DELETE"});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error??n.statusText)}}const Tp=window.fetch;window.fetch=async(...e)=>{var n;const t=await Tp(...e);return t.status===401&&((typeof e[0]=="string"?e[0]:((n=e[0])==null?void 0:n.url)??"").includes("/api/auth/")||window.dispatchEvent(new CustomEvent("auth:expired"))),t};function zp({onLogin:e}){const[t,n]=y.useState(""),[r,l]=y.useState(""),[i,s]=y.useState(null),[u,a]=y.useState(!1);async function d(v){v.preventDefault(),s(null),a(!0);try{const m=await sp(t,r);e(m)}catch(m){s(m.message)}finally{a(!1)}}return o.jsxs("div",{className:"login-page",children:[o.jsx("h1",{children:"Archivr"}),o.jsxs("form",{onSubmit:d,children:[o.jsxs("label",{children:["Username",o.jsx("input",{type:"text",value:t,onChange:v=>n(v.target.value),autoFocus:!0,required:!0})]}),o.jsxs("label",{children:["Password",o.jsx("input",{type:"password",value:r,onChange:v=>l(v.target.value),required:!0})]}),i&&o.jsx("p",{className:"error",children:i}),o.jsx("button",{type:"submit",disabled:u,children:u?"Logging in…":"Log in"})]})]})}function Lp({onComplete:e}){const[t,n]=y.useState(""),[r,l]=y.useState(""),[i,s]=y.useState(""),[u,a]=y.useState(null),[d,v]=y.useState(!1);async function m(h){if(h.preventDefault(),r!==i){a("Passwords do not match");return}if(r.length<8){a("Password must be at least 8 characters");return}a(null),v(!0);try{await ip(t,r),e()}catch(w){a(w.message)}finally{v(!1)}}return o.jsxs("div",{className:"setup-page",children:[o.jsx("h1",{children:"Welcome to Archivr"}),o.jsx("p",{children:"Create your owner account to get started."}),o.jsxs("form",{onSubmit:m,children:[o.jsxs("label",{children:["Username",o.jsx("input",{type:"text",value:t,onChange:h=>n(h.target.value),autoFocus:!0,required:!0})]}),o.jsxs("label",{children:["Password",o.jsx("input",{type:"password",value:r,onChange:h=>l(h.target.value),required:!0})]}),o.jsxs("label",{children:["Confirm password",o.jsx("input",{type:"password",value:i,onChange:h=>s(h.target.value),required:!0})]}),u&&o.jsx("p",{className:"error",children:u}),o.jsx("button",{type:"submit",disabled:d,children:d?"Creating account…":"Create account"})]})]})}function Rp({archives:e,archiveId:t,onArchiveChange:n,view:r,onViewChange:l,onCaptureClick:i}){const{currentUser:s,setCurrentUser:u}=y.useContext(Pl)??{},[a,d]=y.useState(!1);async function v(){d(!0),await op(),u(null),window.location.reload()}return o.jsxs("header",{className:"topbar",children:[o.jsx("div",{className:"brand",children:"Archivr"}),o.jsx("select",{className:"archive-switcher","aria-label":"Select archive",value:t??"",onChange:m=>n(m.target.value),children:e.map(m=>o.jsx("option",{value:m.id,children:m.label},m.id))}),o.jsx("nav",{className:"nav","aria-label":"Primary",children:["archive","runs","admin","tags","collections","settings"].map(m=>o.jsx("button",{className:`nav-link${r===m?" is-active":""}`,onClick:()=>l(m),children:m.charAt(0).toUpperCase()+m.slice(1)},m))}),o.jsx("button",{className:"capture-button",onClick:i,children:"+ Capture"}),s&&o.jsxs("div",{className:"user-menu",children:[o.jsx("span",{className:"username",children:s.display_name||s.username}),o.jsx("button",{className:"nav-link",onClick:()=>l("settings"),style:{color:"#d7cdbf",fontSize:13},children:"Settings"}),o.jsx("button",{onClick:v,disabled:a,className:"logout-btn",children:a?"Logging out…":"Log out"})]})]})}function Op({open:e,archiveId:t,onClose:n,onCaptured:r}){const l=y.useRef(null),[i,s]=y.useState(""),[u,a]=y.useState(null),[d,v]=y.useState(!1),[m,h]=y.useState(null),w=y.useRef(null);y.useEffect(()=>{const j=l.current;if(!j)return;const f=()=>{clearInterval(w.current),n()};return j.addEventListener("close",f),()=>j.removeEventListener("close",f)},[n]),y.useEffect(()=>{const j=l.current;j&&(e?(s(""),a(null),h(null),v(!1),clearInterval(w.current),j.open||j.showModal()):j.open&&j.close())},[e]);async function x(){if(!i.trim()){a("Enter a locator.");return}v(!0),a(null),h(null);try{const j=await np(t,i.trim());h("running"),w.current=setInterval(async()=>{var f;try{const c=await rp(t,j.job_uid);c.status==="completed"?(clearInterval(w.current),w.current=null,v(!1),h("completed"),(f=l.current)==null||f.close(),r()):c.status==="failed"&&(clearInterval(w.current),w.current=null,v(!1),h("failed"),a(c.error_text||"Capture failed."))}catch(c){clearInterval(w.current),w.current=null,v(!1),a(c.message)}},500)}catch(j){a(j.message),v(!1)}}function S(){return d?m==="running"?"Running…":"Capturing…":"Capture"}return o.jsx("dialog",{ref:l,className:"capture-dialog",children:o.jsxs("div",{className:"capture-dialog-inner",children:[o.jsx("h2",{className:"capture-dialog-title",children:"Capture"}),o.jsx("label",{htmlFor:"capture-locator",className:"capture-label",children:"Locator"}),o.jsx("input",{id:"capture-locator",className:"capture-input",type:"text",placeholder:"tweet:1234567890 or https://...",value:i,onChange:j=>s(j.target.value),onKeyDown:j=>{j.key==="Enter"&&x()},autoComplete:"off"}),u&&o.jsx("div",{className:"capture-error",children:u}),o.jsxs("div",{className:"capture-actions",children:[o.jsx("button",{type:"button",className:"capture-cancel",onClick:()=>{var j;return(j=l.current)==null?void 0:j.close()},children:"Cancel"}),o.jsx("button",{type:"button",className:"capture-submit",onClick:x,disabled:d,children:S()})]})]})})}function mc(e){if(!e)return"0 B";const t=["B","KB","MB","GB"];let n=e,r=0;for(;n>=1024&&rString(r).padStart(2,"0");return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())}`}const tu={youtube:'',x:'',instagram:'',facebook:'',tiktok:'',reddit:'',snapchat:'',local:'',web:'',other:'?'};function Dp(e){return tu[e]??tu.other}function Mp({entry:e,archiveId:t,isSelected:n,onSelect:r}){const[l,i]=y.useState(!1),u=e.source_kind==="web"&&e.entity_kind==="page"&&e.has_favicon&&t&&!l?o.jsx("img",{src:`/api/archives/${t}/entries/${e.entry_uid}/favicon`,width:"16",height:"16",alt:"",onError:()=>i(!0),style:{objectFit:"contain"}}):o.jsx("span",{dangerouslySetInnerHTML:{__html:Dp(e.source_kind)}});return o.jsxs("div",{className:n?"is-selected":void 0,tabIndex:0,"data-entry-uid":e.entry_uid,onClick:r,onKeyDown:a=>{a.key==="Enter"&&r()},children:[o.jsx("div",{className:"col-added",children:vc(e.archived_at)}),o.jsxs("div",{className:"col-title",children:[o.jsx("span",{className:"source-icon",children:u}),o.jsx("span",{className:"entry-title",children:Ft(e.title)||Ft(e.entry_uid)})]}),o.jsx("div",{className:"col-type",children:o.jsx("span",{className:"type-pill",children:Ft(e.entity_kind)})}),o.jsx("div",{className:"col-size",children:mc(e.total_artifact_bytes)}),o.jsx("div",{className:"url-cell col-url",children:Ft(e.original_url)})]})}function $p({entries:e,selectedEntryUid:t,onSelectEntry:n,archiveId:r}){return o.jsx("section",{id:"archive-view",className:"view is-active",children:o.jsxs("div",{className:"entry-table",children:[o.jsxs("div",{className:"entry-header-row",children:[o.jsx("div",{className:"col-added",children:"Added"}),o.jsx("div",{className:"col-title",children:"Title"}),o.jsx("div",{className:"col-type",children:"Type"}),o.jsx("div",{className:"col-size",children:"Size"}),o.jsx("div",{className:"col-url",children:"Original URL"})]}),o.jsx("div",{id:"entries-body",children:e.map(l=>o.jsx(Mp,{entry:l,archiveId:r,isSelected:l.entry_uid===t,onSelect:()=>n(l)},l.entry_uid))})]})})}function Fp({runs:e}){return o.jsx("section",{id:"runs-view",className:"view is-active",children:o.jsxs("table",{className:"entry-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Started"}),o.jsx("th",{children:"Status"}),o.jsx("th",{children:"Requested"}),o.jsx("th",{children:"Completed"}),o.jsx("th",{children:"Failed"})]})}),o.jsx("tbody",{children:e.map((t,n)=>o.jsxs("tr",{children:[o.jsx("td",{children:t.started_at??""}),o.jsx("td",{children:t.status??""}),o.jsx("td",{children:t.requested_count??""}),o.jsx("td",{children:t.completed_count??""}),o.jsx("td",{children:t.failed_count??""})]},n))})]})})}const Ip=4;function Up({archives:e}){const{currentUser:t}=y.useContext(Pl)??{},n=t&&(t.role_bits&Ip)!==0,[r,l]=y.useState("users"),[i,s]=y.useState([]),[u,a]=y.useState([]),[d,v]=y.useState(!1),[m,h]=y.useState(null),[w,x]=y.useState(""),[S,j]=y.useState(""),[f,c]=y.useState(""),[p,g]=y.useState(null),[N,T]=y.useState(!1),[P,L]=y.useState(""),[U,D]=y.useState(""),[J,je]=y.useState(null),[ye,ge]=y.useState(!1),Ue=y.useCallback(async()=>{if(n){v(!0),h(null);try{const[k,R]=await Promise.all([vp(),wp()]);s(k),a(R)}catch(k){h(k.message)}finally{v(!1)}}},[n]);y.useEffect(()=>{Ue()},[Ue]);async function Ae(k){const R=k.status==="active"?"disabled":"active";try{await gp(k.user_uid,R),s(A=>A.map(O=>O.user_uid===k.user_uid?{...O,status:R}:O))}catch(A){h(A.message)}}async function Be(k){if(k.preventDefault(),!w.trim()||!S){g("Username and password required");return}T(!0),g(null);try{await yp(w.trim(),S,f.trim()||void 0),x(""),j(""),c(""),await Ue()}catch(R){g(R.message)}finally{T(!1)}}async function E(k){if(k.preventDefault(),!P.trim()||!U.trim()){je("Slug and name required");return}ge(!0),je(null);try{await xp(P.trim(),U.trim()),L(""),D(""),await Ue()}catch(R){je(R.message)}finally{ge(!1)}}return n?o.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[o.jsx("h1",{children:"Admin"}),o.jsxs("div",{className:"admin-tabs",children:[o.jsx("button",{className:`admin-tab${r==="users"?" is-active":""}`,onClick:()=>l("users"),children:"Users"}),o.jsx("button",{className:`admin-tab${r==="roles"?" is-active":""}`,onClick:()=>l("roles"),children:"Roles"}),o.jsx("button",{className:`admin-tab${r==="archives"?" is-active":""}`,onClick:()=>l("archives"),children:"Archives"})]}),m&&o.jsx("div",{className:"capture-error",children:m}),r==="users"&&o.jsxs("div",{className:"admin-section",children:[o.jsx("h2",{children:"Users"}),d?o.jsx("p",{className:"muted",children:"Loading…"}):o.jsxs("table",{className:"admin-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Username"}),o.jsx("th",{children:"Email"}),o.jsx("th",{children:"Roles"}),o.jsx("th",{children:"Status"}),o.jsx("th",{children:"Actions"})]})}),o.jsx("tbody",{children:i.map(k=>o.jsxs("tr",{className:k.status==="disabled"?"admin-row-disabled":"",children:[o.jsx("td",{children:k.username}),o.jsx("td",{className:"muted",children:k.email||"—"}),o.jsx("td",{children:k.role_slugs.join(", ")||"—"}),o.jsx("td",{children:o.jsx("span",{className:`status-badge status-${k.status}`,children:k.status})}),o.jsx("td",{children:o.jsx("button",{className:"admin-action-btn",onClick:()=>Ae(k),children:k.status==="active"?"Ban":"Unban"})})]},k.user_uid))})]}),o.jsx("h3",{children:"Create User"}),o.jsxs("form",{className:"admin-form",onSubmit:Be,children:[o.jsx("input",{className:"admin-input",placeholder:"Username",value:w,onChange:k=>x(k.target.value),required:!0}),o.jsx("input",{className:"admin-input",type:"password",placeholder:"Password (min 8 chars)",value:S,onChange:k=>j(k.target.value),required:!0}),o.jsx("input",{className:"admin-input",type:"email",placeholder:"Email (optional)",value:f,onChange:k=>c(k.target.value)}),p&&o.jsx("div",{className:"capture-error",children:p}),o.jsx("button",{className:"capture-submit",type:"submit",disabled:N,children:N?"Creating…":"Create User"})]})]}),r==="roles"&&o.jsxs("div",{className:"admin-section",children:[o.jsx("h2",{children:"Roles"}),d?o.jsx("p",{className:"muted",children:"Loading…"}):o.jsxs("table",{className:"admin-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Slug"}),o.jsx("th",{children:"Name"}),o.jsx("th",{children:"Level"}),o.jsx("th",{children:"Bit"}),o.jsx("th",{children:"Built-in"})]})}),o.jsx("tbody",{children:u.map(k=>o.jsxs("tr",{children:[o.jsx("td",{children:o.jsx("code",{children:k.slug})}),o.jsx("td",{children:k.name}),o.jsx("td",{children:k.level}),o.jsx("td",{children:k.bit_position}),o.jsx("td",{children:k.is_builtin?"✓":""})]},k.role_uid))})]}),o.jsx("h3",{children:"Create Custom Role"}),o.jsxs("form",{className:"admin-form",onSubmit:E,children:[o.jsx("input",{className:"admin-input",placeholder:"Slug (e.g. moderator)",value:P,onChange:k=>L(k.target.value),required:!0}),o.jsx("input",{className:"admin-input",placeholder:"Display Name (e.g. Moderator)",value:U,onChange:k=>D(k.target.value),required:!0}),J&&o.jsx("div",{className:"capture-error",children:J}),o.jsx("button",{className:"capture-submit",type:"submit",disabled:ye,children:ye?"Creating…":"Create Role"})]})]}),r==="archives"&&o.jsxs("div",{className:"admin-section",children:[o.jsx("h2",{children:"Mounted Archives"}),o.jsx("div",{className:"admin-list",children:e.map(k=>o.jsxs("div",{className:"admin-archive",children:[o.jsx("strong",{children:k.label}),o.jsx("div",{className:"muted",children:k.archive_path})]},k.id))})]})]}):o.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[o.jsx("h1",{children:"Admin"}),o.jsx("p",{className:"muted",children:"You need admin privileges to access this panel."}),o.jsx("h2",{children:"Mounted Archives"}),o.jsx("div",{className:"admin-list",children:e.map(k=>o.jsxs("div",{className:"admin-archive",children:[o.jsx("strong",{children:k.label}),o.jsx("div",{className:"muted",children:k.archive_path})]},k.id))})]})}function yc({node:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){var s;const l=t===e.tag.full_path;function i(){const u=l?null:e.tag.full_path;n(u),r("archive")}return o.jsxs("li",{children:[o.jsx("button",{className:`tag-node-btn${l?" is-active":""}`,title:e.tag.full_path,onClick:i,children:e.tag.name}),((s=e.children)==null?void 0:s.length)>0&&o.jsx("div",{className:"tag-children",children:o.jsx("ul",{className:"tag-tree-list",children:e.children.map(u=>o.jsx(yc,{node:u,tagFilter:t,onTagFilterSet:n,onViewChange:r},u.tag.tag_uid))})})]})}function Ap({tagNodes:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){return o.jsx("section",{id:"tags-view",className:"view is-active",children:o.jsx("div",{className:"tag-tree",children:e.length===0?o.jsx("div",{children:"No tags yet."}):o.jsx("ul",{className:"tag-tree-list",children:e.map(l=>o.jsx(yc,{node:l,tagFilter:t,onTagFilterSet:n,onViewChange:r},l.tag.tag_uid))})})})}const Mn=[{value:0,label:"Private"},{value:2,label:"Users only"},{value:3,label:"Public"}],Bp=e=>{var t;return((t=Mn.find(n=>n.value===e))==null?void 0:t.label)??String(e)};function Vp({archiveId:e}){const[t,n]=y.useState([]),[r,l]=y.useState(!1),[i,s]=y.useState(null),[u,a]=y.useState(null),[d,v]=y.useState(null),[m,h]=y.useState(!1),[w,x]=y.useState(null),[S,j]=y.useState(""),[f,c]=y.useState(""),[p,g]=y.useState(2),[N,T]=y.useState(!1),[P,L]=y.useState(null),[U,D]=y.useState(""),[J,je]=y.useState(2),[ye,ge]=y.useState(!1),[Ue,Ae]=y.useState(null),[Be,E]=y.useState(!1),[k,R]=y.useState(""),A=y.useRef(null),O=t.find(_=>_.collection_uid===u)??null,de=(O==null?void 0:O.slug)==="_default_",M=y.useCallback(async()=>{if(e){l(!0),s(null);try{const _=await Sp(e);n(_)}catch(_){s(_.message)}finally{l(!1)}}},[e]),se=y.useCallback(async _=>{if(!_){v(null);return}h(!0),x(null);try{const I=await Cp(e,_);v(I)}catch(I){x(I.message)}finally{h(!1)}},[e]);y.useEffect(()=>{M()},[M]),y.useEffect(()=>{se(u)},[u,se]),y.useEffect(()=>{Be&&A.current&&A.current.focus()},[Be]);async function Re(_){_.preventDefault();const I=S.trim(),Ve=f.trim();if(!(!I||!Ve)){T(!0),L(null);try{const Lt=await kp(e,I,Ve,p);j(""),c(""),g(2),await M(),a(Lt.collection_uid)}catch(Lt){L(Lt.message)}finally{T(!1)}}}async function we(){const _=k.trim();if(!_||!O){E(!1);return}try{await eu(e,O.collection_uid,{name:_}),await M(),v(I=>I&&{...I,name:_})}catch(I){s(I.message)}finally{E(!1)}}async function gc(_){if(O)try{await eu(e,O.collection_uid,{default_visibility_bits:_}),await M(),v(I=>I&&{...I,default_visibility_bits:_})}catch(I){s(I.message)}}async function wc(){if(O&&window.confirm(`Delete collection "${O.name}"? Entries will not be deleted.`))try{await Pp(e,O.collection_uid),a(null),v(null),await M()}catch(_){s(_.message)}}async function xc(_){_.preventDefault();const I=U.trim();if(!(!I||!O)){ge(!0),Ae(null);try{await Np(e,O.collection_uid,I,J),D(""),await se(O.collection_uid)}catch(Ve){Ae(Ve.message)}finally{ge(!1)}}}async function Sc(_){if(O)try{await jp(e,O.collection_uid,_),await se(O.collection_uid)}catch(I){x(I.message)}}async function kc(_,I){if(O)try{await Ep(e,O.collection_uid,_,I),v(Ve=>Ve&&{...Ve,entries:Ve.entries.map(Lt=>Lt.entry_uid===_?{...Lt,collection_visibility_bits:I}:Lt)})}catch(Ve){x(Ve.message)}}return e?o.jsxs("div",{className:"collections-view",children:[o.jsx("h2",{className:"collections-heading",children:"Collections"}),r&&o.jsx("div",{className:"muted",children:"Loading…"}),i&&o.jsxs("div",{className:"collections-error",children:[i," ",o.jsx("button",{onClick:()=>s(null),className:"coll-dismiss",children:"×"})]}),o.jsxs("div",{className:"collections-layout",children:[o.jsxs("div",{className:"collections-sidebar",children:[t.map(_=>o.jsxs("button",{className:`coll-row${u===_.collection_uid?" is-active":""}`,onClick:()=>a(_.collection_uid),children:[o.jsx("span",{className:"coll-row-name",children:_.name}),o.jsx("span",{className:"coll-row-meta",children:Bp(_.default_visibility_bits)})]},_.collection_uid)),t.length===0&&!r&&o.jsx("div",{className:"muted",style:{padding:"8px 12px"},children:"No collections yet."})]}),O?o.jsxs("div",{className:"coll-detail",children:[o.jsxs("div",{className:"coll-detail-header",children:[Be?o.jsx("input",{ref:A,className:"coll-rename-input",value:k,onChange:_=>R(_.target.value),onBlur:we,onKeyDown:_=>{_.key==="Enter"&&we(),_.key==="Escape"&&E(!1)}}):o.jsxs("h3",{className:`coll-detail-name${de?"":" coll-detail-name--editable"}`,title:de?void 0:"Click to rename",onClick:()=>{de||(R(O.name),E(!0))},children:[(d==null?void 0:d.name)??O.name,!de&&o.jsx("span",{className:"coll-edit-hint",children:" ✎"})]}),!de&&o.jsx("button",{className:"coll-delete-btn",onClick:wc,title:"Delete collection",children:"Delete"})]}),o.jsxs("div",{className:"coll-detail-vis",children:[o.jsx("span",{className:"coll-vis-label",children:"Default visibility"}),o.jsx("select",{className:"coll-vis-select",value:(d==null?void 0:d.default_visibility_bits)??O.default_visibility_bits,onChange:_=>gc(Number(_.target.value)),disabled:de,children:Mn.map(_=>o.jsx("option",{value:_.value,children:_.label},_.value))})]}),o.jsxs("div",{className:"coll-entries-section",children:[o.jsx("div",{className:"coll-section-heading",children:"Entries"}),m&&o.jsx("div",{className:"muted",children:"Loading…"}),w&&o.jsx("div",{className:"collections-error",children:w}),!m&&d&&(d.entries.length===0?o.jsx("div",{className:"muted",children:"No entries in this collection."}):o.jsx("ul",{className:"coll-entries-list",children:d.entries.map(_=>o.jsxs("li",{className:"coll-entry-row",children:[o.jsxs("div",{className:"coll-entry-info",children:[o.jsx("span",{className:"coll-entry-title",children:_.title||_.entry_uid}),o.jsx("span",{className:"coll-entry-kind muted",children:_.source_kind})]}),o.jsxs("div",{className:"coll-entry-actions",children:[o.jsx("select",{className:"coll-entry-vis-select",value:_.collection_visibility_bits,onChange:I=>kc(_.entry_uid,Number(I.target.value)),children:Mn.map(I=>o.jsx("option",{value:I.value,children:I.label},I.value))}),!de&&o.jsx("button",{className:"coll-entry-remove",onClick:()=>Sc(_.entry_uid),title:"Remove from collection",children:"×"})]})]},_.entry_uid))}))]}),!de&&o.jsxs("form",{className:"coll-add-entry-form",onSubmit:xc,children:[o.jsx("div",{className:"coll-section-heading",children:"Add entry"}),o.jsxs("div",{className:"coll-add-entry-row",children:[o.jsx("input",{className:"coll-add-entry-input",type:"text",value:U,onChange:_=>D(_.target.value),placeholder:"entry_uid",required:!0}),o.jsx("select",{className:"coll-vis-select",value:J,onChange:_=>je(Number(_.target.value)),children:Mn.map(_=>o.jsx("option",{value:_.value,children:_.label},_.value))}),o.jsx("button",{className:"coll-add-btn",type:"submit",disabled:ye,children:ye?"…":"Add"})]}),Ue&&o.jsx("div",{className:"collections-error",style:{marginTop:4},children:Ue})]})]}):o.jsx("div",{className:"coll-detail coll-detail--empty",children:o.jsx("div",{className:"muted",children:"Select a collection to view details."})})]}),o.jsxs("details",{className:"coll-create-details",style:{marginTop:"1.5rem"},children:[o.jsx("summary",{style:{cursor:"pointer",fontWeight:600},children:"Create collection"}),o.jsxs("form",{onSubmit:Re,style:{marginTop:"0.75rem",display:"flex",flexDirection:"column",gap:"0.5rem",maxWidth:400},children:[o.jsxs("label",{children:["Name",o.jsx("input",{className:"capture-input",type:"text",value:S,onChange:_=>{j(_.target.value),f||c(_.target.value.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""))},placeholder:"My Collection",required:!0})]}),o.jsxs("label",{children:["Slug",o.jsx("input",{className:"capture-input",type:"text",value:f,onChange:_=>c(_.target.value),placeholder:"my-collection",required:!0})]}),o.jsxs("label",{children:["Default visibility",o.jsx("select",{className:"capture-input",style:{height:42},value:p,onChange:_=>g(Number(_.target.value)),children:Mn.map(_=>o.jsx("option",{value:_.value,children:_.label},_.value))})]}),P&&o.jsx("div",{className:"collections-error",children:P}),o.jsx("button",{className:"capture-submit",type:"submit",disabled:N,style:{alignSelf:"flex-start",padding:"8px 20px"},children:N?"Creating…":"Create"})]})]})]}):o.jsx("div",{className:"view-placeholder",children:"Select an archive."})}const Hp=4;function Wp(){const{currentUser:e,setCurrentUser:t}=y.useContext(Pl)??{},n=e&&(e.role_bits&Hp)!==0,[r,l]=y.useState("profile");return o.jsxs("section",{className:"admin-view",children:[o.jsx("h1",{children:"Settings"}),o.jsx("div",{className:"admin-tabs",style:{display:"flex",gap:12,marginBottom:20},children:["profile","tokens",...n?["instance"]:[]].map(i=>o.jsx("button",{className:`nav-link${r===i?" is-active":""}`,style:{borderBottom:r===i?"2px solid var(--accent)":void 0,color:"var(--ink)"},onClick:()=>l(i),children:i==="profile"?"Profile":i==="tokens"?"API Tokens":"Instance"},i))}),r==="profile"&&o.jsx(Qp,{currentUser:e,setCurrentUser:t}),r==="tokens"&&o.jsx(Kp,{}),r==="instance"&&n&&o.jsx(Yp,{})]})}function Qp({currentUser:e,setCurrentUser:t}){const[n,r]=y.useState((e==null?void 0:e.display_name)??""),[l,i]=y.useState(!1),[s,u]=y.useState(null),[a,d]=y.useState(""),[v,m]=y.useState(""),[h,w]=y.useState(""),[x,S]=y.useState(!1),[j,f]=y.useState(null);async function c(g){g.preventDefault(),i(!0),u(null);try{await ap(n),t(N=>({...N,display_name:n||null})),u({ok:!0,text:"Saved."})}catch(N){u({ok:!1,text:N.message})}finally{i(!1)}}async function p(g){if(g.preventDefault(),v!==h){f({ok:!1,text:"Passwords do not match."});return}S(!0),f(null);try{await cp(a,v),d(""),m(""),w(""),f({ok:!0,text:"Password changed."})}catch(N){f({ok:!1,text:N.message})}finally{S(!1)}}return o.jsxs("div",{style:{maxWidth:480},children:[o.jsxs("div",{className:"admin-section",children:[o.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"Display Name"}),o.jsxs("form",{className:"admin-form",onSubmit:c,children:[o.jsx("input",{className:"admin-input",placeholder:(e==null?void 0:e.username)??"",value:n,onChange:g=>r(g.target.value)}),s&&o.jsx("div",{className:s.ok?"muted":"capture-error",children:s.text}),o.jsx("button",{className:"capture-submit",type:"submit",disabled:l,children:l?"Saving…":"Save"})]})]}),o.jsxs("div",{className:"admin-section",style:{marginTop:28},children:[o.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"Change Password"}),o.jsxs("form",{className:"admin-form",onSubmit:p,children:[o.jsx("input",{className:"admin-input",type:"password",placeholder:"Current password",value:a,onChange:g=>d(g.target.value),required:!0}),o.jsx("input",{className:"admin-input",type:"password",placeholder:"New password",value:v,onChange:g=>m(g.target.value),required:!0}),o.jsx("input",{className:"admin-input",type:"password",placeholder:"Confirm new password",value:h,onChange:g=>w(g.target.value),required:!0}),j&&o.jsx("div",{className:j.ok?"muted":"capture-error",children:j.text}),o.jsx("button",{className:"capture-submit",type:"submit",disabled:x,children:x?"Changing…":"Change Password"})]})]})]})}function Kp(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[l,i]=y.useState(null),[s,u]=y.useState(""),[a,d]=y.useState(!1),[v,m]=y.useState(null),h=y.useCallback(async()=>{r(!0),i(null);try{t(await dp())}catch(S){i(S.message)}finally{r(!1)}},[]);y.useEffect(()=>{h()},[h]);async function w(S){if(S.preventDefault(),!!s.trim()){d(!0);try{const j=await fp(s.trim());m(j),u(""),h()}catch(j){i(j.message)}finally{d(!1)}}}async function x(S){try{await pp(S),t(j=>j.filter(f=>f.token_uid!==S))}catch(j){i(j.message)}}return o.jsxs("div",{style:{maxWidth:640},children:[o.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"API Tokens"}),v&&o.jsxs("div",{style:{background:"#e8f5e9",border:"1px solid #a5d6a7",padding:"12px 14px",marginBottom:16,fontSize:13},children:[o.jsx("strong",{children:"Token created."})," Copy it now \\u2014 it will not be shown again.",o.jsx("br",{}),o.jsx("code",{style:{wordBreak:"break-all",display:"block",marginTop:6,padding:"6px 8px",background:"#f5f5f5",border:"1px solid #ddd"},children:v.raw_token}),o.jsx("button",{style:{marginTop:8,fontSize:12,border:"1px solid #aaa",background:"none",cursor:"pointer"},onClick:()=>m(null),children:"Dismiss"})]}),o.jsxs("form",{className:"admin-form",onSubmit:w,style:{display:"flex",gap:8,marginBottom:16},children:[o.jsx("input",{className:"admin-input",placeholder:"Token name",value:s,onChange:S=>u(S.target.value),style:{flex:1},required:!0}),o.jsx("button",{className:"capture-submit",type:"submit",disabled:a,children:a?"Creating…":"Create"})]}),l&&o.jsx("div",{className:"capture-error",children:l}),n?o.jsx("div",{className:"muted",children:"Loading\\u2026"}):o.jsxs("div",{className:"admin-list",children:[e.length===0&&o.jsx("div",{className:"muted",children:"No tokens yet."}),e.map(S=>o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",border:"1px solid var(--line)",background:"var(--paper-3)",padding:"10px 12px"},children:[o.jsxs("div",{children:[o.jsx("strong",{style:{fontSize:14},children:S.name}),o.jsxs("div",{className:"muted",style:{fontSize:12,marginTop:2},children:["Created ",S.created_at.slice(0,10),S.last_used_at&&` · Last used ${S.last_used_at.slice(0,10)}`]})]}),o.jsx("button",{onClick:()=>x(S.token_uid),style:{border:"1px solid var(--line)",background:"none",cursor:"pointer",color:"var(--accent)",fontSize:12,padding:"4px 10px"},children:"Revoke"})]},S.token_uid))]})]})}function Yp(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,i]=y.useState(null),[s,u]=y.useState(!1),[a,d]=y.useState(null);y.useEffect(()=>{(async()=>{try{t(await hp())}catch(m){i(m.message)}finally{r(!1)}})()},[]);async function v(m){m.preventDefault(),u(!0),d(null);try{await mp(e),d({ok:!0,text:"Saved."})}catch(h){d({ok:!1,text:h.message})}finally{u(!1)}}return n?o.jsx("div",{className:"muted",children:"Loading\\u2026"}):l?o.jsx("div",{className:"capture-error",children:l}):e?o.jsxs("div",{style:{maxWidth:480},children:[o.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"Instance Settings"}),o.jsxs("form",{onSubmit:v,children:[o.jsxs("div",{className:"admin-section",children:[[["public_index_enabled","Public index (unauthenticated browsing)"],["public_entry_content_enabled","Public entry content"],["open_registration_enabled","Open registration"]].map(([m,h])=>o.jsxs("label",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12,cursor:"pointer"},children:[o.jsx("input",{type:"checkbox",checked:!!e[m],onChange:w=>t(x=>({...x,[m]:w.target.checked}))}),h]},m)),o.jsxs("div",{style:{marginBottom:12},children:[o.jsx("label",{style:{display:"block",fontWeight:600,marginBottom:4,fontSize:13},children:"Default entry visibility"}),o.jsxs("select",{className:"admin-input",value:e.default_entry_visibility,onChange:m=>t(h=>({...h,default_entry_visibility:Number(m.target.value)})),children:[o.jsx("option",{value:0,children:"Private (0)"}),o.jsx("option",{value:2,children:"Unlisted (2)"}),o.jsx("option",{value:3,children:"Public (3)"})]})]})]}),a&&o.jsx("div",{className:a.ok?"muted":"capture-error",children:a.text}),o.jsx("button",{className:"capture-submit",type:"submit",disabled:s,children:s?"Saving…":"Save Settings"})]})]}):null}function Xp({archiveId:e,selectedEntry:t,onTagFilterSet:n,tagNodes:r,onTagsRefresh:l}){const[i,s]=y.useState(null),[u,a]=y.useState([]),[d,v]=y.useState(""),[m,h]=y.useState([]),[w,x]=y.useState(""),S=y.useRef(0);y.useEffect(()=>{if(!t||!e){s(null),a([]),h([]);return}const c=++S.current;s(null),a([]),Promise.all([bf(e,t.entry_uid),ti(e,t.entry_uid),_p(e,t.entry_uid)]).then(([p,g,N])=>{c===S.current&&(s(p),a(g),h(N))}).catch(()=>{})},[t,e]);async function j(){const c=d.trim();if(!(!c||!t))try{await ep(e,t.entry_uid,c),v(""),x("");const p=await ti(e,t.entry_uid);a(p),l()}catch(p){x(p.message)}}async function f(c){try{await tp(e,t.entry_uid,c);const p=await ti(e,t.entry_uid);a(p),l()}catch{}}return o.jsxs("aside",{className:"context-rail",children:[o.jsx("div",{className:"rail-title",children:"Context"}),t?i?o.jsxs("div",{className:"rail-body",children:[o.jsx("strong",{className:"rail-entry-title",children:Ft(i.summary.title)||Ft(i.summary.entry_uid)}),o.jsxs("div",{className:"rail-section",children:[i.summary.original_url&&o.jsxs("div",{className:"rail-item",children:[o.jsx("span",{className:"rail-label",children:"Original URL"}),":"," ",o.jsx("a",{href:i.summary.original_url,target:"_blank",rel:"noopener noreferrer",className:"rail-url-link",children:i.summary.original_url})]}),[["Added",vc(i.summary.archived_at)],["Source",i.summary.source_kind],["Type",i.summary.entity_kind],["Visibility",i.summary.visibility],["Structured root",i.structured_root_relpath]].map(([c,p])=>o.jsxs("div",{className:"rail-item",children:[o.jsx("span",{className:"rail-label",children:c}),": ",Ft(p)]},c))]}),i.artifacts.length>0?o.jsxs("div",{className:"rail-section",children:[o.jsxs("div",{className:"rail-section-heading",children:["Artifacts (",i.artifacts.length,")"]}),o.jsx("ul",{className:"artifact-list",children:i.artifacts.map((c,p)=>o.jsx("li",{children:o.jsxs("a",{href:`/api/archives/${e}/entries/${i.summary.entry_uid}/artifacts/${p}`,target:"_blank",rel:"noopener noreferrer",className:"artifact-link",children:[c.artifact_role.replace(/_/g," "),c.byte_size!=null?` (${mc(c.byte_size)})`:""]})},p))})]}):o.jsx("div",{className:"rail-item muted",children:"No artifacts."})]}):o.jsx("div",{className:"rail-body",children:"Loading…"}):o.jsx("div",{className:"rail-body",children:"Select an entry."}),t&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"entry-tags",children:u.length===0?o.jsx("span",{className:"muted",children:"No tags."}):u.map(c=>o.jsxs("span",{className:"tag-pill",title:c.full_path,children:[c.name,o.jsx("button",{className:"remove-tag",title:`Remove tag ${c.full_path}`,onClick:()=>f(c.tag_uid),children:"×"})]},c.tag_uid))}),o.jsxs("div",{className:"assign-tag-form",children:[o.jsx("input",{className:"assign-tag-input",type:"text",placeholder:"/science/cs",autoComplete:"off",value:d,onChange:c=>v(c.target.value),onKeyDown:c=>{c.key==="Enter"&&j()}}),o.jsx("button",{className:"assign-tag-btn",onClick:j,children:"Add tag"}),w&&o.jsx("div",{className:"muted",style:{fontSize:"0.85em",color:"var(--accent)"},children:w})]}),t&&m.length>0&&o.jsxs("div",{className:"rail-section",children:[o.jsx("div",{className:"rail-section-heading",children:"Collections"}),m.map(c=>o.jsxs("div",{className:"rail-item",children:[o.jsx("span",{className:"rail-label",children:c.collection_uid}),":"," ",o.jsx("span",{className:"muted",children:{0:"Private",1:"Public",2:"Users only",3:"Public"}[c.visibility_bits]??`bits:${c.visibility_bits}`})]},c.collection_uid))]})]})]})}const Pl=y.createContext(null);function Gp(){const[e,t]=y.useState("loading"),[n,r]=y.useState(null);y.useEffect(()=>{(async()=>{if(await lp()){t("setup");return}const se=await up();if(!se){t("login");return}r(se),t("authenticated")})()},[]),y.useEffect(()=>{const M=()=>{r(null),t("login")};return window.addEventListener("auth:expired",M),()=>window.removeEventListener("auth:expired",M)},[]);const[l,i]=y.useState([]),[s,u]=y.useState(null),[a,d]=y.useState([]),[v,m]=y.useState(null),[h,w]=y.useState(null),[x,S]=y.useState(null),[j,f]=y.useState("archive"),[c,p]=y.useState(""),[g,N]=y.useState(""),[T,P]=y.useState(!1),[L,U]=y.useState([]),[D,J]=y.useState([]),[je,ye]=y.useState(!1),ge=y.useCallback(async(M,se,Re)=>{if(M){P(!0);try{let we;se||Re?we=await qf(M,se,Re):we=await Zf(M),d(we),N(we.length===0?"No results":`${we.length} result${we.length===1?"":"s"}`)}catch{d([]),N("Search failed. Try again.")}finally{P(!1)}}},[]);y.useEffect(()=>{Jf().then(M=>{if(i(M),M.length>0){const se=M[0].id;u(se)}})},[]),y.useEffect(()=>{s&&(S(null),w(null),m(null),Promise.all([ge(s,"",null),bo(s).then(U),ni(s).then(J)]))},[s]),y.useEffect(()=>{if(s===null)return;const M=setTimeout(()=>{ge(s,c,x)},300);return()=>clearTimeout(M)},[c,s]),y.useEffect(()=>{s!==null&&(f("archive"),ge(s,c,x))},[x,s]);const Ue=y.useCallback(M=>{u(M)},[]),Ae=y.useCallback(M=>{f(M),M==="tags"&&s&&ni(s).then(J)},[s]),Be=y.useCallback(M=>{m(M?M.entry_uid:null),w(M)},[]),E=y.useCallback(M=>{S(M)},[]),k=y.useCallback(()=>{S(null)},[]),R=y.useCallback(()=>{s&&ni(s).then(J)},[s]),A=y.useCallback(()=>{ye(!0)},[]),O=y.useCallback(()=>{ye(!1)},[]),de=y.useCallback(()=>{s&&Promise.all([ge(s,c,x),bo(s).then(U)])},[s,c,x,ge]);return e==="loading"?o.jsx("div",{className:"auth-loading",children:"Loading\\u2026"}):e==="setup"?o.jsx(Lp,{onComplete:()=>t("login")}):e==="login"?o.jsx(zp,{onLogin:M=>{r(M),t("authenticated")}}):o.jsx(Pl.Provider,{value:{currentUser:n,setCurrentUser:r},children:o.jsxs(o.Fragment,{children:[o.jsx(Rp,{archives:l,archiveId:s,onArchiveChange:Ue,view:j,onViewChange:Ae,onCaptureClick:A}),o.jsxs("main",{className:"app-shell",children:[o.jsxs("div",{className:"workspace",children:[j==="archive"&&o.jsxs("div",{className:"search-row",children:[o.jsx("input",{className:"search-input",type:"search","aria-label":"Search archive","aria-busy":T,value:c,onChange:M=>p(M.target.value)}),o.jsxs("div",{className:"result-count",children:[g,x&&o.jsxs("button",{className:"tag-filter-badge",onClick:k,children:["× ",x]})]})]}),j==="archive"&&o.jsx($p,{entries:a,selectedEntryUid:v,onSelectEntry:Be,archiveId:s,tagFilter:x,onClearTagFilter:k,searchQuery:c,onSearchChange:p,resultCount:g,searchBusy:T}),j==="runs"&&o.jsx(Fp,{runs:L}),j==="admin"&&o.jsx(Up,{archives:l}),j==="tags"&&o.jsx(Ap,{tagNodes:D,tagFilter:x,onTagFilterSet:E,onViewChange:Ae}),j==="collections"&&o.jsx(Vp,{archiveId:s}),j==="settings"&&o.jsx(Wp,{})]}),o.jsx(Xp,{archiveId:s,selectedEntry:h,onTagFilterSet:E,tagNodes:D,onTagsRefresh:R})]}),o.jsx(Op,{open:je,archiveId:s,onClose:O,onCaptured:de})]})})}hc(document.getElementById("root")).render(o.jsx(y.StrictMode,{children:o.jsx(Gp,{})})); diff --git a/crates/archivr-server/static/assets/index-CWb0sQjJ.js b/crates/archivr-server/static/assets/index-CWb0sQjJ.js new file mode 100644 index 0000000..a804230 --- /dev/null +++ b/crates/archivr-server/static/assets/index-CWb0sQjJ.js @@ -0,0 +1,40 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();var ru={exports:{}},fl={},lu={exports:{}},M={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ur=Symbol.for("react.element"),Cc=Symbol.for("react.portal"),Ec=Symbol.for("react.fragment"),_c=Symbol.for("react.strict_mode"),Pc=Symbol.for("react.profiler"),Tc=Symbol.for("react.provider"),Lc=Symbol.for("react.context"),zc=Symbol.for("react.forward_ref"),Rc=Symbol.for("react.suspense"),Oc=Symbol.for("react.memo"),Dc=Symbol.for("react.lazy"),Hs=Symbol.iterator;function Fc(e){return e===null||typeof e!="object"?null:(e=Hs&&e[Hs]||e["@@iterator"],typeof e=="function"?e:null)}var iu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},su=Object.assign,ou={};function xn(e,t,n){this.props=e,this.context=t,this.refs=ou,this.updater=n||iu}xn.prototype.isReactComponent={};xn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};xn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function uu(){}uu.prototype=xn.prototype;function Gi(e,t,n){this.props=e,this.context=t,this.refs=ou,this.updater=n||iu}var Ji=Gi.prototype=new uu;Ji.constructor=Gi;su(Ji,xn.prototype);Ji.isPureReactComponent=!0;var Ws=Array.isArray,au=Object.prototype.hasOwnProperty,Zi={current:null},cu={key:!0,ref:!0,__self:!0,__source:!0};function du(e,t,n){var r,l={},i=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)au.call(t,r)&&!cu.hasOwnProperty(r)&&(l[r]=t[r]);var u=arguments.length-2;if(u===1)l.children=n;else if(1>>1,O=E[A];if(0>>1;Al(se,R))Rel(we,se)?(E[A]=we,E[Re]=R,A=Re):(E[A]=se,E[F]=R,A=F);else if(Rel(we,R))E[A]=we,E[Re]=R,A=Re;else break e}}return k}function l(E,k){var R=E.sortIndex-k.sortIndex;return R!==0?R:E.id-k.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,u=s.now();e.unstable_now=function(){return s.now()-u}}var a=[],d=[],v=1,m=null,h=3,w=!1,x=!1,S=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function f(E){for(var k=n(d);k!==null;){if(k.callback===null)r(d);else if(k.startTime<=E)r(d),k.sortIndex=k.expirationTime,t(a,k);else break;k=n(d)}}function g(E){if(S=!1,f(E),!x)if(n(a)!==null)x=!0,Ae(j);else{var k=n(d);k!==null&&Ve(g,k.startTime-E)}}function j(E,k){x=!1,S&&(S=!1,p(z),z=-1),w=!0;var R=h;try{for(f(k),m=n(a);m!==null&&(!(m.expirationTime>k)||E&&!J());){var A=m.callback;if(typeof A=="function"){m.callback=null,h=m.priorityLevel;var O=A(m.expirationTime<=k);k=e.unstable_now(),typeof O=="function"?m.callback=O:m===n(a)&&r(a),f(k)}else r(a);m=n(a)}if(m!==null)var de=!0;else{var F=n(d);F!==null&&Ve(g,F.startTime-k),de=!1}return de}finally{m=null,h=R,w=!1}}var P=!1,T=null,z=-1,U=5,D=-1;function J(){return!(e.unstable_now()-DE||125A?(E.sortIndex=R,t(d,E),n(a)===null&&E===n(d)&&(S?(p(z),z=-1):S=!0,Ve(g,R-A))):(E.sortIndex=O,t(a,E),x||w||(x=!0,Ae(j))),E},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(E){var k=h;return function(){var R=h;h=k;try{return E.apply(this,arguments)}finally{h=R}}}})(vu);mu.exports=vu;var Kc=mu.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Yc=y,Te=Kc;function N(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ri=Object.prototype.hasOwnProperty,Xc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Ks={},Ys={};function Gc(e){return ri.call(Ys,e)?!0:ri.call(Ks,e)?!1:Xc.test(e)?Ys[e]=!0:(Ks[e]=!0,!1)}function Jc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Zc(e,t,n,r){if(t===null||typeof t>"u"||Jc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function me(e,t,n,r,l,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var ie={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ie[e]=new me(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ie[t]=new me(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ie[e]=new me(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ie[e]=new me(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ie[e]=new me(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ie[e]=new me(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ie[e]=new me(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ie[e]=new me(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ie[e]=new me(e,5,!1,e.toLowerCase(),null,!1,!1)});var bi=/[\-:]([a-z])/g;function es(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(bi,es);ie[t]=new me(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(bi,es);ie[t]=new me(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(bi,es);ie[t]=new me(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ie[e]=new me(e,1,!1,e.toLowerCase(),null,!1,!1)});ie.xlinkHref=new me("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ie[e]=new me(e,1,!1,e.toLowerCase(),null,!0,!0)});function ts(e,t,n,r){var l=ie.hasOwnProperty(t)?ie[t]:null;(l!==null?l.type!==0:r||!(2u||l[s]!==i[u]){var a=` +`+l[s].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=s&&0<=u);break}}}finally{zl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?zn(e):""}function qc(e){switch(e.tag){case 5:return zn(e.type);case 16:return zn("Lazy");case 13:return zn("Suspense");case 19:return zn("SuspenseList");case 0:case 2:case 15:return e=Rl(e.type,!1),e;case 11:return e=Rl(e.type.render,!1),e;case 1:return e=Rl(e.type,!0),e;default:return""}}function oi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Gt:return"Fragment";case Xt:return"Portal";case li:return"Profiler";case ns:return"StrictMode";case ii:return"Suspense";case si:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case wu:return(e.displayName||"Context")+".Consumer";case yu:return(e._context.displayName||"Context")+".Provider";case rs:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ls:return t=e.displayName||null,t!==null?t:oi(e.type)||"Memo";case ft:t=e._payload,e=e._init;try{return oi(e(t))}catch{}}return null}function bc(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return oi(t);case 8:return t===ns?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Et(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Su(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ed(e){var t=Su(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(s){r=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function mr(e){e._valueTracker||(e._valueTracker=ed(e))}function ku(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Su(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Br(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ui(e,t){var n=t.checked;return X({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Gs(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Et(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Nu(e,t){t=t.checked,t!=null&&ts(e,"checked",t,!1)}function ai(e,t){Nu(e,t);var n=Et(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ci(e,t.type,n):t.hasOwnProperty("defaultValue")&&ci(e,t.type,Et(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Js(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ci(e,t,n){(t!=="number"||Br(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Rn=Array.isArray;function on(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=vr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Kn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Mn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},td=["Webkit","ms","Moz","O"];Object.keys(Mn).forEach(function(e){td.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Mn[t]=Mn[e]})});function _u(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Mn.hasOwnProperty(e)&&Mn[e]?(""+t).trim():t+"px"}function Pu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=_u(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var nd=X({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function pi(e,t){if(t){if(nd[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(N(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(N(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(N(61))}if(t.style!=null&&typeof t.style!="object")throw Error(N(62))}}function hi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var mi=null;function is(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var vi=null,un=null,an=null;function bs(e){if(e=dr(e)){if(typeof vi!="function")throw Error(N(280));var t=e.stateNode;t&&(t=gl(t),vi(e.stateNode,e.type,t))}}function Tu(e){un?an?an.push(e):an=[e]:un=e}function Lu(){if(un){var e=un,t=an;if(an=un=null,bs(e),t)for(e=0;e>>=0,e===0?32:31-(pd(e)/hd|0)|0}var gr=64,yr=4194304;function On(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Kr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,s=n&268435455;if(s!==0){var u=s&~l;u!==0?r=On(u):(i&=s,i!==0&&(r=On(i)))}else s=n&~l,s!==0?r=On(s):i!==0&&(r=On(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ar(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ye(t),e[t]=n}function yd(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=In),uo=" ",ao=!1;function Ju(e,t){switch(e){case"keyup":return Kd.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Jt=!1;function Xd(e,t){switch(e){case"compositionend":return Zu(t);case"keypress":return t.which!==32?null:(ao=!0,uo);case"textInput":return e=t.data,e===uo&&ao?null:e;default:return null}}function Gd(e,t){if(Jt)return e==="compositionend"||!ps&&Ju(e,t)?(e=Xu(),Or=cs=vt=null,Jt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ho(n)}}function ta(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ta(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function na(){for(var e=window,t=Br();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Br(e.document)}return t}function hs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function lf(e){var t=na(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ta(n.ownerDocument.documentElement,n)){if(r!==null&&hs(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=mo(n,i);var s=mo(n,r);l&&s&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Zt=null,ki=null,An=null,Ni=!1;function vo(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ni||Zt==null||Zt!==Br(r)||(r=Zt,"selectionStart"in r&&hs(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),An&&qn(An,r)||(An=r,r=Gr(ki,"onSelect"),0en||(e.current=Ti[en],Ti[en]=null,en--)}function B(e,t){en++,Ti[en]=e.current,e.current=t}var _t={},ce=Tt(_t),ke=Tt(!1),At=_t;function hn(e,t){var n=e.type.contextTypes;if(!n)return _t;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Ne(e){return e=e.childContextTypes,e!=null}function Zr(){W(ke),W(ce)}function No(e,t,n){if(ce.current!==_t)throw Error(N(168));B(ce,t),B(ke,n)}function da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(N(108,bc(e)||"Unknown",l));return X({},n,r)}function qr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||_t,At=ce.current,B(ce,e),B(ke,ke.current),!0}function jo(e,t,n){var r=e.stateNode;if(!r)throw Error(N(169));n?(e=da(e,t,At),r.__reactInternalMemoizedMergedChildContext=e,W(ke),W(ce),B(ce,e)):W(ke),B(ke,n)}var nt=null,yl=!1,Kl=!1;function fa(e){nt===null?nt=[e]:nt.push(e)}function gf(e){yl=!0,fa(e)}function Lt(){if(!Kl&&nt!==null){Kl=!0;var e=0,t=V;try{var n=nt;for(V=1;e>=s,l-=s,rt=1<<32-Ye(t)+l|n<z?(U=T,T=null):U=T.sibling;var D=h(p,T,f[z],g);if(D===null){T===null&&(T=U);break}e&&T&&D.alternate===null&&t(p,T),c=i(D,c,z),P===null?j=D:P.sibling=D,P=D,T=U}if(z===f.length)return n(p,T),Q&&Rt(p,z),j;if(T===null){for(;zz?(U=T,T=null):U=T.sibling;var J=h(p,T,D.value,g);if(J===null){T===null&&(T=U);break}e&&T&&J.alternate===null&&t(p,T),c=i(J,c,z),P===null?j=J:P.sibling=J,P=J,T=U}if(D.done)return n(p,T),Q&&Rt(p,z),j;if(T===null){for(;!D.done;z++,D=f.next())D=m(p,D.value,g),D!==null&&(c=i(D,c,z),P===null?j=D:P.sibling=D,P=D);return Q&&Rt(p,z),j}for(T=r(p,T);!D.done;z++,D=f.next())D=w(T,p,z,D.value,g),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?z:D.key),c=i(D,c,z),P===null?j=D:P.sibling=D,P=D);return e&&T.forEach(function(Ce){return t(p,Ce)}),Q&&Rt(p,z),j}function C(p,c,f,g){if(typeof f=="object"&&f!==null&&f.type===Gt&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case hr:e:{for(var j=f.key,P=c;P!==null;){if(P.key===j){if(j=f.type,j===Gt){if(P.tag===7){n(p,P.sibling),c=l(P,f.props.children),c.return=p,p=c;break e}}else if(P.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===ft&&_o(j)===P.type){n(p,P.sibling),c=l(P,f.props),c.ref=Pn(p,P,f),c.return=p,p=c;break e}n(p,P);break}else t(p,P);P=P.sibling}f.type===Gt?(c=Ut(f.props.children,p.mode,g,f.key),c.return=p,p=c):(g=Vr(f.type,f.key,f.props,null,p.mode,g),g.ref=Pn(p,c,f),g.return=p,p=g)}return s(p);case Xt:e:{for(P=f.key;c!==null;){if(c.key===P)if(c.tag===4&&c.stateNode.containerInfo===f.containerInfo&&c.stateNode.implementation===f.implementation){n(p,c.sibling),c=l(c,f.children||[]),c.return=p,p=c;break e}else{n(p,c);break}else t(p,c);c=c.sibling}c=ei(f,p.mode,g),c.return=p,p=c}return s(p);case ft:return P=f._init,C(p,c,P(f._payload),g)}if(Rn(f))return x(p,c,f,g);if(Nn(f))return S(p,c,f,g);Cr(p,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,c!==null&&c.tag===6?(n(p,c.sibling),c=l(c,f),c.return=p,p=c):(n(p,c),c=bl(f,p.mode,g),c.return=p,p=c),s(p)):n(p,c)}return C}var vn=va(!0),ga=va(!1),tl=Tt(null),nl=null,rn=null,ys=null;function ws(){ys=rn=nl=null}function xs(e){var t=tl.current;W(tl),e._currentValue=t}function Ri(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function dn(e,t){nl=e,ys=rn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Se=!0),e.firstContext=null)}function $e(e){var t=e._currentValue;if(ys!==e)if(e={context:e,memoizedValue:t,next:null},rn===null){if(nl===null)throw Error(N(308));rn=e,nl.dependencies={lanes:0,firstContext:e}}else rn=rn.next=e;return t}var Ft=null;function Ss(e){Ft===null?Ft=[e]:Ft.push(e)}function ya(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Ss(t)):(n.next=l.next,l.next=n),t.interleaved=n,ut(e,r)}function ut(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var pt=!1;function ks(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function wa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function it(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function kt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,ut(e,n)}return l=r.interleaved,l===null?(t.next=t,Ss(r)):(t.next=l.next,l.next=t),r.interleaved=t,ut(e,n)}function Fr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,os(e,n)}}function Po(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=s:i=i.next=s,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function rl(e,t,n,r){var l=e.updateQueue;pt=!1;var i=l.firstBaseUpdate,s=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var a=u,d=a.next;a.next=null,s===null?i=d:s.next=d,s=a;var v=e.alternate;v!==null&&(v=v.updateQueue,u=v.lastBaseUpdate,u!==s&&(u===null?v.firstBaseUpdate=d:u.next=d,v.lastBaseUpdate=a))}if(i!==null){var m=l.baseState;s=0,v=d=a=null,u=i;do{var h=u.lane,w=u.eventTime;if((r&h)===h){v!==null&&(v=v.next={eventTime:w,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var x=e,S=u;switch(h=t,w=n,S.tag){case 1:if(x=S.payload,typeof x=="function"){m=x.call(w,m,h);break e}m=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=S.payload,h=typeof x=="function"?x.call(w,m,h):x,h==null)break e;m=X({},m,h);break e;case 2:pt=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,h=l.effects,h===null?l.effects=[u]:h.push(u))}else w={eventTime:w,lane:h,tag:u.tag,payload:u.payload,callback:u.callback,next:null},v===null?(d=v=w,a=m):v=v.next=w,s|=h;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;h=u,u=h.next,h.next=null,l.lastBaseUpdate=h,l.shared.pending=null}}while(!0);if(v===null&&(a=m),l.baseState=a,l.firstBaseUpdate=d,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do s|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ht|=s,e.lanes=s,e.memoizedState=m}}function To(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Xl.transition;Xl.transition={};try{e(!1),t()}finally{V=n,Xl.transition=r}}function Ma(){return Ie().memoizedState}function Sf(e,t,n){var r=jt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},$a(e))Ia(t,n);else if(n=ya(e,t,n,r),n!==null){var l=pe();Xe(n,e,r,l),Ua(n,t,r)}}function kf(e,t,n){var r=jt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if($a(e))Ia(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,u=i(s,n);if(l.hasEagerState=!0,l.eagerState=u,Ge(u,s)){var a=t.interleaved;a===null?(l.next=l,Ss(t)):(l.next=a.next,a.next=l),t.interleaved=l;return}}catch{}finally{}n=ya(e,t,l,r),n!==null&&(l=pe(),Xe(n,e,r,l),Ua(n,t,r))}}function $a(e){var t=e.alternate;return e===Y||t!==null&&t===Y}function Ia(e,t){Vn=il=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ua(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,os(e,n)}}var sl={readContext:$e,useCallback:oe,useContext:oe,useEffect:oe,useImperativeHandle:oe,useInsertionEffect:oe,useLayoutEffect:oe,useMemo:oe,useReducer:oe,useRef:oe,useState:oe,useDebugValue:oe,useDeferredValue:oe,useTransition:oe,useMutableSource:oe,useSyncExternalStore:oe,useId:oe,unstable_isNewReconciler:!1},Nf={readContext:$e,useCallback:function(e,t){return Ze().memoizedState=[e,t===void 0?null:t],e},useContext:$e,useEffect:zo,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,$r(4194308,4,za.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $r(4194308,4,e,t)},useInsertionEffect:function(e,t){return $r(4,2,e,t)},useMemo:function(e,t){var n=Ze();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ze();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Sf.bind(null,Y,e),[r.memoizedState,e]},useRef:function(e){var t=Ze();return e={current:e},t.memoizedState=e},useState:Lo,useDebugValue:Ls,useDeferredValue:function(e){return Ze().memoizedState=e},useTransition:function(){var e=Lo(!1),t=e[0];return e=xf.bind(null,e[1]),Ze().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Y,l=Ze();if(Q){if(n===void 0)throw Error(N(407));n=n()}else{if(n=t(),ne===null)throw Error(N(349));Bt&30||Na(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,zo(Ca.bind(null,r,i,e),[e]),r.flags|=2048,sr(9,ja.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ze(),t=ne.identifierPrefix;if(Q){var n=lt,r=rt;n=(r&~(1<<32-Ye(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=lr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[qe]=t,e[tr]=r,Ga(e,t,!1,!1),t.stateNode=e;e:{switch(s=hi(n,r),n){case"dialog":H("cancel",e),H("close",e),l=r;break;case"iframe":case"object":case"embed":H("load",e),l=r;break;case"video":case"audio":for(l=0;lwn&&(t.flags|=128,r=!0,Tn(i,!1),t.lanes=4194304)}else{if(!r)if(e=ll(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Tn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Q)return ue(t),null}else 2*Z()-i.renderingStartTime>wn&&n!==1073741824&&(t.flags|=128,r=!0,Tn(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(n=i.last,n!==null?n.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Z(),t.sibling=null,n=K.current,B(K,r?n&1|2:n&1),t):(ue(t),null);case 22:case 23:return Ms(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ee&1073741824&&(ue(t),t.subtreeFlags&6&&(t.flags|=8192)):ue(t),null;case 24:return null;case 25:return null}throw Error(N(156,t.tag))}function zf(e,t){switch(vs(t),t.tag){case 1:return Ne(t.type)&&Zr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return gn(),W(ke),W(ce),Cs(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return js(t),null;case 13:if(W(K),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(N(340));mn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return W(K),null;case 4:return gn(),null;case 10:return xs(t.type._context),null;case 22:case 23:return Ms(),null;case 24:return null;default:return null}}var _r=!1,ae=!1,Rf=typeof WeakSet=="function"?WeakSet:Set,L=null;function ln(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){G(e,t,r)}else n.current=null}function Vi(e,t,n){try{n()}catch(r){G(e,t,r)}}var Bo=!1;function Of(e,t){if(ji=Yr,e=na(),hs(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var s=0,u=-1,a=-1,d=0,v=0,m=e,h=null;t:for(;;){for(var w;m!==n||l!==0&&m.nodeType!==3||(u=s+l),m!==i||r!==0&&m.nodeType!==3||(a=s+r),m.nodeType===3&&(s+=m.nodeValue.length),(w=m.firstChild)!==null;)h=m,m=w;for(;;){if(m===e)break t;if(h===n&&++d===l&&(u=s),h===i&&++v===r&&(a=s),(w=m.nextSibling)!==null)break;m=h,h=m.parentNode}m=w}n=u===-1||a===-1?null:{start:u,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ci={focusedElem:e,selectionRange:n},Yr=!1,L=t;L!==null;)if(t=L,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,L=e;else for(;L!==null;){t=L;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var S=x.memoizedProps,C=x.memoizedState,p=t.stateNode,c=p.getSnapshotBeforeUpdate(t.elementType===t.type?S:We(t.type,S),C);p.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(g){G(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,L=e;break}L=t.return}return x=Bo,Bo=!1,x}function Bn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Vi(t,n,i)}l=l.next}while(l!==r)}}function Sl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Bi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function qa(e){var t=e.alternate;t!==null&&(e.alternate=null,qa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[qe],delete t[tr],delete t[Pi],delete t[mf],delete t[vf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ba(e){return e.tag===5||e.tag===3||e.tag===4}function Ho(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ba(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Jr));else if(r!==4&&(e=e.child,e!==null))for(Hi(e,t,n),e=e.sibling;e!==null;)Hi(e,t,n),e=e.sibling}function Wi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Wi(e,t,n),e=e.sibling;e!==null;)Wi(e,t,n),e=e.sibling}var re=null,Qe=!1;function dt(e,t,n){for(n=n.child;n!==null;)ec(e,t,n),n=n.sibling}function ec(e,t,n){if(be&&typeof be.onCommitFiberUnmount=="function")try{be.onCommitFiberUnmount(pl,n)}catch{}switch(n.tag){case 5:ae||ln(n,t);case 6:var r=re,l=Qe;re=null,dt(e,t,n),re=r,Qe=l,re!==null&&(Qe?(e=re,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):re.removeChild(n.stateNode));break;case 18:re!==null&&(Qe?(e=re,n=n.stateNode,e.nodeType===8?Ql(e.parentNode,n):e.nodeType===1&&Ql(e,n),Jn(e)):Ql(re,n.stateNode));break;case 4:r=re,l=Qe,re=n.stateNode.containerInfo,Qe=!0,dt(e,t,n),re=r,Qe=l;break;case 0:case 11:case 14:case 15:if(!ae&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&Vi(n,t,s),l=l.next}while(l!==r)}dt(e,t,n);break;case 1:if(!ae&&(ln(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){G(n,t,u)}dt(e,t,n);break;case 21:dt(e,t,n);break;case 22:n.mode&1?(ae=(r=ae)||n.memoizedState!==null,dt(e,t,n),ae=r):dt(e,t,n);break;default:dt(e,t,n)}}function Wo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Rf),t.forEach(function(r){var l=Bf.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function He(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=s),r&=~i}if(r=l,r=Z()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ff(r/1960))-r,10e?16:e,gt===null)var r=!1;else{if(e=gt,gt=null,al=0,$&6)throw Error(N(331));var l=$;for($|=4,L=e.current;L!==null;){var i=L,s=i.child;if(L.flags&16){var u=i.deletions;if(u!==null){for(var a=0;aZ()-Ds?It(e,0):Os|=n),je(e,t)}function uc(e,t){t===0&&(e.mode&1?(t=yr,yr<<=1,!(yr&130023424)&&(yr=4194304)):t=1);var n=pe();e=ut(e,t),e!==null&&(ar(e,t,n),je(e,n))}function Vf(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),uc(e,n)}function Bf(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(N(314))}r!==null&&r.delete(t),uc(e,n)}var ac;ac=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ke.current)Se=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Se=!1,Tf(e,t,n);Se=!!(e.flags&131072)}else Se=!1,Q&&t.flags&1048576&&pa(t,el,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ir(e,t),e=t.pendingProps;var l=hn(t,ce.current);dn(t,n),l=_s(null,t,r,e,l,n);var i=Ps();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ne(r)?(i=!0,qr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,ks(t),l.updater=xl,t.stateNode=l,l._reactInternals=t,Di(t,r,e,n),t=$i(null,t,r,!0,i,n)):(t.tag=0,Q&&i&&ms(t),fe(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ir(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Wf(r),e=We(r,e),l){case 0:t=Mi(null,t,r,e,n);break e;case 1:t=Uo(null,t,r,e,n);break e;case 11:t=$o(null,t,r,e,n);break e;case 14:t=Io(null,t,r,We(r.type,e),n);break e}throw Error(N(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),Mi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),Uo(e,t,r,l,n);case 3:e:{if(Ka(t),e===null)throw Error(N(387));r=t.pendingProps,i=t.memoizedState,l=i.element,wa(e,t),rl(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=yn(Error(N(423)),t),t=Ao(e,t,r,n,l);break e}else if(r!==l){l=yn(Error(N(424)),t),t=Ao(e,t,r,n,l);break e}else for(_e=St(t.stateNode.containerInfo.firstChild),Pe=t,Q=!0,Ke=null,n=ga(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(mn(),r===l){t=at(e,t,n);break e}fe(e,t,r,n)}t=t.child}return t;case 5:return xa(t),e===null&&zi(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,s=l.children,Ei(r,l)?s=null:i!==null&&Ei(r,i)&&(t.flags|=32),Qa(e,t),fe(e,t,s,n),t.child;case 6:return e===null&&zi(t),null;case 13:return Ya(e,t,n);case 4:return Ns(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=vn(t,null,r,n):fe(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),$o(e,t,r,l,n);case 7:return fe(e,t,t.pendingProps,n),t.child;case 8:return fe(e,t,t.pendingProps.children,n),t.child;case 12:return fe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,s=l.value,B(tl,r._currentValue),r._currentValue=s,i!==null)if(Ge(i.value,s)){if(i.children===l.children&&!ke.current){t=at(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var u=i.dependencies;if(u!==null){s=i.child;for(var a=u.firstContext;a!==null;){if(a.context===r){if(i.tag===1){a=it(-1,n&-n),a.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var v=d.pending;v===null?a.next=a:(a.next=v.next,v.next=a),d.pending=a}}i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),Ri(i.return,n,t),u.lanes|=n;break}a=a.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(N(341));s.lanes|=n,u=s.alternate,u!==null&&(u.lanes|=n),Ri(s,n,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}fe(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,dn(t,n),l=$e(l),r=r(l),t.flags|=1,fe(e,t,r,n),t.child;case 14:return r=t.type,l=We(r,t.pendingProps),l=We(r.type,l),Io(e,t,r,l,n);case 15:return Ha(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:We(r,l),Ir(e,t),t.tag=1,Ne(r)?(e=!0,qr(t)):e=!1,dn(t,n),Aa(t,r,l),Di(t,r,l,n),$i(null,t,r,!0,e,n);case 19:return Xa(e,t,n);case 22:return Wa(e,t,n)}throw Error(N(156,t.tag))};function cc(e,t){return $u(e,t)}function Hf(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Fe(e,t,n,r){return new Hf(e,t,n,r)}function Is(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Wf(e){if(typeof e=="function")return Is(e)?1:0;if(e!=null){if(e=e.$$typeof,e===rs)return 11;if(e===ls)return 14}return 2}function Ct(e,t){var n=e.alternate;return n===null?(n=Fe(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Vr(e,t,n,r,l,i){var s=2;if(r=e,typeof e=="function")Is(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Gt:return Ut(n.children,l,i,t);case ns:s=8,l|=8;break;case li:return e=Fe(12,n,t,l|2),e.elementType=li,e.lanes=i,e;case ii:return e=Fe(13,n,t,l),e.elementType=ii,e.lanes=i,e;case si:return e=Fe(19,n,t,l),e.elementType=si,e.lanes=i,e;case xu:return Nl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case yu:s=10;break e;case wu:s=9;break e;case rs:s=11;break e;case ls:s=14;break e;case ft:s=16,r=null;break e}throw Error(N(130,e==null?e:typeof e,""))}return t=Fe(s,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Ut(e,t,n,r){return e=Fe(7,e,r,t),e.lanes=n,e}function Nl(e,t,n,r){return e=Fe(22,e,r,t),e.elementType=xu,e.lanes=n,e.stateNode={isHidden:!1},e}function bl(e,t,n){return e=Fe(6,e,null,t),e.lanes=n,e}function ei(e,t,n){return t=Fe(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Qf(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Dl(0),this.expirationTimes=Dl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Dl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Us(e,t,n,r,l,i,s,u,a){return e=new Qf(e,t,n,u,a),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Fe(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ks(i),e}function Kf(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hc)}catch(e){console.error(e)}}hc(),hu.exports=Le;var Zf=hu.exports,mc,qo=Zf;mc=qo.createRoot,qo.hydrateRoot;async function ve(e){const t=await fetch(e);if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.json()}async function qf(){return ve("/api/archives")}async function bf(e){return ve(`/api/archives/${e}/entries`)}async function ep(e,t,n){const r=new URLSearchParams;return t&&r.set("q",t),n&&r.set("tag",n),ve(`/api/archives/${e}/entries/search?${r}`)}async function tp(e,t){return ve(`/api/archives/${e}/entries/${t}`)}async function ti(e,t){return ve(`/api/archives/${e}/entries/${t}/tags`)}async function np(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag_path:n})});if(!r.ok)throw new Error(`Failed to add tag (${r.status})`)}async function rp(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Remove failed (${r.status})`)}async function bo(e){return ve(`/api/archives/${e}/runs`)}async function ni(e){return ve(`/api/archives/${e}/tags`)}async function lp(e,t){const n=await fetch(`/api/archives/${e}/captures`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locator:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function ip(e,t){return ve(`/api/archives/${e}/capture_jobs/${t}`)}async function sp(){return(await(await fetch("/api/auth/setup")).json()).setup_required===!0}async function op(e,t){const n=await fetch("/api/auth/setup",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Setup failed");return n.json()}async function up(e,t){const n=await fetch("/api/auth/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Login failed");return n.json()}async function ap(){await fetch("/api/auth/logout",{method:"POST"})}async function cp(){const e=await fetch("/api/auth/me");return e.status===401?null:e.json()}async function dp(e){const t=await fetch("/api/auth/me",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({display_name:e})});if(!t.ok)throw new Error(await t.text())}async function fp(e,t){const n=await fetch("/api/auth/me",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({current_password:e,new_password:t})});if(!n.ok){let r=await n.text();try{r=JSON.parse(r).error??r}catch{}throw new Error(r)}}async function pp(){return ve("/api/auth/tokens")}async function hp(e){const t=await fetch("/api/auth/tokens",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});if(!t.ok)throw new Error(await t.text());return t.json()}async function mp(e){const t=await fetch(`/api/auth/tokens/${e}`,{method:"DELETE"});if(!t.ok)throw new Error(await t.text())}async function vp(){return ve("/api/admin/instance-settings")}async function gp(e){const t=await fetch("/api/admin/instance-settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(await t.text())}async function yp(){return ve("/api/admin/users")}async function wp(e,t,n){const r=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t,email:n||void 0})});if(!r.ok){const l=await r.json().catch(()=>({}));throw new Error(l.error||`HTTP ${r.status}`)}return r.json()}async function xp(e,t){const n=await fetch(`/api/admin/users/${e}/status`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function Sp(){return ve("/api/admin/roles")}async function kp(e,t){const n=await fetch("/api/admin/roles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e,name:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function Np(e){return ve(`/api/archives/${e}/collections`)}async function jp(e,t,n,r=2){const l=await fetch(`/api/archives/${e}/collections`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:t,slug:n,default_visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}return l.json()}async function Cp(e,t){return ve(`/api/archives/${e}/collections/${t}`)}async function Ep(e,t,n,r=2){const l=await fetch(`/api/archives/${e}/collections/${t}/entries`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({entry_uid:n,visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}}async function _p(e,t,n){const r=await fetch(`/api/archives/${e}/collections/${t}/entries/${n}`,{method:"DELETE"});if(!r.ok){const l=await r.json().catch(()=>({error:r.statusText}));throw new Error(l.error||r.statusText)}}async function Pp(e,t,n,r){const l=await fetch(`/api/archives/${e}/collections/${t}/entries/${n}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}}async function Tp(e,t){return ve(`/api/archives/${e}/entries/${t}/collections`)}async function eu(e,t,n){const r=await fetch(`/api/archives/${e}/collections/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok){const l=await r.json().catch(()=>({}));throw new Error(l.error??r.statusText)}}async function Lp(e,t){const n=await fetch(`/api/archives/${e}/collections/${t}`,{method:"DELETE"});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error??n.statusText)}}const zp=window.fetch;window.fetch=async(...e)=>{var n;const t=await zp(...e);return t.status===401&&((typeof e[0]=="string"?e[0]:((n=e[0])==null?void 0:n.url)??"").includes("/api/auth/")||window.dispatchEvent(new CustomEvent("auth:expired"))),t};function Rp({onLogin:e}){const[t,n]=y.useState(""),[r,l]=y.useState(""),[i,s]=y.useState(null),[u,a]=y.useState(!1);async function d(v){v.preventDefault(),s(null),a(!0);try{const m=await up(t,r);e(m)}catch(m){s(m.message)}finally{a(!1)}}return o.jsx("div",{className:"login-page",children:o.jsxs("div",{className:"login-card",children:[o.jsx("h1",{className:"login-brand",children:"Archivr"}),o.jsx("p",{className:"login-tagline",children:"Sign in to your archive"}),o.jsxs("form",{onSubmit:d,children:[o.jsxs("div",{className:"login-field",children:[o.jsx("label",{className:"login-label",htmlFor:"login-username",children:"Username"}),o.jsx("input",{className:"login-input",id:"login-username",type:"text",value:t,onChange:v=>n(v.target.value),autoFocus:!0,required:!0,autoComplete:"username"})]}),o.jsxs("div",{className:"login-field",children:[o.jsx("label",{className:"login-label",htmlFor:"login-password",children:"Password"}),o.jsx("input",{className:"login-input",id:"login-password",type:"password",value:r,onChange:v=>l(v.target.value),required:!0,autoComplete:"current-password"})]}),i&&o.jsx("p",{className:"login-error",children:i}),o.jsx("button",{className:"login-submit",type:"submit",disabled:u,children:u?"Signing in…":"Sign in"})]})]})})}function Op({onComplete:e}){const[t,n]=y.useState(""),[r,l]=y.useState(""),[i,s]=y.useState(""),[u,a]=y.useState(null),[d,v]=y.useState(!1);async function m(h){if(h.preventDefault(),r!==i){a("Passwords do not match");return}if(r.length<8){a("Password must be at least 8 characters");return}a(null),v(!0);try{await op(t,r),e()}catch(w){a(w.message)}finally{v(!1)}}return o.jsx("div",{className:"setup-page",children:o.jsxs("div",{className:"setup-card",children:[o.jsx("h1",{className:"setup-brand",children:"Archivr"}),o.jsx("p",{className:"setup-tagline",children:"Create your owner account to get started."}),o.jsxs("form",{onSubmit:m,children:[o.jsxs("div",{className:"setup-field",children:[o.jsx("label",{className:"setup-label",htmlFor:"setup-username",children:"Username"}),o.jsx("input",{className:"setup-input",id:"setup-username",type:"text",value:t,onChange:h=>n(h.target.value),autoFocus:!0,required:!0,autoComplete:"username"})]}),o.jsxs("div",{className:"setup-field",children:[o.jsx("label",{className:"setup-label",htmlFor:"setup-password",children:"Password"}),o.jsx("input",{className:"setup-input",id:"setup-password",type:"password",value:r,onChange:h=>l(h.target.value),required:!0,autoComplete:"new-password"})]}),o.jsxs("div",{className:"setup-field",children:[o.jsx("label",{className:"setup-label",htmlFor:"setup-confirm",children:"Confirm password"}),o.jsx("input",{className:"setup-input",id:"setup-confirm",type:"password",value:i,onChange:h=>s(h.target.value),required:!0,autoComplete:"new-password"})]}),u&&o.jsx("p",{className:"setup-error",children:u}),o.jsx("button",{className:"setup-submit",type:"submit",disabled:d,children:d?"Creating account…":"Create account"})]})]})})}function Dp({archives:e,archiveId:t,onArchiveChange:n,view:r,onViewChange:l,onCaptureClick:i}){const{currentUser:s,setCurrentUser:u}=y.useContext(Pl)??{},[a,d]=y.useState(!1);async function v(){d(!0),await ap(),u(null),window.location.reload()}return o.jsxs("header",{className:"topbar",children:[o.jsx("div",{className:"brand",children:"Archivr"}),o.jsx("div",{className:"switcher",children:o.jsx("select",{"aria-label":"Select archive",value:t??"",onChange:m=>n(m.target.value),children:e.map(m=>o.jsx("option",{value:m.id,children:m.label},m.id))})}),o.jsx("nav",{className:"nav","aria-label":"Primary",children:["archive","runs","admin","tags","collections","settings"].map(m=>o.jsx("button",{className:`nav-link${r===m?" is-active":""}`,onClick:()=>l(m),children:m.charAt(0).toUpperCase()+m.slice(1)},m))}),o.jsx("button",{className:"capture-button",onClick:i,children:"+ Capture"}),s&&o.jsxs("div",{className:"user-menu",children:[o.jsx("span",{className:"user-name",children:s.display_name||s.username}),o.jsx("button",{className:"logout-btn",onClick:v,disabled:a,children:a?"Logging out…":"Log out"})]})]})}function Fp({open:e,archiveId:t,onClose:n,onCaptured:r}){const l=y.useRef(null),[i,s]=y.useState(""),[u,a]=y.useState(null),[d,v]=y.useState(!1),[m,h]=y.useState(null),w=y.useRef(null);y.useEffect(()=>{const C=l.current;if(!C)return;const p=()=>{clearInterval(w.current),n()};return C.addEventListener("close",p),()=>C.removeEventListener("close",p)},[n]),y.useEffect(()=>{const C=l.current;C&&(e?(s(""),a(null),h(null),v(!1),clearInterval(w.current),C.open||C.showModal()):C.open&&C.close())},[e]);async function x(){if(!i.trim()){a("Enter a locator.");return}v(!0),a(null),h(null);try{const C=await lp(t,i.trim());h("running"),w.current=setInterval(async()=>{var p;try{const c=await ip(t,C.job_uid);c.status==="completed"?(clearInterval(w.current),w.current=null,v(!1),h("completed"),(p=l.current)==null||p.close(),r()):c.status==="failed"&&(clearInterval(w.current),w.current=null,v(!1),h("failed"),a(c.error_text||"Capture failed."))}catch(c){clearInterval(w.current),w.current=null,v(!1),a(c.message)}},500)}catch(C){a(C.message),v(!1)}}function S(){return d?m==="running"?"Running…":"Capturing…":"Capture"}return o.jsx("dialog",{ref:l,className:"capture-dialog",children:o.jsxs("div",{className:"capture-dialog-inner",children:[o.jsx("h2",{className:"capture-dialog-title",children:"Capture"}),o.jsx("label",{htmlFor:"capture-locator",className:"capture-label",children:"Locator"}),o.jsx("input",{id:"capture-locator",className:"capture-input",type:"text",placeholder:"tweet:1234567890 or https://...",value:i,onChange:C=>s(C.target.value),onKeyDown:C=>{C.key==="Enter"&&x()},autoComplete:"off"}),u&&o.jsx("div",{className:"capture-error",children:u}),o.jsxs("div",{className:"capture-actions",children:[o.jsx("button",{type:"button",className:"capture-cancel",onClick:()=>{var C;return(C=l.current)==null?void 0:C.close()},children:"Cancel"}),o.jsx("button",{type:"button",className:"capture-submit",onClick:x,disabled:d,children:S()})]})]})})}function vc(e){if(!e)return"0 B";const t=["B","KB","MB","GB"];let n=e,r=0;for(;n>=1024&&rString(r).padStart(2,"0");return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())}`}const tu={youtube:'',x:'',instagram:'',facebook:'',tiktok:'',reddit:'',snapchat:'',local:'',web:'',other:'?'};function yc(e){return tu[e]??tu.other}function Mp({entry:e,archiveId:t,isSelected:n,onSelect:r}){const[l,i]=y.useState(!1),u=e.source_kind==="web"&&e.entity_kind==="page"&&e.has_favicon&&t&&!l?o.jsx("img",{src:`/api/archives/${t}/entries/${e.entry_uid}/favicon`,width:"16",height:"16",alt:"",onError:()=>i(!0),style:{objectFit:"contain"}}):o.jsx("span",{dangerouslySetInnerHTML:{__html:yc(e.source_kind)}});return o.jsxs("div",{className:n?"is-selected":void 0,tabIndex:0,"data-entry-uid":e.entry_uid,onClick:r,onKeyDown:a=>{a.key==="Enter"&&r()},children:[o.jsx("div",{className:"col-added",children:gc(e.archived_at)}),o.jsxs("div",{className:"col-title",children:[o.jsx("span",{className:"source-icon",children:u}),o.jsx("span",{className:"entry-title",children:$t(e.title)||$t(e.entry_uid)})]}),o.jsx("div",{className:"col-type",children:o.jsx("span",{className:"type-pill",children:$t(e.entity_kind)})}),o.jsx("div",{className:"col-size",children:vc(e.total_artifact_bytes)}),o.jsx("div",{className:"url-cell col-url",children:$t(e.original_url)})]})}function $p({entries:e,selectedEntryUid:t,onSelectEntry:n,archiveId:r}){return o.jsx("section",{id:"archive-view",className:"view is-active",children:o.jsxs("div",{className:"entry-table",children:[o.jsxs("div",{className:"entry-header-row",children:[o.jsx("div",{className:"col-added",children:"Added"}),o.jsx("div",{className:"col-title",children:"Title"}),o.jsx("div",{className:"col-type",children:"Type"}),o.jsx("div",{className:"col-size",children:"Size"}),o.jsx("div",{className:"col-url",children:"Original URL"})]}),o.jsx("div",{id:"entries-body",children:e.map(l=>o.jsx(Mp,{entry:l,archiveId:r,isSelected:l.entry_uid===t,onSelect:()=>n(l)},l.entry_uid))})]})})}function Ip(e){if(!e)return"—";try{return new Date(e).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return e}}function Up({status:e}){const t=e==="completed"?"run-status--completed":e==="failed"?"run-status--failed":e==="running"?"run-status--running":"";return o.jsx("span",{className:`run-status ${t}`,children:e||"—"})}function Ap({runs:e}){return o.jsx("section",{id:"runs-view",className:"view is-active",children:o.jsxs("table",{className:"entry-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Started"}),o.jsx("th",{children:"Status"}),o.jsx("th",{children:"Requested"}),o.jsx("th",{children:"Completed"}),o.jsx("th",{children:"Failed"})]})}),o.jsx("tbody",{children:e.length===0?o.jsx("tr",{children:o.jsx("td",{colSpan:5,style:{color:"var(--muted)",padding:"24px 16px",textAlign:"center"},children:"No runs yet."})}):e.map((t,n)=>o.jsxs("tr",{children:[o.jsx("td",{children:Ip(t.started_at)}),o.jsx("td",{children:o.jsx(Up,{status:t.status})}),o.jsx("td",{children:t.requested_count??"—"}),o.jsx("td",{children:t.completed_count??"—"}),o.jsx("td",{children:t.failed_count??"—"})]},n))})]})})}const Vp=4;function Bp({archives:e}){const{currentUser:t}=y.useContext(Pl)??{},n=t&&(t.role_bits&Vp)!==0,[r,l]=y.useState("users"),[i,s]=y.useState([]),[u,a]=y.useState([]),[d,v]=y.useState(!1),[m,h]=y.useState(null),[w,x]=y.useState(""),[S,C]=y.useState(""),[p,c]=y.useState(""),[f,g]=y.useState(null),[j,P]=y.useState(!1),[T,z]=y.useState(""),[U,D]=y.useState(""),[J,Ce]=y.useState(null),[ge,ye]=y.useState(!1),Ue=y.useCallback(async()=>{if(n){v(!0),h(null);try{const[k,R]=await Promise.all([yp(),Sp()]);s(k),a(R)}catch(k){h(k.message)}finally{v(!1)}}},[n]);y.useEffect(()=>{Ue()},[Ue]);async function Ae(k){const R=k.status==="active"?"disabled":"active";try{await xp(k.user_uid,R),s(A=>A.map(O=>O.user_uid===k.user_uid?{...O,status:R}:O))}catch(A){h(A.message)}}async function Ve(k){if(k.preventDefault(),!w.trim()||!S){g("Username and password required");return}P(!0),g(null);try{await wp(w.trim(),S,p.trim()||void 0),x(""),C(""),c(""),await Ue()}catch(R){g(R.message)}finally{P(!1)}}async function E(k){if(k.preventDefault(),!T.trim()||!U.trim()){Ce("Slug and name required");return}ye(!0),Ce(null);try{await kp(T.trim(),U.trim()),z(""),D(""),await Ue()}catch(R){Ce(R.message)}finally{ye(!1)}}return n?o.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[o.jsx("h1",{children:"Admin"}),o.jsxs("div",{className:"view-tabs",children:[o.jsx("button",{className:`view-tab${r==="users"?" is-active":""}`,onClick:()=>l("users"),children:"Users"}),o.jsx("button",{className:`view-tab${r==="roles"?" is-active":""}`,onClick:()=>l("roles"),children:"Roles"}),o.jsx("button",{className:`view-tab${r==="archives"?" is-active":""}`,onClick:()=>l("archives"),children:"Archives"})]}),m&&o.jsx("div",{className:"form-msg form-msg--err",children:m}),r==="users"&&o.jsxs("div",{className:"admin-section",children:[o.jsx("h2",{children:"Users"}),d?o.jsx("p",{className:"muted",children:"Loading…"}):o.jsxs("table",{className:"admin-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Username"}),o.jsx("th",{children:"Email"}),o.jsx("th",{children:"Roles"}),o.jsx("th",{children:"Status"}),o.jsx("th",{children:"Actions"})]})}),o.jsx("tbody",{children:i.map(k=>o.jsxs("tr",{className:k.status==="disabled"?"admin-row-disabled":"",children:[o.jsx("td",{children:k.username}),o.jsx("td",{className:"muted",children:k.email||"—"}),o.jsx("td",{children:k.role_slugs.join(", ")||"—"}),o.jsx("td",{children:o.jsx("span",{className:`status-badge status-${k.status}`,children:k.status})}),o.jsx("td",{children:o.jsx("button",{className:"admin-action-btn",onClick:()=>Ae(k),children:k.status==="active"?"Ban":"Unban"})})]},k.user_uid))})]}),o.jsx("h3",{children:"Create User"}),o.jsxs("form",{className:"admin-form",onSubmit:Ve,children:[o.jsx("input",{className:"admin-input",placeholder:"Username",value:w,onChange:k=>x(k.target.value),required:!0}),o.jsx("input",{className:"admin-input",type:"password",placeholder:"Password (min 8 chars)",value:S,onChange:k=>C(k.target.value),required:!0}),o.jsx("input",{className:"admin-input",type:"email",placeholder:"Email (optional)",value:p,onChange:k=>c(k.target.value)}),f&&o.jsx("div",{className:"form-msg form-msg--err",children:f}),o.jsx("button",{className:"btn-primary",type:"submit",disabled:j,children:j?"Creating…":"Create User"})]})]}),r==="roles"&&o.jsxs("div",{className:"admin-section",children:[o.jsx("h2",{children:"Roles"}),d?o.jsx("p",{className:"muted",children:"Loading…"}):o.jsxs("table",{className:"admin-table",children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Slug"}),o.jsx("th",{children:"Name"}),o.jsx("th",{children:"Level"}),o.jsx("th",{children:"Bit"}),o.jsx("th",{children:"Built-in"})]})}),o.jsx("tbody",{children:u.map(k=>o.jsxs("tr",{children:[o.jsx("td",{children:o.jsx("code",{children:k.slug})}),o.jsx("td",{children:k.name}),o.jsx("td",{children:k.level}),o.jsx("td",{children:k.bit_position}),o.jsx("td",{children:k.is_builtin?"✓":""})]},k.role_uid))})]}),o.jsx("h3",{children:"Create Custom Role"}),o.jsxs("form",{className:"admin-form",onSubmit:E,children:[o.jsx("input",{className:"admin-input",placeholder:"Slug (e.g. moderator)",value:T,onChange:k=>z(k.target.value),required:!0}),o.jsx("input",{className:"admin-input",placeholder:"Display Name (e.g. Moderator)",value:U,onChange:k=>D(k.target.value),required:!0}),J&&o.jsx("div",{className:"form-msg form-msg--err",children:J}),o.jsx("button",{className:"btn-primary",type:"submit",disabled:ge,children:ge?"Creating…":"Create Role"})]})]}),r==="archives"&&o.jsxs("div",{className:"admin-section",children:[o.jsx("h2",{children:"Mounted Archives"}),o.jsx("div",{className:"admin-list",children:e.map(k=>o.jsxs("div",{className:"admin-archive",children:[o.jsx("strong",{children:k.label}),o.jsx("div",{className:"muted",children:k.archive_path})]},k.id))})]})]}):o.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[o.jsx("h1",{children:"Admin"}),o.jsx("p",{className:"muted",children:"You need admin privileges to access this panel."}),o.jsx("h2",{children:"Mounted Archives"}),o.jsx("div",{className:"admin-list",children:e.map(k=>o.jsxs("div",{className:"admin-archive",children:[o.jsx("strong",{children:k.label}),o.jsx("div",{className:"muted",children:k.archive_path})]},k.id))})]})}function wc({node:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){var s;const l=t===e.tag.full_path;function i(){const u=l?null:e.tag.full_path;n(u),r("archive")}return o.jsxs("li",{children:[o.jsx("button",{className:`tag-node-btn${l?" is-active":""}`,title:e.tag.full_path,onClick:i,children:e.tag.name}),((s=e.children)==null?void 0:s.length)>0&&o.jsx("div",{className:"tag-children",children:o.jsx("ul",{className:"tag-tree-list",children:e.children.map(u=>o.jsx(wc,{node:u,tagFilter:t,onTagFilterSet:n,onViewChange:r},u.tag.tag_uid))})})]})}function Hp({tagNodes:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){return o.jsx("section",{id:"tags-view",className:"view is-active",children:o.jsxs("div",{className:"tag-tree",children:[o.jsxs("div",{className:"tag-tree-header",children:[o.jsx("span",{className:"tag-tree-title",children:"Tags"}),t&&o.jsxs("span",{className:"tag-tree-active",children:["Filtering: ",t]})]}),e.length===0?o.jsx("p",{className:"muted",style:{padding:"8px 0"},children:"No tags yet."}):o.jsx("ul",{className:"tag-tree-list",children:e.map(l=>o.jsx(wc,{node:l,tagFilter:t,onTagFilterSet:n,onViewChange:r},l.tag.tag_uid))})]})})}const Fn=[{value:0,label:"Private"},{value:2,label:"Users only"},{value:3,label:"Public"}],Wp=e=>{var t;return((t=Fn.find(n=>n.value===e))==null?void 0:t.label)??String(e)};function Qp({archiveId:e}){const[t,n]=y.useState([]),[r,l]=y.useState(!1),[i,s]=y.useState(null),[u,a]=y.useState(null),[d,v]=y.useState(null),[m,h]=y.useState(!1),[w,x]=y.useState(null),[S,C]=y.useState(""),[p,c]=y.useState(""),[f,g]=y.useState(2),[j,P]=y.useState(!1),[T,z]=y.useState(null),[U,D]=y.useState(""),[J,Ce]=y.useState(2),[ge,ye]=y.useState(!1),[Ue,Ae]=y.useState(null),[Ve,E]=y.useState(!1),[k,R]=y.useState(""),A=y.useRef(null),O=t.find(_=>_.collection_uid===u)??null,de=(O==null?void 0:O.slug)==="_default_",F=y.useCallback(async()=>{if(e){l(!0),s(null);try{const _=await Np(e);n(_)}catch(_){s(_.message)}finally{l(!1)}}},[e]),se=y.useCallback(async _=>{if(!_){v(null);return}h(!0),x(null);try{const I=await Cp(e,_);v(I)}catch(I){x(I.message)}finally{h(!1)}},[e]);y.useEffect(()=>{F()},[F]),y.useEffect(()=>{se(u)},[u,se]),y.useEffect(()=>{Ve&&A.current&&A.current.focus()},[Ve]);async function Re(_){_.preventDefault();const I=S.trim(),Be=p.trim();if(!(!I||!Be)){P(!0),z(null);try{const zt=await jp(e,I,Be,f);C(""),c(""),g(2),await F(),a(zt.collection_uid)}catch(zt){z(zt.message)}finally{P(!1)}}}async function we(){const _=k.trim();if(!_||!O){E(!1);return}try{await eu(e,O.collection_uid,{name:_}),await F(),v(I=>I&&{...I,name:_})}catch(I){s(I.message)}finally{E(!1)}}async function xc(_){if(O)try{await eu(e,O.collection_uid,{default_visibility_bits:_}),await F(),v(I=>I&&{...I,default_visibility_bits:_})}catch(I){s(I.message)}}async function Sc(){if(O&&window.confirm(`Delete collection "${O.name}"? Entries will not be deleted.`))try{await Lp(e,O.collection_uid),a(null),v(null),await F()}catch(_){s(_.message)}}async function kc(_){_.preventDefault();const I=U.trim();if(!(!I||!O)){ye(!0),Ae(null);try{await Ep(e,O.collection_uid,I,J),D(""),await se(O.collection_uid)}catch(Be){Ae(Be.message)}finally{ye(!1)}}}async function Nc(_){if(O)try{await _p(e,O.collection_uid,_),await se(O.collection_uid)}catch(I){x(I.message)}}async function jc(_,I){if(O)try{await Pp(e,O.collection_uid,_,I),v(Be=>Be&&{...Be,entries:Be.entries.map(zt=>zt.entry_uid===_?{...zt,collection_visibility_bits:I}:zt)})}catch(Be){x(Be.message)}}return e?o.jsxs("div",{className:"collections-view",children:[o.jsx("h2",{className:"collections-heading",children:"Collections"}),r&&o.jsx("div",{className:"muted",children:"Loading…"}),i&&o.jsxs("div",{className:"collections-error",children:[i," ",o.jsx("button",{onClick:()=>s(null),className:"coll-dismiss",children:"×"})]}),o.jsxs("div",{className:"collections-layout",children:[o.jsxs("div",{className:"collections-sidebar",children:[t.map(_=>o.jsxs("button",{className:`coll-sidebar-row${u===_.collection_uid?" is-active":""}`,onClick:()=>a(_.collection_uid),children:[o.jsx("span",{className:"coll-row-name",children:_.name}),o.jsx("span",{className:"coll-row-meta",children:Wp(_.default_visibility_bits)})]},_.collection_uid)),t.length===0&&!r&&o.jsx("div",{className:"muted",style:{padding:"8px 12px"},children:"No collections yet."})]}),O?o.jsxs("div",{className:"coll-detail",children:[o.jsxs("div",{className:"coll-detail-header",children:[Ve?o.jsx("input",{ref:A,className:"coll-rename-input",value:k,onChange:_=>R(_.target.value),onBlur:we,onKeyDown:_=>{_.key==="Enter"&&we(),_.key==="Escape"&&E(!1)}}):o.jsxs("h3",{className:`coll-detail-name${de?"":" coll-detail-name--editable"}`,title:de?void 0:"Click to rename",onClick:()=>{de||(R(O.name),E(!0))},children:[(d==null?void 0:d.name)??O.name,!de&&o.jsx("span",{className:"coll-edit-hint",children:" ✎"})]}),!de&&o.jsx("button",{className:"coll-delete-btn",onClick:Sc,title:"Delete collection",children:"Delete"})]}),o.jsxs("div",{className:"coll-detail-vis",children:[o.jsx("span",{className:"coll-vis-label",children:"Default visibility"}),o.jsx("select",{className:"coll-vis-select",value:(d==null?void 0:d.default_visibility_bits)??O.default_visibility_bits,onChange:_=>xc(Number(_.target.value)),disabled:de,children:Fn.map(_=>o.jsx("option",{value:_.value,children:_.label},_.value))})]}),o.jsxs("div",{className:"coll-entries-section",children:[o.jsx("div",{className:"coll-section-heading",children:"Entries"}),m&&o.jsx("div",{className:"muted",children:"Loading…"}),w&&o.jsx("div",{className:"collections-error",children:w}),!m&&d&&(d.entries.length===0?o.jsx("div",{className:"muted",children:"No entries in this collection."}):o.jsx("ul",{className:"coll-entries-list",children:d.entries.map(_=>o.jsxs("li",{className:"coll-entry-row",children:[o.jsxs("div",{className:"coll-entry-info",children:[o.jsx("span",{className:"coll-entry-title",children:_.title||_.entry_uid}),o.jsx("span",{className:"coll-entry-kind muted",children:_.source_kind})]}),o.jsxs("div",{className:"coll-entry-actions",children:[o.jsx("select",{className:"coll-entry-vis-select",value:_.collection_visibility_bits,onChange:I=>jc(_.entry_uid,Number(I.target.value)),children:Fn.map(I=>o.jsx("option",{value:I.value,children:I.label},I.value))}),!de&&o.jsx("button",{className:"coll-entry-remove",onClick:()=>Nc(_.entry_uid),title:"Remove from collection",children:"×"})]})]},_.entry_uid))}))]}),!de&&o.jsxs("form",{className:"coll-add-entry-form",onSubmit:kc,children:[o.jsx("div",{className:"coll-section-heading",children:"Add entry"}),o.jsxs("div",{className:"coll-add-entry-row",children:[o.jsx("input",{className:"coll-add-entry-input",type:"text",value:U,onChange:_=>D(_.target.value),placeholder:"entry_uid",required:!0}),o.jsx("select",{className:"coll-vis-select",value:J,onChange:_=>Ce(Number(_.target.value)),children:Fn.map(_=>o.jsx("option",{value:_.value,children:_.label},_.value))}),o.jsx("button",{className:"coll-add-btn",type:"submit",disabled:ge,children:ge?"…":"Add"})]}),Ue&&o.jsx("div",{className:"collections-error",style:{marginTop:4},children:Ue})]})]}):o.jsx("div",{className:"coll-detail coll-detail--empty",children:o.jsx("div",{className:"muted",children:"Select a collection to view details."})})]}),o.jsxs("details",{className:"coll-create-details",children:[o.jsx("summary",{children:"+ Create collection"}),o.jsxs("form",{className:"coll-create-form",onSubmit:Re,children:[o.jsxs("div",{className:"form-field",children:[o.jsx("label",{className:"form-label",htmlFor:"coll-name",children:"Name"}),o.jsx("input",{className:"capture-input",id:"coll-name",type:"text",value:S,onChange:_=>{C(_.target.value),p||c(_.target.value.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""))},placeholder:"My Collection",required:!0})]}),o.jsxs("div",{className:"form-field",children:[o.jsx("label",{className:"form-label",htmlFor:"coll-slug",children:"Slug"}),o.jsx("input",{className:"capture-input",id:"coll-slug",type:"text",value:p,onChange:_=>c(_.target.value),placeholder:"my-collection",required:!0})]}),o.jsxs("div",{className:"form-field",children:[o.jsx("label",{className:"form-label",htmlFor:"coll-vis",children:"Default visibility"}),o.jsx("select",{className:"capture-input",id:"coll-vis",style:{height:42},value:f,onChange:_=>g(Number(_.target.value)),children:Fn.map(_=>o.jsx("option",{value:_.value,children:_.label},_.value))})]}),T&&o.jsx("div",{className:"collections-error",children:T}),o.jsx("button",{className:"btn-primary",type:"submit",disabled:j,children:j?"Creating…":"Create collection"})]})]})]}):o.jsx("div",{className:"view-placeholder",children:"Select an archive."})}const Kp=4;function Yp(){const{currentUser:e,setCurrentUser:t}=y.useContext(Pl)??{},n=e&&(e.role_bits&Kp)!==0,[r,l]=y.useState("profile"),i=["profile","tokens",...n?["instance"]:[]],s={profile:"Profile",tokens:"API Tokens",instance:"Instance"};return o.jsxs("section",{className:"admin-view",children:[o.jsx("h1",{children:"Settings"}),o.jsx("div",{className:"view-tabs",children:i.map(u=>o.jsx("button",{className:`view-tab${r===u?" is-active":""}`,onClick:()=>l(u),children:s[u]},u))}),r==="profile"&&o.jsx(Xp,{currentUser:e,setCurrentUser:t}),r==="tokens"&&o.jsx(Gp,{}),r==="instance"&&n&&o.jsx(Jp,{})]})}function Xp({currentUser:e,setCurrentUser:t}){const[n,r]=y.useState((e==null?void 0:e.display_name)??""),[l,i]=y.useState(!1),[s,u]=y.useState(null),[a,d]=y.useState(""),[v,m]=y.useState(""),[h,w]=y.useState(""),[x,S]=y.useState(!1),[C,p]=y.useState(null);async function c(g){g.preventDefault(),i(!0),u(null);try{await dp(n),t(j=>({...j,display_name:n||null})),u({ok:!0,text:"Saved."})}catch(j){u({ok:!1,text:j.message})}finally{i(!1)}}async function f(g){if(g.preventDefault(),v!==h){p({ok:!1,text:"Passwords do not match."});return}S(!0),p(null);try{await fp(a,v),d(""),m(""),w(""),p({ok:!0,text:"Password changed."})}catch(j){p({ok:!1,text:j.message})}finally{S(!1)}}return o.jsxs("div",{style:{maxWidth:440},children:[o.jsxs("div",{className:"form-section",children:[o.jsx("h2",{children:"Display Name"}),o.jsxs("form",{onSubmit:c,children:[o.jsxs("div",{className:"form-field",children:[o.jsx("label",{className:"form-label",htmlFor:"display-name",children:"Name shown in the UI"}),o.jsx("input",{className:"field-input",id:"display-name",placeholder:(e==null?void 0:e.username)??"",value:n,onChange:g=>r(g.target.value)})]}),s&&o.jsx("div",{className:`form-msg form-msg--${s.ok?"ok":"err"}`,children:s.text}),o.jsx("button",{className:"btn-primary",type:"submit",disabled:l,children:l?"Saving…":"Save"})]})]}),o.jsxs("div",{className:"form-section",children:[o.jsx("h2",{children:"Change Password"}),o.jsxs("form",{onSubmit:f,children:[o.jsxs("div",{className:"form-field",children:[o.jsx("label",{className:"form-label",htmlFor:"cur-pw",children:"Current password"}),o.jsx("input",{className:"field-input",id:"cur-pw",type:"password",value:a,onChange:g=>d(g.target.value),required:!0})]}),o.jsxs("div",{className:"form-field",children:[o.jsx("label",{className:"form-label",htmlFor:"new-pw",children:"New password"}),o.jsx("input",{className:"field-input",id:"new-pw",type:"password",value:v,onChange:g=>m(g.target.value),required:!0})]}),o.jsxs("div",{className:"form-field",children:[o.jsx("label",{className:"form-label",htmlFor:"confirm-pw",children:"Confirm new password"}),o.jsx("input",{className:"field-input",id:"confirm-pw",type:"password",value:h,onChange:g=>w(g.target.value),required:!0})]}),C&&o.jsx("div",{className:`form-msg form-msg--${C.ok?"ok":"err"}`,children:C.text}),o.jsx("button",{className:"btn-primary",type:"submit",disabled:x,children:x?"Changing…":"Change Password"})]})]})]})}function Gp(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[l,i]=y.useState(null),[s,u]=y.useState(""),[a,d]=y.useState(!1),[v,m]=y.useState(null),h=y.useCallback(async()=>{r(!0),i(null);try{t(await pp())}catch(S){i(S.message)}finally{r(!1)}},[]);y.useEffect(()=>{h()},[h]);async function w(S){if(S.preventDefault(),!!s.trim()){d(!0);try{const C=await hp(s.trim());m(C),u(""),h()}catch(C){i(C.message)}finally{d(!1)}}}async function x(S){try{await mp(S),t(C=>C.filter(p=>p.token_uid!==S))}catch(C){i(C.message)}}return o.jsx("div",{style:{maxWidth:600},children:o.jsxs("div",{className:"form-section",children:[o.jsx("h2",{children:"API Tokens"}),v&&o.jsxs("div",{className:"token-banner",children:[o.jsx("strong",{children:"Token created."})," Copy it now — it won't be shown again.",o.jsx("code",{children:v.raw_token}),o.jsx("button",{className:"token-dismiss",onClick:()=>m(null),children:"Dismiss"})]}),o.jsxs("form",{className:"token-create-row",onSubmit:w,children:[o.jsx("input",{className:"field-input field-input--flex",placeholder:"Token name",value:s,onChange:S=>u(S.target.value),required:!0}),o.jsx("button",{className:"btn-primary",type:"submit",disabled:a,children:a?"Creating…":"Create token"})]}),l&&o.jsx("div",{className:"form-msg form-msg--err",children:l}),n?o.jsx("div",{className:"muted",children:"Loading\\u2026"}):o.jsxs("div",{children:[e.length===0&&o.jsx("div",{className:"muted",children:"No tokens yet."}),e.map(S=>o.jsxs("div",{className:"token-row",children:[o.jsxs("div",{className:"token-row-info",children:[o.jsx("strong",{children:S.name}),o.jsxs("div",{className:"muted",children:["Created ",S.created_at.slice(0,10),S.last_used_at&&` · Last used ${S.last_used_at.slice(0,10)}`]})]}),o.jsx("button",{className:"btn-danger",style:{fontSize:12,padding:"4px 10px"},onClick:()=>x(S.token_uid),children:"Revoke"})]},S.token_uid))]})]})})}function Jp(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,i]=y.useState(null),[s,u]=y.useState(!1),[a,d]=y.useState(null);y.useEffect(()=>{(async()=>{try{t(await vp())}catch(m){i(m.message)}finally{r(!1)}})()},[]);async function v(m){m.preventDefault(),u(!0),d(null);try{await gp(e),d({ok:!0,text:"Saved."})}catch(h){d({ok:!1,text:h.message})}finally{u(!1)}}return n?o.jsx("div",{className:"muted",children:"Loading\\u2026"}):l?o.jsx("div",{className:"form-msg form-msg--err",children:l}):e?o.jsx("div",{style:{maxWidth:440},children:o.jsxs("div",{className:"form-section",children:[o.jsx("h2",{children:"Instance Settings"}),o.jsxs("form",{onSubmit:v,children:[[["public_index_enabled","Public index (unauthenticated browsing)"],["public_entry_content_enabled","Public entry content"],["open_registration_enabled","Open registration"]].map(([m,h])=>o.jsxs("label",{className:"checkbox-row",children:[o.jsx("input",{type:"checkbox",checked:!!e[m],onChange:w=>t(x=>({...x,[m]:w.target.checked}))}),h]},m)),o.jsxs("div",{className:"form-field",style:{marginTop:4},children:[o.jsx("label",{className:"form-label",children:"Default entry visibility"}),o.jsxs("select",{className:"field-input",value:e.default_entry_visibility,onChange:m=>t(h=>({...h,default_entry_visibility:Number(m.target.value)})),children:[o.jsx("option",{value:0,children:"Private"}),o.jsx("option",{value:2,children:"Unlisted"}),o.jsx("option",{value:3,children:"Public"})]})]}),a&&o.jsx("div",{className:`form-msg form-msg--${a.ok?"ok":"err"}`,children:a.text}),o.jsx("button",{className:"btn-primary",type:"submit",disabled:s,children:s?"Saving…":"Save Settings"})]})]})}):null}const nu={0:"Private",1:"Public",2:"Users only",3:"Public"},Zp=()=>o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("path",{d:"M7 17 17 7M9 7h8v8"})});function qp({archiveId:e,selectedEntry:t,onTagFilterSet:n,tagNodes:r,onTagsRefresh:l}){const[i,s]=y.useState(null),[u,a]=y.useState([]),[d,v]=y.useState(""),[m,h]=y.useState([]),[w,x]=y.useState(""),S=y.useRef(0);y.useEffect(()=>{if(!t||!e){s(null),a([]),h([]);return}const f=++S.current;s(null),a([]),Promise.all([tp(e,t.entry_uid),ti(e,t.entry_uid),Tp(e,t.entry_uid)]).then(([g,j,P])=>{f===S.current&&(s(g),a(j),h(P))}).catch(()=>{})},[t,e]);async function C(){const f=d.trim();if(!(!f||!t))try{await np(e,t.entry_uid,f),v(""),x("");const g=await ti(e,t.entry_uid);a(g),l()}catch(g){x(g.message)}}async function p(f){try{await rp(e,t.entry_uid,f);const g=await ti(e,t.entry_uid);a(g),l()}catch{}}const c=i?[["Added",gc(i.summary.archived_at)],["Source",i.summary.source_kind],["Type",i.summary.entity_kind],["Visibility",nu[i.summary.visibility]??i.summary.visibility],["Root",i.structured_root_relpath]]:[];return o.jsxs("aside",{className:"context-rail",children:[o.jsx("div",{className:"rail-eyebrow",children:"Context"}),t?i?o.jsxs(o.Fragment,{children:[o.jsx("h2",{className:"rail-title",children:$t(i.summary.title)||$t(i.summary.entry_uid)}),i.summary.original_url&&o.jsxs("a",{className:"url-tile",href:i.summary.original_url,target:"_blank",rel:"noopener noreferrer",children:[o.jsx("span",{className:"ico",dangerouslySetInnerHTML:{__html:yc(i.summary.source_kind)}}),o.jsx("span",{className:"u-text",children:i.summary.original_url}),o.jsx("span",{className:"ext",children:o.jsx(Zp,{})})]}),o.jsx("div",{className:"meta-list",children:c.filter(([,f])=>f!=null&&f!=="").map(([f,g])=>o.jsxs("div",{className:"meta-item",children:[o.jsx("span",{className:"meta-k",children:f}),o.jsx("span",{className:`meta-v${f==="Root"?" mono":""}`,children:$t(g)})]},f))}),i.artifacts.length>0&&o.jsxs("div",{className:"rail-section",children:[o.jsxs("div",{className:"rail-section-heading",children:["Artifacts ",o.jsx("span",{className:"num",children:i.artifacts.length})]}),o.jsx("ul",{className:"artifact-list",children:i.artifacts.map((f,g)=>o.jsx("li",{children:o.jsxs("a",{href:`/api/archives/${e}/entries/${i.summary.entry_uid}/artifacts/${g}`,target:"_blank",rel:"noopener noreferrer",className:"artifact-link",children:[o.jsx("span",{className:"artifact-name",children:f.artifact_role.replace(/_/g," ")}),o.jsx("span",{className:"artifact-size",children:f.byte_size!=null?vc(f.byte_size):"—"})]})},g))})]})]}):o.jsx("p",{className:"tags-empty",children:"Loading…"}):o.jsx("p",{className:"tags-empty",children:"Select an entry."}),t&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"rail-section",children:[o.jsx("div",{className:"rail-section-heading",children:"Tags"}),u.length===0?o.jsx("p",{className:"tags-empty",children:"No tags yet."}):o.jsx("div",{className:"tags-wrap",children:u.map(f=>o.jsxs("span",{className:"tag-pill",title:f.full_path,children:[f.name,o.jsx("button",{className:"remove",title:`Remove tag ${f.full_path}`,onClick:()=>p(f.tag_uid),children:"×"})]},f.tag_uid))}),w&&o.jsx("p",{className:"form-msg form-msg--err",style:{margin:"0 0 8px"},children:w}),o.jsxs("div",{className:"tag-input-wrap",children:[o.jsx("span",{className:"hash",children:"/"}),o.jsx("input",{className:"tag-input",type:"text",placeholder:"science/cs",autoComplete:"off",value:d,onChange:f=>v(f.target.value),onKeyDown:f=>{f.key==="Enter"&&C()}}),o.jsx("button",{className:"tag-add-btn",onClick:C,children:"Add"})]})]}),m.length>0&&o.jsxs("div",{className:"rail-section",children:[o.jsx("div",{className:"rail-section-heading",children:"Collections"}),m.map(f=>o.jsxs("div",{className:"coll-row",children:[o.jsx("span",{className:"coll-name",children:f.collection_uid}),o.jsx("span",{className:"vis-badge",children:nu[f.visibility_bits]??`bits:${f.visibility_bits}`})]},f.collection_uid))]})]})]})}const Pl=y.createContext(null);function bp(){const[e,t]=y.useState("loading"),[n,r]=y.useState(null);y.useEffect(()=>{(async()=>{if(await sp()){t("setup");return}const se=await cp();if(!se){t("login");return}r(se),t("authenticated")})()},[]),y.useEffect(()=>{const F=()=>{r(null),t("login")};return window.addEventListener("auth:expired",F),()=>window.removeEventListener("auth:expired",F)},[]);const[l,i]=y.useState([]),[s,u]=y.useState(null),[a,d]=y.useState([]),[v,m]=y.useState(null),[h,w]=y.useState(null),[x,S]=y.useState(null),[C,p]=y.useState("archive"),[c,f]=y.useState(""),[g,j]=y.useState(""),[P,T]=y.useState(!1),[z,U]=y.useState([]),[D,J]=y.useState([]),[Ce,ge]=y.useState(!1),ye=y.useCallback(async(F,se,Re)=>{if(F){T(!0);try{let we;se||Re?we=await ep(F,se,Re):we=await bf(F),d(we),j(we.length===0?"No results":`${we.length} result${we.length===1?"":"s"}`)}catch{d([]),j("Search failed. Try again.")}finally{T(!1)}}},[]);y.useEffect(()=>{qf().then(F=>{if(i(F),F.length>0){const se=F[0].id;u(se)}})},[]),y.useEffect(()=>{s&&(S(null),w(null),m(null),Promise.all([ye(s,"",null),bo(s).then(U),ni(s).then(J)]))},[s]),y.useEffect(()=>{if(s===null)return;const F=setTimeout(()=>{ye(s,c,x)},300);return()=>clearTimeout(F)},[c,s]),y.useEffect(()=>{s!==null&&(p("archive"),ye(s,c,x))},[x,s]);const Ue=y.useCallback(F=>{u(F)},[]),Ae=y.useCallback(F=>{p(F),F==="tags"&&s&&ni(s).then(J)},[s]),Ve=y.useCallback(F=>{m(F?F.entry_uid:null),w(F)},[]),E=y.useCallback(F=>{S(F)},[]),k=y.useCallback(()=>{S(null)},[]),R=y.useCallback(()=>{s&&ni(s).then(J)},[s]),A=y.useCallback(()=>{ge(!0)},[]),O=y.useCallback(()=>{ge(!1)},[]),de=y.useCallback(()=>{s&&Promise.all([ye(s,c,x),bo(s).then(U)])},[s,c,x,ye]);return e==="loading"?o.jsx("div",{className:"auth-loading",children:"Loading\\u2026"}):e==="setup"?o.jsx(Op,{onComplete:()=>t("login")}):e==="login"?o.jsx(Rp,{onLogin:F=>{r(F),t("authenticated")}}):o.jsx(Pl.Provider,{value:{currentUser:n,setCurrentUser:r},children:o.jsxs(o.Fragment,{children:[o.jsx(Dp,{archives:l,archiveId:s,onArchiveChange:Ue,view:C,onViewChange:Ae,onCaptureClick:A}),o.jsxs("main",{className:"app-shell",children:[o.jsxs("div",{className:"workspace",children:[C==="archive"&&o.jsxs("div",{className:"toolbar",children:[o.jsxs("div",{className:"search-field",children:[o.jsx("span",{className:"ico","aria-hidden":"true",children:o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[o.jsx("circle",{cx:"11",cy:"11",r:"7"}),o.jsx("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21"})]})}),o.jsx("input",{className:"search-input",type:"search","aria-label":"Search archive","aria-busy":P,placeholder:"Search titles, URLs, types, tags…",value:c,onChange:F=>f(F.target.value)}),o.jsx("span",{className:"kbd",children:"⌘K"})]}),o.jsxs("span",{className:"result-count",children:[g&&o.jsxs(o.Fragment,{children:[o.jsx("b",{children:g.split(" ")[0]})," ",g.split(" ").slice(1).join(" ")]}),x&&o.jsxs("button",{className:"tag-filter-badge",onClick:k,children:["× ",x]})]})]}),C==="archive"&&o.jsx($p,{entries:a,selectedEntryUid:v,onSelectEntry:Ve,archiveId:s,tagFilter:x,onClearTagFilter:k,searchQuery:c,onSearchChange:f,resultCount:g,searchBusy:P}),C==="runs"&&o.jsx(Ap,{runs:z}),C==="admin"&&o.jsx(Bp,{archives:l}),C==="tags"&&o.jsx(Hp,{tagNodes:D,tagFilter:x,onTagFilterSet:E,onViewChange:Ae}),C==="collections"&&o.jsx(Qp,{archiveId:s}),C==="settings"&&o.jsx(Yp,{})]}),o.jsx(qp,{archiveId:s,selectedEntry:h,onTagFilterSet:E,tagNodes:D,onTagsRefresh:R})]}),o.jsx(Fp,{open:Ce,archiveId:s,onClose:O,onCaptured:de})]})})}mc(document.getElementById("root")).render(o.jsx(y.StrictMode,{children:o.jsx(bp,{})})); diff --git a/crates/archivr-server/static/assets/index-CcezQ0kg.js b/crates/archivr-server/static/assets/index-CcezQ0kg.js deleted file mode 100644 index 0b908e5..0000000 --- a/crates/archivr-server/static/assets/index-CcezQ0kg.js +++ /dev/null @@ -1,40 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();var Go={exports:{}},ul={},Zo={exports:{}},O={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var er=Symbol.for("react.element"),fc=Symbol.for("react.portal"),dc=Symbol.for("react.fragment"),pc=Symbol.for("react.strict_mode"),hc=Symbol.for("react.profiler"),mc=Symbol.for("react.provider"),vc=Symbol.for("react.context"),yc=Symbol.for("react.forward_ref"),gc=Symbol.for("react.suspense"),wc=Symbol.for("react.memo"),kc=Symbol.for("react.lazy"),Iu=Symbol.iterator;function Sc(e){return e===null||typeof e!="object"?null:(e=Iu&&e[Iu]||e["@@iterator"],typeof e=="function"?e:null)}var Jo={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},qo=Object.assign,bo={};function cn(e,t,n){this.props=e,this.context=t,this.refs=bo,this.updater=n||Jo}cn.prototype.isReactComponent={};cn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};cn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function es(){}es.prototype=cn.prototype;function Hi(e,t,n){this.props=e,this.context=t,this.refs=bo,this.updater=n||Jo}var Qi=Hi.prototype=new es;Qi.constructor=Hi;qo(Qi,cn.prototype);Qi.isPureReactComponent=!0;var $u=Array.isArray,ts=Object.prototype.hasOwnProperty,Wi={current:null},ns={key:!0,ref:!0,__self:!0,__source:!0};function rs(e,t,n){var r,l={},i=null,u=null;if(t!=null)for(r in t.ref!==void 0&&(u=t.ref),t.key!==void 0&&(i=""+t.key),t)ts.call(t,r)&&!ns.hasOwnProperty(r)&&(l[r]=t[r]);var o=arguments.length-2;if(o===1)l.children=n;else if(1>>1,K=E[D];if(0>>1;Dl(xl,N))ktl(ur,xl)?(E[D]=ur,E[kt]=N,D=kt):(E[D]=xl,E[wt]=N,D=wt);else if(ktl(ur,N))E[D]=ur,E[kt]=N,D=kt;else break e}}return T}function l(E,T){var N=E.sortIndex-T.sortIndex;return N!==0?N:E.id-T.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var u=Date,o=u.now();e.unstable_now=function(){return u.now()-o}}var s=[],f=[],h=1,m=null,p=3,w=!1,k=!1,S=!1,j=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(E){for(var T=n(f);T!==null;){if(T.callback===null)r(f);else if(T.startTime<=E)r(f),T.sortIndex=T.expirationTime,t(s,T);else break;T=n(f)}}function y(E){if(S=!1,d(E),!k)if(n(s)!==null)k=!0,hn(x);else{var T=n(f);T!==null&&mn(y,T.startTime-E)}}function x(E,T){k=!1,S&&(S=!1,c(z),z=-1),w=!0;var N=p;try{for(d(T),m=n(s);m!==null&&(!(m.expirationTime>T)||E&&!me());){var D=m.callback;if(typeof D=="function"){m.callback=null,p=m.priorityLevel;var K=D(m.expirationTime<=T);T=e.unstable_now(),typeof K=="function"?m.callback=K:m===n(s)&&r(s),d(T)}else r(s);m=n(s)}if(m!==null)var ze=!0;else{var wt=n(f);wt!==null&&mn(y,wt.startTime-T),ze=!1}return ze}finally{m=null,p=N,w=!1}}var P=!1,_=null,z=-1,A=5,R=-1;function me(){return!(e.unstable_now()-RE||125D?(E.sortIndex=N,t(f,E),n(s)===null&&E===n(f)&&(S?(c(z),z=-1):S=!0,mn(y,N-D))):(E.sortIndex=K,t(s,E),k||w||(k=!0,hn(x))),E},e.unstable_shouldYield=me,e.unstable_wrapCallback=function(E){var T=p;return function(){var N=p;p=T;try{return E.apply(this,arguments)}finally{p=N}}}})(ss);os.exports=ss;var Rc=os.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Oc=L,we=Rc;function g(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Jl=Object.prototype.hasOwnProperty,Fc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Au={},Vu={};function Mc(e){return Jl.call(Vu,e)?!0:Jl.call(Au,e)?!1:Fc.test(e)?Vu[e]=!0:(Au[e]=!0,!1)}function Dc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Ic(e,t,n,r){if(t===null||typeof t>"u"||Dc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ae(e,t,n,r,l,i,u){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=u}var te={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){te[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];te[t]=new ae(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){te[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){te[e]=new ae(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){te[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){te[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){te[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){te[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){te[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yi=/[\-:]([a-z])/g;function Xi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);te[t]=new ae(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);te[t]=new ae(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Yi,Xi);te[t]=new ae(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){te[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});te.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){te[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Gi(e,t,n,r){var l=te.hasOwnProperty(t)?te[t]:null;(l!==null?l.type!==0:r||!(2o||l[u]!==i[o]){var s=` -`+l[u].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=u&&0<=o);break}}}finally{_l=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Cn(e):""}function $c(e){switch(e.tag){case 5:return Cn(e.type);case 16:return Cn("Lazy");case 13:return Cn("Suspense");case 19:return Cn("SuspenseList");case 0:case 2:case 15:return e=Nl(e.type,!1),e;case 11:return e=Nl(e.type.render,!1),e;case 1:return e=Nl(e.type,!0),e;default:return""}}function ti(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ut:return"Fragment";case $t:return"Portal";case ql:return"Profiler";case Zi:return"StrictMode";case bl:return"Suspense";case ei:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case fs:return(e.displayName||"Context")+".Consumer";case cs:return(e._context.displayName||"Context")+".Provider";case Ji:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case qi:return t=e.displayName||null,t!==null?t:ti(e.type)||"Memo";case be:t=e._payload,e=e._init;try{return ti(e(t))}catch{}}return null}function Uc(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ti(t);case 8:return t===Zi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function pt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ps(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ac(e){var t=ps(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ar(e){e._valueTracker||(e._valueTracker=Ac(e))}function hs(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ps(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Dr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ni(e,t){var n=t.checked;return Q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Hu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=pt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ms(e,t){t=t.checked,t!=null&&Gi(e,"checked",t,!1)}function ri(e,t){ms(e,t);var n=pt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?li(e,t.type,n):t.hasOwnProperty("defaultValue")&&li(e,t.type,pt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Qu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function li(e,t,n){(t!=="number"||Dr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var _n=Array.isArray;function Zt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=cr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function $n(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var zn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Vc=["Webkit","ms","Moz","O"];Object.keys(zn).forEach(function(e){Vc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),zn[t]=zn[e]})});function ws(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||zn.hasOwnProperty(e)&&zn[e]?(""+t).trim():t+"px"}function ks(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ws(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Bc=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function oi(e,t){if(t){if(Bc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(g(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(g(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(g(61))}if(t.style!=null&&typeof t.style!="object")throw Error(g(62))}}function si(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ai=null;function bi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ci=null,Jt=null,qt=null;function Yu(e){if(e=rr(e)){if(typeof ci!="function")throw Error(g(280));var t=e.stateNode;t&&(t=fl(t),ci(e.stateNode,e.type,t))}}function Ss(e){Jt?qt?qt.push(e):qt=[e]:Jt=e}function xs(){if(Jt){var e=Jt,t=qt;if(qt=Jt=null,Yu(e),t)for(e=0;e>>=0,e===0?32:31-(bc(e)/ef|0)|0}var fr=64,dr=4194304;function Nn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ar(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,u=n&268435455;if(u!==0){var o=u&~l;o!==0?r=Nn(o):(i&=u,i!==0&&(r=Nn(i)))}else u=n&~l,u!==0?r=Nn(u):i!==0&&(r=Nn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function tr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function lf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Tn),no=" ",ro=!1;function Bs(e,t){switch(e){case"keyup":return Of.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var At=!1;function Mf(e,t){switch(e){case"compositionend":return Hs(t);case"keypress":return t.which!==32?null:(ro=!0,no);case"textInput":return e=t.data,e===no&&ro?null:e;default:return null}}function Df(e,t){if(At)return e==="compositionend"||!ou&&Bs(e,t)?(e=As(),Pr=lu=rt=null,At=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=oo(n)}}function Ys(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ys(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Xs(){for(var e=window,t=Dr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Dr(e.document)}return t}function su(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Wf(e){var t=Xs(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ys(n.ownerDocument.documentElement,n)){if(r!==null&&su(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=so(n,i);var u=so(n,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(u.node,u.offset)):(t.setEnd(u.node,u.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Vt=null,vi=null,Rn=null,yi=!1;function ao(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;yi||Vt==null||Vt!==Dr(r)||(r=Vt,"selectionStart"in r&&su(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Rn&&Qn(Rn,r)||(Rn=r,r=Hr(vi,"onSelect"),0Qt||(e.current=Ei[Qt],Ei[Qt]=null,Qt--)}function I(e,t){Qt++,Ei[Qt]=e.current,e.current=t}var ht={},ie=vt(ht),de=vt(!1),jt=ht;function rn(e,t){var n=e.type.contextTypes;if(!n)return ht;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function Wr(){U(de),U(ie)}function yo(e,t,n){if(ie.current!==ht)throw Error(g(168));I(ie,t),I(de,n)}function ra(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(g(108,Uc(e)||"Unknown",l));return Q({},n,r)}function Kr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ht,jt=ie.current,I(ie,e),I(de,de.current),!0}function go(e,t,n){var r=e.stateNode;if(!r)throw Error(g(169));n?(e=ra(e,t,jt),r.__reactInternalMemoizedMergedChildContext=e,U(de),U(ie),I(ie,e)):U(de),I(de,n)}var Be=null,dl=!1,Al=!1;function la(e){Be===null?Be=[e]:Be.push(e)}function rd(e){dl=!0,la(e)}function yt(){if(!Al&&Be!==null){Al=!0;var e=0,t=M;try{var n=Be;for(M=1;e>=u,l-=u,He=1<<32-Oe(t)+l|n<z?(A=_,_=null):A=_.sibling;var R=p(c,_,d[z],y);if(R===null){_===null&&(_=A);break}e&&_&&R.alternate===null&&t(c,_),a=i(R,a,z),P===null?x=R:P.sibling=R,P=R,_=A}if(z===d.length)return n(c,_),V&&St(c,z),x;if(_===null){for(;zz?(A=_,_=null):A=_.sibling;var me=p(c,_,R.value,y);if(me===null){_===null&&(_=A);break}e&&_&&me.alternate===null&&t(c,_),a=i(me,a,z),P===null?x=me:P.sibling=me,P=me,_=A}if(R.done)return n(c,_),V&&St(c,z),x;if(_===null){for(;!R.done;z++,R=d.next())R=m(c,R.value,y),R!==null&&(a=i(R,a,z),P===null?x=R:P.sibling=R,P=R);return V&&St(c,z),x}for(_=r(c,_);!R.done;z++,R=d.next())R=w(_,c,z,R.value,y),R!==null&&(e&&R.alternate!==null&&_.delete(R.key===null?z:R.key),a=i(R,a,z),P===null?x=R:P.sibling=R,P=R);return e&&_.forEach(function(Je){return t(c,Je)}),V&&St(c,z),x}function j(c,a,d,y){if(typeof d=="object"&&d!==null&&d.type===Ut&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case sr:e:{for(var x=d.key,P=a;P!==null;){if(P.key===x){if(x=d.type,x===Ut){if(P.tag===7){n(c,P.sibling),a=l(P,d.props.children),a.return=c,c=a;break e}}else if(P.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===be&&So(x)===P.type){n(c,P.sibling),a=l(P,d.props),a.ref=Sn(c,P,d),a.return=c,c=a;break e}n(c,P);break}else t(c,P);P=P.sibling}d.type===Ut?(a=zt(d.props.children,c.mode,y,d.key),a.return=c,c=a):(y=Mr(d.type,d.key,d.props,null,c.mode,y),y.ref=Sn(c,a,d),y.return=c,c=y)}return u(c);case $t:e:{for(P=d.key;a!==null;){if(a.key===P)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(c,a.sibling),a=l(a,d.children||[]),a.return=c,c=a;break e}else{n(c,a);break}else t(c,a);a=a.sibling}a=Xl(d,c.mode,y),a.return=c,c=a}return u(c);case be:return P=d._init,j(c,a,P(d._payload),y)}if(_n(d))return k(c,a,d,y);if(vn(d))return S(c,a,d,y);wr(c,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(c,a.sibling),a=l(a,d),a.return=c,c=a):(n(c,a),a=Yl(d,c.mode,y),a.return=c,c=a),u(c)):n(c,a)}return j}var un=sa(!0),aa=sa(!1),Gr=vt(null),Zr=null,Yt=null,du=null;function pu(){du=Yt=Zr=null}function hu(e){var t=Gr.current;U(Gr),e._currentValue=t}function Ni(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function en(e,t){Zr=e,du=Yt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(fe=!0),e.firstContext=null)}function Ne(e){var t=e._currentValue;if(du!==e)if(e={context:e,memoizedValue:t,next:null},Yt===null){if(Zr===null)throw Error(g(308));Yt=e,Zr.dependencies={lanes:0,firstContext:e}}else Yt=Yt.next=e;return t}var Ct=null;function mu(e){Ct===null?Ct=[e]:Ct.push(e)}function ca(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mu(t)):(n.next=l.next,l.next=n),t.interleaved=n,Xe(e,r)}function Xe(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var et=!1;function vu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function We(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function at(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,F&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Xe(e,n)}return l=r.interleaved,l===null?(t.next=t,mu(r)):(t.next=l.next,l.next=t),r.interleaved=t,Xe(e,n)}function jr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var u={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=u:i=i.next=u,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Jr(e,t,n,r){var l=e.updateQueue;et=!1;var i=l.firstBaseUpdate,u=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var s=o,f=s.next;s.next=null,u===null?i=f:u.next=f,u=s;var h=e.alternate;h!==null&&(h=h.updateQueue,o=h.lastBaseUpdate,o!==u&&(o===null?h.firstBaseUpdate=f:o.next=f,h.lastBaseUpdate=s))}if(i!==null){var m=l.baseState;u=0,h=f=s=null,o=i;do{var p=o.lane,w=o.eventTime;if((r&p)===p){h!==null&&(h=h.next={eventTime:w,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var k=e,S=o;switch(p=t,w=n,S.tag){case 1:if(k=S.payload,typeof k=="function"){m=k.call(w,m,p);break e}m=k;break e;case 3:k.flags=k.flags&-65537|128;case 0:if(k=S.payload,p=typeof k=="function"?k.call(w,m,p):k,p==null)break e;m=Q({},m,p);break e;case 2:et=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[o]:p.push(o))}else w={eventTime:w,lane:p,tag:o.tag,payload:o.payload,callback:o.callback,next:null},h===null?(f=h=w,s=m):h=h.next=w,u|=p;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;p=o,o=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(h===null&&(s=m),l.baseState=s,l.firstBaseUpdate=f,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do u|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Rt|=u,e.lanes=u,e.memoizedState=m}}function Eo(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Bl.transition;Bl.transition={};try{e(!1),t()}finally{M=n,Bl.transition=r}}function za(){return Pe().memoizedState}function od(e,t,n){var r=ft(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},ja(e))Ta(t,n);else if(n=ca(e,t,n,r),n!==null){var l=oe();Fe(n,e,r,l),La(n,t,r)}}function sd(e,t,n){var r=ft(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(ja(e))Ta(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,o=i(u,n);if(l.hasEagerState=!0,l.eagerState=o,Me(o,u)){var s=t.interleaved;s===null?(l.next=l,mu(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=ca(e,t,l,r),n!==null&&(l=oe(),Fe(n,e,r,l),La(n,t,r))}}function ja(e){var t=e.alternate;return e===H||t!==null&&t===H}function Ta(e,t){On=br=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function La(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}var el={readContext:Ne,useCallback:ne,useContext:ne,useEffect:ne,useImperativeHandle:ne,useInsertionEffect:ne,useLayoutEffect:ne,useMemo:ne,useReducer:ne,useRef:ne,useState:ne,useDebugValue:ne,useDeferredValue:ne,useTransition:ne,useMutableSource:ne,useSyncExternalStore:ne,useId:ne,unstable_isNewReconciler:!1},ad={readContext:Ne,useCallback:function(e,t){return Ie().memoizedState=[e,t===void 0?null:t],e},useContext:Ne,useEffect:_o,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Lr(4194308,4,Ea.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Lr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Lr(4,2,e,t)},useMemo:function(e,t){var n=Ie();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ie();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=od.bind(null,H,e),[r.memoizedState,e]},useRef:function(e){var t=Ie();return e={current:e},t.memoizedState=e},useState:Co,useDebugValue:Cu,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Co(!1),t=e[0];return e=ud.bind(null,e[1]),Ie().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=H,l=Ie();if(V){if(n===void 0)throw Error(g(407));n=n()}else{if(n=t(),q===null)throw Error(g(349));Lt&30||ma(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,_o(ya.bind(null,r,i,e),[e]),r.flags|=2048,qn(9,va.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ie(),t=q.identifierPrefix;if(V){var n=Qe,r=He;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Zn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[$e]=t,e[Yn]=r,Va(e,t,!1,!1),t.stateNode=e;e:{switch(u=si(n,r),n){case"dialog":$("cancel",e),$("close",e),l=r;break;case"iframe":case"object":case"embed":$("load",e),l=r;break;case"video":case"audio":for(l=0;lan&&(t.flags|=128,r=!0,xn(i,!1),t.lanes=4194304)}else{if(!r)if(e=qr(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),xn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!u.alternate&&!V)return re(t),null}else 2*Y()-i.renderingStartTime>an&&n!==1073741824&&(t.flags|=128,r=!0,xn(i,!1),t.lanes=4194304);i.isBackwards?(u.sibling=t.child,t.child=u):(n=i.last,n!==null?n.sibling=u:t.child=u,i.last=u)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Y(),t.sibling=null,n=B.current,I(B,r?n&1|2:n&1),t):(re(t),null);case 22:case 23:return Tu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ve&1073741824&&(re(t),t.subtreeFlags&6&&(t.flags|=8192)):re(t),null;case 24:return null;case 25:return null}throw Error(g(156,t.tag))}function yd(e,t){switch(cu(t),t.tag){case 1:return pe(t.type)&&Wr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return on(),U(de),U(ie),wu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return gu(t),null;case 13:if(U(B),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(g(340));ln()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(B),null;case 4:return on(),null;case 10:return hu(t.type._context),null;case 22:case 23:return Tu(),null;case 24:return null;default:return null}}var Sr=!1,le=!1,gd=typeof WeakSet=="function"?WeakSet:Set,C=null;function Xt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){W(e,t,r)}else n.current=null}function Mi(e,t,n){try{n()}catch(r){W(e,t,r)}}var Do=!1;function wd(e,t){if(gi=Vr,e=Xs(),su(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,o=-1,s=-1,f=0,h=0,m=e,p=null;t:for(;;){for(var w;m!==n||l!==0&&m.nodeType!==3||(o=u+l),m!==i||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(w=m.firstChild)!==null;)p=m,m=w;for(;;){if(m===e)break t;if(p===n&&++f===l&&(o=u),p===i&&++h===r&&(s=u),(w=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=w}n=o===-1||s===-1?null:{start:o,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(wi={focusedElem:e,selectionRange:n},Vr=!1,C=t;C!==null;)if(t=C,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,C=e;else for(;C!==null;){t=C;try{var k=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(k!==null){var S=k.memoizedProps,j=k.memoizedState,c=t.stateNode,a=c.getSnapshotBeforeUpdate(t.elementType===t.type?S:Te(t.type,S),j);c.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(g(163))}}catch(y){W(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,C=e;break}C=t.return}return k=Do,Do=!1,k}function Fn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Mi(t,n,i)}l=l.next}while(l!==r)}}function ml(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Di(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Qa(e){var t=e.alternate;t!==null&&(e.alternate=null,Qa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[$e],delete t[Yn],delete t[xi],delete t[td],delete t[nd])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Wa(e){return e.tag===5||e.tag===3||e.tag===4}function Io(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Wa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ii(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Qr));else if(r!==4&&(e=e.child,e!==null))for(Ii(e,t,n),e=e.sibling;e!==null;)Ii(e,t,n),e=e.sibling}function $i(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for($i(e,t,n),e=e.sibling;e!==null;)$i(e,t,n),e=e.sibling}var b=null,Le=!1;function qe(e,t,n){for(n=n.child;n!==null;)Ka(e,t,n),n=n.sibling}function Ka(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(ol,n)}catch{}switch(n.tag){case 5:le||Xt(n,t);case 6:var r=b,l=Le;b=null,qe(e,t,n),b=r,Le=l,b!==null&&(Le?(e=b,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):b.removeChild(n.stateNode));break;case 18:b!==null&&(Le?(e=b,n=n.stateNode,e.nodeType===8?Ul(e.parentNode,n):e.nodeType===1&&Ul(e,n),Bn(e)):Ul(b,n.stateNode));break;case 4:r=b,l=Le,b=n.stateNode.containerInfo,Le=!0,qe(e,t,n),b=r,Le=l;break;case 0:case 11:case 14:case 15:if(!le&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&Mi(n,t,u),l=l.next}while(l!==r)}qe(e,t,n);break;case 1:if(!le&&(Xt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){W(n,t,o)}qe(e,t,n);break;case 21:qe(e,t,n);break;case 22:n.mode&1?(le=(r=le)||n.memoizedState!==null,qe(e,t,n),le=r):qe(e,t,n);break;default:qe(e,t,n)}}function $o(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new gd),t.forEach(function(r){var l=zd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function je(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=u),r&=~i}if(r=l,r=Y()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Sd(r/1960))-r,10e?16:e,lt===null)var r=!1;else{if(e=lt,lt=null,rl=0,F&6)throw Error(g(331));var l=F;for(F|=4,C=e.current;C!==null;){var i=C,u=i.child;if(C.flags&16){var o=i.deletions;if(o!==null){for(var s=0;sY()-zu?Pt(e,0):Pu|=n),he(e,t)}function ec(e,t){t===0&&(e.mode&1?(t=dr,dr<<=1,!(dr&130023424)&&(dr=4194304)):t=1);var n=oe();e=Xe(e,t),e!==null&&(tr(e,t,n),he(e,n))}function Pd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ec(e,n)}function zd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(g(314))}r!==null&&r.delete(t),ec(e,n)}var tc;tc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||de.current)fe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return fe=!1,md(e,t,n);fe=!!(e.flags&131072)}else fe=!1,V&&t.flags&1048576&&ia(t,Xr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Rr(e,t),e=t.pendingProps;var l=rn(t,ie.current);en(t,n),l=Su(null,t,r,e,l,n);var i=xu();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,pe(r)?(i=!0,Kr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,vu(t),l.updater=hl,t.stateNode=l,l._reactInternals=t,zi(t,r,e,n),t=Li(null,t,r,!0,i,n)):(t.tag=0,V&&i&&au(t),ue(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Rr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Td(r),e=Te(r,e),l){case 0:t=Ti(null,t,r,e,n);break e;case 1:t=Oo(null,t,r,e,n);break e;case 11:t=Lo(null,t,r,e,n);break e;case 14:t=Ro(null,t,r,Te(r.type,e),n);break e}throw Error(g(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Ti(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Oo(e,t,r,l,n);case 3:e:{if($a(t),e===null)throw Error(g(387));r=t.pendingProps,i=t.memoizedState,l=i.element,fa(e,t),Jr(t,r,null,n);var u=t.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=sn(Error(g(423)),t),t=Fo(e,t,r,n,l);break e}else if(r!==l){l=sn(Error(g(424)),t),t=Fo(e,t,r,n,l);break e}else for(ye=st(t.stateNode.containerInfo.firstChild),ge=t,V=!0,Re=null,n=aa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ln(),r===l){t=Ge(e,t,n);break e}ue(e,t,r,n)}t=t.child}return t;case 5:return da(t),e===null&&_i(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,ki(r,l)?u=null:i!==null&&ki(r,i)&&(t.flags|=32),Ia(e,t),ue(e,t,u,n),t.child;case 6:return e===null&&_i(t),null;case 13:return Ua(e,t,n);case 4:return yu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=un(t,null,r,n):ue(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Lo(e,t,r,l,n);case 7:return ue(e,t,t.pendingProps,n),t.child;case 8:return ue(e,t,t.pendingProps.children,n),t.child;case 12:return ue(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,u=l.value,I(Gr,r._currentValue),r._currentValue=u,i!==null)if(Me(i.value,u)){if(i.children===l.children&&!de.current){t=Ge(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=We(-1,n&-n),s.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?s.next=s:(s.next=h.next,h.next=s),f.pending=s}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Ni(i.return,n,t),o.lanes|=n;break}s=s.next}}else if(i.tag===10)u=i.type===t.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(g(341));u.lanes|=n,o=u.alternate,o!==null&&(o.lanes|=n),Ni(u,n,t),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===t){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}ue(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,en(t,n),l=Ne(l),r=r(l),t.flags|=1,ue(e,t,r,n),t.child;case 14:return r=t.type,l=Te(r,t.pendingProps),l=Te(r.type,l),Ro(e,t,r,l,n);case 15:return Ma(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Te(r,l),Rr(e,t),t.tag=1,pe(r)?(e=!0,Kr(t)):e=!1,en(t,n),Ra(t,r,l),zi(t,r,l,n),Li(null,t,r,!0,e,n);case 19:return Aa(e,t,n);case 22:return Da(e,t,n)}throw Error(g(156,t.tag))};function nc(e,t){return js(e,t)}function jd(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ce(e,t,n,r){return new jd(e,t,n,r)}function Ru(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Td(e){if(typeof e=="function")return Ru(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ji)return 11;if(e===qi)return 14}return 2}function dt(e,t){var n=e.alternate;return n===null?(n=Ce(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Mr(e,t,n,r,l,i){var u=2;if(r=e,typeof e=="function")Ru(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case Ut:return zt(n.children,l,i,t);case Zi:u=8,l|=8;break;case ql:return e=Ce(12,n,t,l|2),e.elementType=ql,e.lanes=i,e;case bl:return e=Ce(13,n,t,l),e.elementType=bl,e.lanes=i,e;case ei:return e=Ce(19,n,t,l),e.elementType=ei,e.lanes=i,e;case ds:return yl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case cs:u=10;break e;case fs:u=9;break e;case Ji:u=11;break e;case qi:u=14;break e;case be:u=16,r=null;break e}throw Error(g(130,e==null?e:typeof e,""))}return t=Ce(u,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function zt(e,t,n,r){return e=Ce(7,e,r,t),e.lanes=n,e}function yl(e,t,n,r){return e=Ce(22,e,r,t),e.elementType=ds,e.lanes=n,e.stateNode={isHidden:!1},e}function Yl(e,t,n){return e=Ce(6,e,null,t),e.lanes=n,e}function Xl(e,t,n){return t=Ce(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ld(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zl(0),this.expirationTimes=zl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ou(e,t,n,r,l,i,u,o,s){return e=new Ld(e,t,n,o,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ce(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},vu(i),e}function Rd(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(uc)}catch(e){console.error(e)}}uc(),us.exports=ke;var Id=us.exports,oc,Ko=Id;oc=Ko.createRoot,Ko.hydrateRoot;async function Dt(e){const t=await fetch(e);if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.json()}async function $d(){return Dt("/api/archives")}async function Ud(e){return Dt(`/api/archives/${e}/entries`)}async function Ad(e,t,n){const r=new URLSearchParams;return t&&r.set("q",t),n&&r.set("tag",n),Dt(`/api/archives/${e}/entries/search?${r}`)}async function Vd(e,t){return Dt(`/api/archives/${e}/entries/${t}`)}async function Gl(e,t){return Dt(`/api/archives/${e}/entries/${t}/tags`)}async function Bd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag_path:n})});if(!r.ok)throw new Error(`Failed to add tag (${r.status})`)}async function Hd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Remove failed (${r.status})`)}async function Yo(e){return Dt(`/api/archives/${e}/runs`)}async function Zl(e){return Dt(`/api/archives/${e}/tags`)}async function Qd(e,t){const n=await fetch(`/api/archives/${e}/captures`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locator:t})});if(!n.ok){const r=await n.text();throw new Error(r||`HTTP ${n.status}`)}}function Wd({archives:e,archiveId:t,onArchiveChange:n,view:r,onViewChange:l,onCaptureClick:i}){return v.jsxs("header",{className:"topbar",children:[v.jsx("div",{className:"brand",children:"Archivr"}),v.jsx("select",{className:"archive-switcher","aria-label":"Select archive",value:t??"",onChange:u=>n(u.target.value),children:e.map(u=>v.jsx("option",{value:u.id,children:u.label},u.id))}),v.jsx("nav",{className:"nav","aria-label":"Primary",children:["archive","runs","admin","tags"].map(u=>v.jsx("button",{className:`nav-link${r===u?" is-active":""}`,onClick:()=>l(u),children:u.charAt(0).toUpperCase()+u.slice(1)},u))}),v.jsx("button",{className:"capture-button",onClick:i,children:"+ Capture"})]})}function Kd({open:e,archiveId:t,onClose:n,onCaptured:r}){const l=L.useRef(null),[i,u]=L.useState(""),[o,s]=L.useState(null),[f,h]=L.useState(!1);L.useEffect(()=>{const p=l.current;if(!p)return;const w=()=>n();return p.addEventListener("close",w),()=>p.removeEventListener("close",w)},[n]),L.useEffect(()=>{const p=l.current;p&&(e?(u(""),s(null),p.open||p.showModal()):p.open&&p.close())},[e]);async function m(){var p;if(!i.trim()){s("Enter a locator.");return}h(!0),s(null);try{await Qd(t,i.trim()),(p=l.current)==null||p.close(),r()}catch(w){s(w.message)}finally{h(!1)}}return v.jsx("dialog",{ref:l,className:"capture-dialog",children:v.jsxs("div",{className:"capture-dialog-inner",children:[v.jsx("h2",{className:"capture-dialog-title",children:"Capture"}),v.jsx("label",{htmlFor:"capture-locator",className:"capture-label",children:"Locator"}),v.jsx("input",{id:"capture-locator",className:"capture-input",type:"text",placeholder:"tweet:1234567890 or https://...",value:i,onChange:p=>u(p.target.value),onKeyDown:p=>{p.key==="Enter"&&m()},autoComplete:"off"}),o&&v.jsx("div",{className:"capture-error",children:o}),v.jsxs("div",{className:"capture-actions",children:[v.jsx("button",{type:"button",className:"capture-cancel",onClick:()=>{var p;return(p=l.current)==null?void 0:p.close()},children:"Cancel"}),v.jsx("button",{type:"button",className:"capture-submit",onClick:m,disabled:f,children:f?"Capturing…":"Capture"})]})]})})}function sc(e){if(!e)return"0 B";const t=["B","KB","MB","GB"];let n=e,r=0;for(;n>=1024&&rString(r).padStart(2,"0");return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())}`}const Xo={youtube:'',x:'',instagram:'',facebook:'',tiktok:'',reddit:'',snapchat:'',local:'',web:'',other:'?'};function Yd(e){return Xo[e]??Xo.other}function Xd({entry:e,archiveId:t,isSelected:n,onSelect:r}){const[l,i]=L.useState(!1),o=e.source_kind==="web"&&e.entity_kind==="page"&&e.has_favicon&&t&&!l?v.jsx("img",{src:`/api/archives/${t}/entries/${e.entry_uid}/favicon`,width:"16",height:"16",alt:"",onError:()=>i(!0),style:{objectFit:"contain"}}):v.jsx("span",{dangerouslySetInnerHTML:{__html:Yd(e.source_kind)}});return v.jsxs("div",{className:n?"is-selected":void 0,tabIndex:0,"data-entry-uid":e.entry_uid,onClick:r,onKeyDown:s=>{s.key==="Enter"&&r()},children:[v.jsx("div",{className:"col-added",children:ac(e.archived_at)}),v.jsxs("div",{className:"col-title",children:[v.jsx("span",{className:"source-icon",children:o}),v.jsx("span",{className:"entry-title",children:Nt(e.title)||Nt(e.entry_uid)})]}),v.jsx("div",{className:"col-type",children:v.jsx("span",{className:"type-pill",children:Nt(e.entity_kind)})}),v.jsx("div",{className:"col-size",children:sc(e.total_artifact_bytes)}),v.jsx("div",{className:"url-cell col-url",children:Nt(e.original_url)})]})}function Gd({entries:e,selectedEntryUid:t,onSelectEntry:n,archiveId:r}){return v.jsx("section",{id:"archive-view",className:"view is-active",children:v.jsxs("div",{className:"entry-table",children:[v.jsxs("div",{className:"entry-header-row",children:[v.jsx("div",{className:"col-added",children:"Added"}),v.jsx("div",{className:"col-title",children:"Title"}),v.jsx("div",{className:"col-type",children:"Type"}),v.jsx("div",{className:"col-size",children:"Size"}),v.jsx("div",{className:"col-url",children:"Original URL"})]}),v.jsx("div",{id:"entries-body",children:e.map(l=>v.jsx(Xd,{entry:l,archiveId:r,isSelected:l.entry_uid===t,onSelect:()=>n(l)},l.entry_uid))})]})})}function Zd({runs:e}){return v.jsx("section",{id:"runs-view",className:"view is-active",children:v.jsxs("table",{className:"entry-table",children:[v.jsx("thead",{children:v.jsxs("tr",{children:[v.jsx("th",{children:"Started"}),v.jsx("th",{children:"Status"}),v.jsx("th",{children:"Requested"}),v.jsx("th",{children:"Completed"}),v.jsx("th",{children:"Failed"})]})}),v.jsx("tbody",{children:e.map((t,n)=>v.jsxs("tr",{children:[v.jsx("td",{children:t.started_at??""}),v.jsx("td",{children:t.status??""}),v.jsx("td",{children:t.requested_count??""}),v.jsx("td",{children:t.completed_count??""}),v.jsx("td",{children:t.failed_count??""})]},n))})]})})}function Jd({archives:e}){return v.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[v.jsx("h1",{children:"Mounted Archives"}),v.jsx("div",{className:"admin-list",children:e.map(t=>v.jsxs("div",{className:"admin-archive",children:[v.jsx("strong",{children:t.label}),v.jsx("div",{className:"muted",children:t.archive_path})]},t.id))})]})}function cc({node:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){var u;const l=t===e.tag.full_path;function i(){const o=l?null:e.tag.full_path;n(o),r("archive")}return v.jsxs("li",{children:[v.jsx("button",{className:`tag-node-btn${l?" is-active":""}`,title:e.tag.full_path,onClick:i,children:e.tag.name}),((u=e.children)==null?void 0:u.length)>0&&v.jsx("div",{className:"tag-children",children:v.jsx("ul",{className:"tag-tree-list",children:e.children.map(o=>v.jsx(cc,{node:o,tagFilter:t,onTagFilterSet:n,onViewChange:r},o.tag.tag_uid))})})]})}function qd({tagNodes:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){return v.jsx("section",{id:"tags-view",className:"view is-active",children:v.jsx("div",{className:"tag-tree",children:e.length===0?v.jsx("div",{children:"No tags yet."}):v.jsx("ul",{className:"tag-tree-list",children:e.map(l=>v.jsx(cc,{node:l,tagFilter:t,onTagFilterSet:n,onViewChange:r},l.tag.tag_uid))})})})}function bd({archiveId:e,selectedEntry:t,onTagFilterSet:n,tagNodes:r,onTagsRefresh:l}){const[i,u]=L.useState(null),[o,s]=L.useState([]),[f,h]=L.useState(""),[m,p]=L.useState(""),w=L.useRef(0);L.useEffect(()=>{if(!t||!e){u(null),s([]);return}const j=++w.current;u(null),s([]),Promise.all([Vd(e,t.entry_uid),Gl(e,t.entry_uid)]).then(([c,a])=>{j===w.current&&(u(c),s(a))}).catch(()=>{})},[t,e]);async function k(){const j=f.trim();if(!(!j||!t))try{await Bd(e,t.entry_uid,j),h(""),p("");const c=await Gl(e,t.entry_uid);s(c),l()}catch(c){p(c.message)}}async function S(j){try{await Hd(e,t.entry_uid,j);const c=await Gl(e,t.entry_uid);s(c),l()}catch{}}return v.jsxs("aside",{className:"context-rail",children:[v.jsx("div",{className:"rail-title",children:"Context"}),t?i?v.jsxs("div",{className:"rail-body",children:[v.jsx("strong",{className:"rail-entry-title",children:Nt(i.summary.title)||Nt(i.summary.entry_uid)}),v.jsxs("div",{className:"rail-section",children:[i.summary.original_url&&v.jsxs("div",{className:"rail-item",children:[v.jsx("span",{className:"rail-label",children:"Original URL"}),":"," ",v.jsx("a",{href:i.summary.original_url,target:"_blank",rel:"noopener noreferrer",className:"rail-url-link",children:i.summary.original_url})]}),[["Added",ac(i.summary.archived_at)],["Source",i.summary.source_kind],["Type",i.summary.entity_kind],["Visibility",i.summary.visibility],["Structured root",i.structured_root_relpath]].map(([j,c])=>v.jsxs("div",{className:"rail-item",children:[v.jsx("span",{className:"rail-label",children:j}),": ",Nt(c)]},j))]}),i.artifacts.length>0?v.jsxs("div",{className:"rail-section",children:[v.jsxs("div",{className:"rail-section-heading",children:["Artifacts (",i.artifacts.length,")"]}),v.jsx("ul",{className:"artifact-list",children:i.artifacts.map((j,c)=>v.jsx("li",{children:v.jsxs("a",{href:`/api/archives/${e}/entries/${i.summary.entry_uid}/artifacts/${c}`,target:"_blank",rel:"noopener noreferrer",className:"artifact-link",children:[j.artifact_role.replace(/_/g," "),j.byte_size!=null?` (${sc(j.byte_size)})`:""]})},c))})]}):v.jsx("div",{className:"rail-item muted",children:"No artifacts."})]}):v.jsx("div",{className:"rail-body",children:"Loading…"}):v.jsx("div",{className:"rail-body",children:"Select an entry."}),t&&v.jsxs(v.Fragment,{children:[v.jsx("div",{className:"entry-tags",children:o.length===0?v.jsx("span",{className:"muted",children:"No tags."}):o.map(j=>v.jsxs("span",{className:"tag-pill",title:j.full_path,children:[j.name,v.jsx("button",{className:"remove-tag",title:`Remove tag ${j.full_path}`,onClick:()=>S(j.tag_uid),children:"×"})]},j.tag_uid))}),v.jsxs("div",{className:"assign-tag-form",children:[v.jsx("input",{className:"assign-tag-input",type:"text",placeholder:"/science/cs",autoComplete:"off",value:f,onChange:j=>h(j.target.value),onKeyDown:j=>{j.key==="Enter"&&k()}}),v.jsx("button",{className:"assign-tag-btn",onClick:k,children:"Add tag"}),m&&v.jsx("div",{className:"muted",style:{fontSize:"0.85em",color:"var(--accent)"},children:m})]})]})]})}function ep(){const[e,t]=L.useState([]),[n,r]=L.useState(null),[l,i]=L.useState([]),[u,o]=L.useState(null),[s,f]=L.useState(null),[h,m]=L.useState(null),[p,w]=L.useState("archive"),[k,S]=L.useState(""),[j,c]=L.useState(""),[a,d]=L.useState(!1),[y,x]=L.useState([]),[P,_]=L.useState([]),[z,A]=L.useState(!1),R=L.useCallback(async(N,D,K)=>{if(N){d(!0);try{let ze;D||K?ze=await Ad(N,D,K):ze=await Ud(N),i(ze),c(ze.length===0?"No results":`${ze.length} result${ze.length===1?"":"s"}`)}catch{i([]),c("Search failed. Try again.")}finally{d(!1)}}},[]);L.useEffect(()=>{$d().then(N=>{if(t(N),N.length>0){const D=N[0].id;r(D)}})},[]),L.useEffect(()=>{n&&(m(null),f(null),o(null),Promise.all([R(n,"",null),Yo(n).then(x),Zl(n).then(_)]))},[n]),L.useEffect(()=>{if(n===null)return;const N=setTimeout(()=>{R(n,k,h)},300);return()=>clearTimeout(N)},[k,n]),L.useEffect(()=>{n!==null&&(w("archive"),R(n,k,h))},[h,n]);const me=L.useCallback(N=>{r(N)},[]),Je=L.useCallback(N=>{w(N),N==="tags"&&n&&Zl(n).then(_)},[n]),gt=L.useCallback(N=>{o(N?N.entry_uid:null),f(N)},[]),pn=L.useCallback(N=>{m(N)},[]),ir=L.useCallback(()=>{m(null)},[]),hn=L.useCallback(()=>{n&&Zl(n).then(_)},[n]),mn=L.useCallback(()=>{A(!0)},[]),E=L.useCallback(()=>{A(!1)},[]),T=L.useCallback(()=>{n&&Promise.all([R(n,k,h),Yo(n).then(x)])},[n,k,h,R]);return v.jsxs(v.Fragment,{children:[v.jsx(Wd,{archives:e,archiveId:n,onArchiveChange:me,view:p,onViewChange:Je,onCaptureClick:mn}),v.jsxs("main",{className:"app-shell",children:[v.jsxs("div",{className:"workspace",children:[p==="archive"&&v.jsxs("div",{className:"search-row",children:[v.jsx("input",{className:"search-input",type:"search","aria-label":"Search archive","aria-busy":a,value:k,onChange:N=>S(N.target.value)}),v.jsxs("div",{className:"result-count",children:[j,h&&v.jsxs("button",{className:"tag-filter-badge",onClick:ir,children:["× ",h]})]})]}),p==="archive"&&v.jsx(Gd,{entries:l,selectedEntryUid:u,onSelectEntry:gt,archiveId:n,tagFilter:h,onClearTagFilter:ir,searchQuery:k,onSearchChange:S,resultCount:j,searchBusy:a}),p==="runs"&&v.jsx(Zd,{runs:y}),p==="admin"&&v.jsx(Jd,{archives:e}),p==="tags"&&v.jsx(qd,{tagNodes:P,tagFilter:h,onTagFilterSet:pn,onViewChange:Je})]}),v.jsx(bd,{archiveId:n,selectedEntry:s,onTagFilterSet:pn,tagNodes:P,onTagsRefresh:hn})]}),v.jsx(Kd,{open:z,archiveId:n,onClose:E,onCaptured:T})]})}oc(document.getElementById("root")).render(v.jsx(L.StrictMode,{children:v.jsx(ep,{})})); diff --git a/crates/archivr-server/static/assets/index-D40QFUPh.css b/crates/archivr-server/static/assets/index-D40QFUPh.css deleted file mode 100644 index 04f6484..0000000 --- a/crates/archivr-server/static/assets/index-D40QFUPh.css +++ /dev/null @@ -1 +0,0 @@ -:root{color-scheme:light;--ink: #20251f;--muted: #666a61;--paper: #f5f0e7;--paper-2: #e9e1d2;--paper-3: #fffaf0;--line: #d2c6b5;--line-soft: #e5dccd;--accent: #8d3f30;--accent-2: #b78342;--link: #245f72;--top: #141d18}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.topbar{height:56px;display:grid;grid-template-columns:auto minmax(180px,250px) 1fr auto;align-items:center;gap:18px;padding:0 18px;background:var(--top);color:#f7eedf;border-bottom:3px solid var(--accent)}.brand{font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1}.archive-switcher{width:100%;min-width:0;border:1px solid rgba(247,238,223,.35);background:#202b25;color:#f7eedf;padding:7px 9px}.nav{display:flex;gap:16px;justify-content:flex-end;min-width:0}.nav-link{border:0;background:transparent;color:#d7cdbf;cursor:pointer;padding:8px 0}.nav-link.is-active{color:#fffaf0;border-bottom:1px solid #fffaf0}.capture-button{border:0;background:#f7eedf;color:var(--top);padding:9px 12px;cursor:pointer}.app-shell{height:calc(100vh - 56px);display:grid;grid-template-columns:minmax(0,1fr) 320px}.workspace{min-width:0;overflow:auto}.search-row{min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:18px;align-items:center;padding:14px 16px;background:var(--paper-2);border-bottom:1px solid var(--line)}.search-input{width:100%;height:46px;border:2px solid var(--ink);background:var(--paper-3);color:var(--ink);padding:0 14px;font-size:16px;outline-offset:3px}.result-count{min-width:76px;color:var(--muted);font-size:13px;text-align:right}.view{display:none}.view.is-active{display:block}.entry-table{width:100%;font-size:13px;overflow:auto}.entry-header-row{display:flex;align-items:stretch;position:sticky;top:0;z-index:1;background:#ded5c7;border-bottom:1px solid #cec4b5;color:#5d625e;font-size:11px;text-transform:uppercase}.entry-header-row>div{padding:10px;flex-shrink:0}#entries-body>div{display:flex;align-items:baseline;cursor:default;border-bottom:1px solid var(--line-soft)}#entries-body>div>div{padding:10px;flex-shrink:0;overflow:hidden}#entries-body>div:nth-child(2n){background:#f2ede5}#entries-body>div:nth-child(odd){background:var(--paper-3)}#entries-body>div.is-selected{background:#eee2d2;outline:2px solid var(--accent);outline-offset:-2px}.col-added{width:168px}.col-title{flex:1 1 0;min-width:0;overflow:hidden}.col-type{width:120px}.col-size{width:100px}.col-url{flex:0 0 30%;min-width:0;overflow:hidden}#runs-view .entry-table{border-collapse:collapse;table-layout:auto}#runs-view .entry-table th{position:sticky;top:0;z-index:1;text-align:left;padding:10px;background:#ded5c7;color:#5d625e;border-bottom:1px solid #cec4b5;font-size:11px;text-transform:uppercase}#runs-view .entry-table td{padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:top}#runs-view .entry-table tr:nth-child(2n) td{background:#f2ede5}#runs-view .entry-table tr:nth-child(odd) td{background:var(--paper-3)}.entry-title{color:var(--link);font-weight:750}.source-icon{display:inline-flex;align-items:center;width:1em;height:1em;margin-right:.35em;vertical-align:middle;flex-shrink:0}.source-icon svg{width:100%;height:100%}.url-cell{color:#555b55;word-break:break-all}.type-pill{display:inline-block;padding:2px 6px;background:#d8e3df;color:#275a5f;border:1px solid #bfd0ca}.context-rail{border-left:1px solid var(--line);background:#efe7dc;padding:18px;overflow:auto}.rail-title{color:var(--accent);font-weight:800;margin-bottom:10px;text-transform:uppercase;font-size:12px;letter-spacing:0}.rail-body{color:var(--muted);font-size:14px;line-height:1.6}.rail-body strong{color:var(--ink)}.rail-item{padding:10px 0;border-bottom:1px solid var(--line)}.admin-view{padding:22px}.admin-view h1{margin:0 0 16px;font-size:18px}.admin-list{display:grid;gap:10px;max-width:780px}.admin-archive{border:1px solid var(--line);background:var(--paper-3);padding:12px}.muted{color:var(--muted)}@media (max-width: 900px){.topbar{grid-template-columns:1fr auto;height:auto;min-height:56px;padding:12px}.archive-switcher,.nav{grid-column:1 / -1}.nav{justify-content:flex-start;overflow-x:auto}.app-shell{height:auto;grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.result-count{text-align:left}.context-rail{border-left:0;border-top:1px solid var(--line)}.entry-table{min-width:860px}}.rail-entry-title{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:12px;line-height:1.4}.rail-section{margin-bottom:18px}.rail-section-heading{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:6px}.rail-label{font-weight:600;color:var(--ink)}.rail-url-link{color:var(--accent);word-break:break-all;font-size:13px}.artifact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.artifact-link{display:block;padding:6px 8px;background:var(--paper-3);border:1px solid var(--line);color:var(--accent);text-decoration:none;font-size:13px;border-radius:3px}.artifact-link:hover{background:var(--line);text-decoration:underline}.search-input[aria-busy=true]{cursor:progress}.tag-tree{padding:12px}.tag-tree-list{list-style:none;margin:0;padding:0}.tag-children{padding-left:16px}.tag-node-btn{border:0;background:transparent;color:var(--link);cursor:pointer;padding:3px 0;text-align:left;font-size:13px;display:block;width:100%}.tag-node-btn:hover{text-decoration:underline}.tag-node-btn.is-active{font-weight:600;color:var(--ink)}.entry-tags{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.tag-pill{display:inline-flex;align-items:center;gap:4px;background:var(--paper-2);border:1px solid var(--line);border-radius:3px;font-size:12px;padding:2px 6px;color:var(--ink)}.remove-tag{border:0;background:none;cursor:pointer;color:var(--muted);padding:0;font-size:14px;line-height:1}.remove-tag:hover{color:var(--accent)}.assign-tag-form{display:flex;gap:6px;padding:6px 0 8px;border-top:1px solid var(--line-soft);margin-top:4px}.assign-tag-input{flex:1;min-width:0;border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:4px 7px;font-size:12px}.assign-tag-btn{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);cursor:pointer;padding:4px 10px;font-size:12px;white-space:nowrap}.assign-tag-btn:hover{background:var(--paper)}.tag-filter-badge{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;border:0;border-radius:3px;font-size:12px;padding:2px 8px;cursor:pointer;margin-left:8px}.tag-filter-badge:hover{opacity:.85}.capture-dialog{border:2px solid var(--ink);background:var(--paper);padding:0;min-width:360px;max-width:520px;box-shadow:4px 4px 0 var(--ink)}.capture-dialog::backdrop{background:#00000073}.capture-dialog-inner{padding:28px}.capture-dialog-title{margin:0 0 16px;font-size:18px;font-family:Georgia,Times New Roman,serif}.capture-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.capture-input{width:100%;height:42px;border:2px solid var(--ink);background:var(--paper-3);color:var(--ink);padding:0 12px;font-size:15px;margin-bottom:10px;outline-offset:3px}.capture-error{color:var(--accent);font-size:13px;margin-bottom:10px;min-height:18px}.capture-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.capture-cancel{border:1px solid var(--line);background:none;color:var(--ink);padding:8px 18px;cursor:pointer}.capture-cancel:hover{background:var(--paper-2)}.capture-submit{border:0;background:var(--ink);color:var(--paper);padding:8px 20px;cursor:pointer;font-weight:600}.capture-submit:hover{opacity:.85}.capture-submit:disabled{opacity:.45;cursor:default}.collections-view{padding:24px}.collections-heading{margin:0 0 16px;font-size:22px;font-family:Georgia,Times New Roman,serif}.collections-error{color:var(--accent);font-size:13px;margin-bottom:8px}.coll-dismiss{background:none;border:none;cursor:pointer;color:var(--accent);font-size:16px;line-height:1;padding:0 4px}.collections-layout{display:grid;grid-template-columns:220px 1fr;gap:0;border:1px solid var(--line);min-height:340px}.collections-sidebar{border-right:1px solid var(--line);overflow-y:auto}.coll-row{display:flex;flex-direction:column;width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--line-soft);background:none;cursor:pointer;text-align:left;gap:2px}.coll-row:hover{background:var(--paper-2)}.coll-row.is-active{background:var(--paper-2);border-left:3px solid var(--accent)}.coll-row-name{font-size:14px;font-weight:600;color:var(--ink)}.coll-row-meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.coll-detail{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.coll-detail--empty{justify-content:center;align-items:center}.coll-detail-header{display:flex;align-items:center;gap:12px}.coll-detail-name{margin:0;font-size:18px;font-family:Georgia,Times New Roman,serif;flex:1}.coll-detail-name--editable{cursor:pointer}.coll-detail-name--editable:hover{color:var(--link)}.coll-edit-hint{font-size:14px;opacity:.5;margin-left:4px}.coll-rename-input{flex:1;font-size:16px;font-family:Georgia,Times New Roman,serif;border:2px solid var(--ink);padding:4px 8px;background:var(--paper-3);color:var(--ink)}.coll-delete-btn{border:1px solid var(--accent);background:none;color:var(--accent);padding:5px 12px;font-size:13px;cursor:pointer}.coll-delete-btn:hover{background:var(--accent);color:var(--paper)}.coll-detail-vis{display:flex;align-items:center;gap:10px}.coll-vis-label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.coll-vis-select{border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:4px 8px;font-size:13px}.coll-section-heading{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.coll-entries-section{flex:1}.coll-entries-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.coll-entry-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft)}.coll-entry-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.coll-entry-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coll-entry-kind{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.coll-entry-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.coll-entry-vis-select{border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:3px 6px;font-size:12px}.coll-entry-remove{border:none;background:none;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;padding:0 4px}.coll-entry-remove:hover{color:var(--accent)}.coll-add-entry-form{border-top:1px solid var(--line-soft);padding-top:12px}.coll-add-entry-row{display:flex;gap:8px;align-items:center}.coll-add-entry-input{flex:1;border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:6px 10px;font-size:13px;min-width:0}.coll-add-btn{border:none;background:var(--ink);color:var(--paper);padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.coll-add-btn:hover{opacity:.85}.coll-add-btn:disabled{opacity:.45;cursor:default}.coll-create-details summary{font-weight:600;cursor:pointer} diff --git a/crates/archivr-server/static/assets/index-DJpQthbx.css b/crates/archivr-server/static/assets/index-DJpQthbx.css deleted file mode 100644 index 445ba86..0000000 --- a/crates/archivr-server/static/assets/index-DJpQthbx.css +++ /dev/null @@ -1 +0,0 @@ -:root{color-scheme:light;--ink: #20251f;--muted: #666a61;--paper: #f5f0e7;--paper-2: #e9e1d2;--paper-3: #fffaf0;--line: #d2c6b5;--line-soft: #e5dccd;--accent: #8d3f30;--accent-2: #b78342;--link: #245f72;--top: #141d18}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.topbar{height:56px;display:grid;grid-template-columns:auto minmax(180px,250px) 1fr auto;align-items:center;gap:18px;padding:0 18px;background:var(--top);color:#f7eedf;border-bottom:3px solid var(--accent)}.brand{font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1}.archive-switcher{width:100%;min-width:0;border:1px solid rgba(247,238,223,.35);background:#202b25;color:#f7eedf;padding:7px 9px}.nav{display:flex;gap:16px;justify-content:flex-end;min-width:0}.nav-link{border:0;background:transparent;color:#d7cdbf;cursor:pointer;padding:8px 0}.nav-link.is-active{color:#fffaf0;border-bottom:1px solid #fffaf0}.capture-button{border:0;background:#f7eedf;color:var(--top);padding:9px 12px;cursor:pointer}.app-shell{height:calc(100vh - 56px);display:grid;grid-template-columns:minmax(0,1fr) 320px}.workspace{min-width:0;overflow:auto}.search-row{min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:18px;align-items:center;padding:14px 16px;background:var(--paper-2);border-bottom:1px solid var(--line)}.search-input{width:100%;height:46px;border:2px solid var(--ink);background:var(--paper-3);color:var(--ink);padding:0 14px;font-size:16px;outline-offset:3px}.result-count{min-width:76px;color:var(--muted);font-size:13px;text-align:right}.view{display:none}.view.is-active{display:block}.entry-table{width:100%;font-size:13px;overflow:auto}.entry-header-row{display:flex;align-items:stretch;position:sticky;top:0;z-index:1;background:#ded5c7;border-bottom:1px solid #cec4b5;color:#5d625e;font-size:11px;text-transform:uppercase}.entry-header-row>div{padding:10px;flex-shrink:0}#entries-body>div{display:flex;align-items:baseline;cursor:default;border-bottom:1px solid var(--line-soft)}#entries-body>div>div{padding:10px;flex-shrink:0;overflow:hidden}#entries-body>div:nth-child(2n){background:#f2ede5}#entries-body>div:nth-child(odd){background:var(--paper-3)}#entries-body>div.is-selected{background:#eee2d2;outline:2px solid var(--accent);outline-offset:-2px}.col-added{width:168px}.col-title{flex:1 1 0;min-width:0;overflow:hidden}.col-type{width:120px}.col-size{width:100px}.col-url{flex:0 0 30%;min-width:0;overflow:hidden}#runs-view .entry-table{border-collapse:collapse;table-layout:auto}#runs-view .entry-table th{position:sticky;top:0;z-index:1;text-align:left;padding:10px;background:#ded5c7;color:#5d625e;border-bottom:1px solid #cec4b5;font-size:11px;text-transform:uppercase}#runs-view .entry-table td{padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:top}#runs-view .entry-table tr:nth-child(2n) td{background:#f2ede5}#runs-view .entry-table tr:nth-child(odd) td{background:var(--paper-3)}.entry-title{color:var(--link);font-weight:750}.source-icon{display:inline-flex;align-items:center;width:1em;height:1em;margin-right:.35em;vertical-align:middle;flex-shrink:0}.source-icon svg{width:100%;height:100%}.url-cell{color:#555b55;word-break:break-all}.type-pill{display:inline-block;padding:2px 6px;background:#d8e3df;color:#275a5f;border:1px solid #bfd0ca}.context-rail{border-left:1px solid var(--line);background:#efe7dc;padding:18px;overflow:auto}.rail-title{color:var(--accent);font-weight:800;margin-bottom:10px;text-transform:uppercase;font-size:12px;letter-spacing:0}.rail-body{color:var(--muted);font-size:14px;line-height:1.6}.rail-body strong{color:var(--ink)}.rail-item{padding:10px 0;border-bottom:1px solid var(--line)}.admin-view{padding:22px}.admin-view h1{margin:0 0 16px;font-size:18px}.admin-list{display:grid;gap:10px;max-width:780px}.admin-archive{border:1px solid var(--line);background:var(--paper-3);padding:12px}.muted{color:var(--muted)}@media (max-width: 900px){.topbar{grid-template-columns:1fr auto;height:auto;min-height:56px;padding:12px}.archive-switcher,.nav{grid-column:1 / -1}.nav{justify-content:flex-start;overflow-x:auto}.app-shell{height:auto;grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.result-count{text-align:left}.context-rail{border-left:0;border-top:1px solid var(--line)}.entry-table{min-width:860px}}.rail-entry-title{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:12px;line-height:1.4}.rail-section{margin-bottom:18px}.rail-section-heading{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:6px}.rail-label{font-weight:600;color:var(--ink)}.rail-url-link{color:var(--accent);word-break:break-all;font-size:13px}.artifact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.artifact-link{display:block;padding:6px 8px;background:var(--paper-3);border:1px solid var(--line);color:var(--accent);text-decoration:none;font-size:13px;border-radius:3px}.artifact-link:hover{background:var(--line);text-decoration:underline}.search-input[aria-busy=true]{cursor:progress}.tag-tree{padding:12px}.tag-tree-list{list-style:none;margin:0;padding:0}.tag-children{padding-left:16px}.tag-node-btn{border:0;background:transparent;color:var(--link);cursor:pointer;padding:3px 0;text-align:left;font-size:13px;display:block;width:100%}.tag-node-btn:hover{text-decoration:underline}.tag-node-btn.is-active{font-weight:600;color:var(--ink)}.entry-tags{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.tag-pill{display:inline-flex;align-items:center;gap:4px;background:var(--paper-2);border:1px solid var(--line);border-radius:3px;font-size:12px;padding:2px 6px;color:var(--ink)}.remove-tag{border:0;background:none;cursor:pointer;color:var(--muted);padding:0;font-size:14px;line-height:1}.remove-tag:hover{color:var(--accent)}.assign-tag-form{display:flex;gap:6px;padding:6px 0 8px;border-top:1px solid var(--line-soft);margin-top:4px}.assign-tag-input{flex:1;min-width:0;border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:4px 7px;font-size:12px}.assign-tag-btn{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);cursor:pointer;padding:4px 10px;font-size:12px;white-space:nowrap}.assign-tag-btn:hover{background:var(--paper)}.tag-filter-badge{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;border:0;border-radius:3px;font-size:12px;padding:2px 8px;cursor:pointer;margin-left:8px}.tag-filter-badge:hover{opacity:.85}.capture-dialog{border:2px solid var(--ink);background:var(--paper);padding:0;min-width:360px;max-width:520px;box-shadow:4px 4px 0 var(--ink)}.capture-dialog::backdrop{background:#00000073}.capture-dialog-inner{padding:28px}.capture-dialog-title{margin:0 0 16px;font-size:18px;font-family:Georgia,Times New Roman,serif}.capture-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.capture-input{width:100%;height:42px;border:2px solid var(--ink);background:var(--paper-3);color:var(--ink);padding:0 12px;font-size:15px;margin-bottom:10px;outline-offset:3px}.capture-error{color:var(--accent);font-size:13px;margin-bottom:10px;min-height:18px}.capture-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.capture-cancel{border:1px solid var(--line);background:none;color:var(--ink);padding:8px 18px;cursor:pointer}.capture-cancel:hover{background:var(--paper-2)}.capture-submit{border:0;background:var(--ink);color:var(--paper);padding:8px 20px;cursor:pointer;font-weight:600}.capture-submit:hover{opacity:.85}.capture-submit:disabled{opacity:.45;cursor:default} diff --git a/crates/archivr-server/static/assets/index-DRRKzKIq.js b/crates/archivr-server/static/assets/index-DRRKzKIq.js deleted file mode 100644 index a5d6cd2..0000000 --- a/crates/archivr-server/static/assets/index-DRRKzKIq.js +++ /dev/null @@ -1,40 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();var Zo={exports:{}},ol={},qo={exports:{}},D={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var rr=Symbol.for("react.element"),pc=Symbol.for("react.portal"),hc=Symbol.for("react.fragment"),mc=Symbol.for("react.strict_mode"),vc=Symbol.for("react.profiler"),gc=Symbol.for("react.provider"),yc=Symbol.for("react.context"),wc=Symbol.for("react.forward_ref"),xc=Symbol.for("react.suspense"),Sc=Symbol.for("react.memo"),kc=Symbol.for("react.lazy"),Is=Symbol.iterator;function Cc(e){return e===null||typeof e!="object"?null:(e=Is&&e[Is]||e["@@iterator"],typeof e=="function"?e:null)}var bo={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},eu=Object.assign,tu={};function vn(e,t,n){this.props=e,this.context=t,this.refs=tu,this.updater=n||bo}vn.prototype.isReactComponent={};vn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};vn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function nu(){}nu.prototype=vn.prototype;function Wi(e,t,n){this.props=e,this.context=t,this.refs=tu,this.updater=n||bo}var Qi=Wi.prototype=new nu;Qi.constructor=Wi;eu(Qi,vn.prototype);Qi.isPureReactComponent=!0;var Us=Array.isArray,ru=Object.prototype.hasOwnProperty,Ki={current:null},lu={key:!0,ref:!0,__self:!0,__source:!0};function iu(e,t,n){var r,l={},i=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)ru.call(t,r)&&!lu.hasOwnProperty(r)&&(l[r]=t[r]);var o=arguments.length-2;if(o===1)l.children=n;else if(1>>1,V=E[I];if(0>>1;Il(Oe,R))Vel(De,Oe)?(E[I]=De,E[Ve]=R,I=Ve):(E[I]=Oe,E[M]=R,I=M);else if(Vel(De,R))E[I]=De,E[Ve]=R,I=Ve;else break e}}return C}function l(E,C){var R=E.sortIndex-C.sortIndex;return R!==0?R:E.id-C.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,o=s.now();e.unstable_now=function(){return s.now()-o}}var a=[],f=[],v=1,m=null,h=3,w=!1,S=!1,x=!1,j=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(E){for(var C=n(f);C!==null;){if(C.callback===null)r(f);else if(C.startTime<=E)r(f),C.sortIndex=C.expirationTime,t(a,C);else break;C=n(f)}}function g(E){if(x=!1,p(E),!S)if(n(a)!==null)S=!0,it(N);else{var C=n(f);C!==null&&Et(g,C.startTime-E)}}function N(E,C){S=!1,x&&(x=!1,d(z),z=-1),w=!0;var R=h;try{for(p(C),m=n(a);m!==null&&(!(m.expirationTime>C)||E&&!X());){var I=m.callback;if(typeof I=="function"){m.callback=null,h=m.priorityLevel;var V=I(m.expirationTime<=C);C=e.unstable_now(),typeof V=="function"?m.callback=V:m===n(a)&&r(a),p(C)}else r(a);m=n(a)}if(m!==null)var Vt=!0;else{var M=n(f);M!==null&&Et(g,M.startTime-C),Vt=!1}return Vt}finally{m=null,h=R,w=!1}}var P=!1,_=null,z=-1,L=5,O=-1;function X(){return!(e.unstable_now()-OE||125I?(E.sortIndex=R,t(f,E),n(a)===null&&E===n(f)&&(x?(d(z),z=-1):x=!0,Et(g,R-I))):(E.sortIndex=V,t(a,E),S||w||(S=!0,it(N))),E},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(E){var C=h;return function(){var R=h;h=C;try{return E.apply(this,arguments)}finally{h=R}}}})(cu);au.exports=cu;var Dc=au.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Mc=y,ke=Dc;function k(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ql=Object.prototype.hasOwnProperty,Fc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Bs={},Vs={};function $c(e){return ql.call(Vs,e)?!0:ql.call(Bs,e)?!1:Fc.test(e)?Vs[e]=!0:(Bs[e]=!0,!1)}function Ic(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Uc(e,t,n,r){if(t===null||typeof t>"u"||Ic(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function fe(e,t,n,r,l,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var re={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){re[e]=new fe(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];re[t]=new fe(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){re[e]=new fe(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){re[e]=new fe(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){re[e]=new fe(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){re[e]=new fe(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){re[e]=new fe(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){re[e]=new fe(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){re[e]=new fe(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xi=/[\-:]([a-z])/g;function Gi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Xi,Gi);re[t]=new fe(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Xi,Gi);re[t]=new fe(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Xi,Gi);re[t]=new fe(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){re[e]=new fe(e,1,!1,e.toLowerCase(),null,!1,!1)});re.xlinkHref=new fe("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){re[e]=new fe(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ji(e,t,n,r){var l=re.hasOwnProperty(t)?re[t]:null;(l!==null?l.type!==0:r||!(2o||l[s]!==i[o]){var a=` -`+l[s].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=s&&0<=o);break}}}finally{El=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?_n(e):""}function Ac(e){switch(e.tag){case 5:return _n(e.type);case 16:return _n("Lazy");case 13:return _n("Suspense");case 19:return _n("SuspenseList");case 0:case 2:case 15:return e=_l(e.type,!1),e;case 11:return e=_l(e.type.render,!1),e;case 1:return e=_l(e.type,!0),e;default:return""}}function ni(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Qt:return"Fragment";case Wt:return"Portal";case bl:return"Profiler";case Zi:return"StrictMode";case ei:return"Suspense";case ti:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case pu:return(e.displayName||"Context")+".Consumer";case du:return(e._context.displayName||"Context")+".Provider";case qi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case bi:return t=e.displayName||null,t!==null?t:ni(e.type)||"Memo";case ot:t=e._payload,e=e._init;try{return ni(e(t))}catch{}}return null}function Bc(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ni(t);case 8:return t===Zi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function St(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function mu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Vc(e){var t=mu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(s){r=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cr(e){e._valueTracker||(e._valueTracker=Vc(e))}function vu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=mu(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function $r(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ri(e,t){var n=t.checked;return K({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Ws(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=St(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function gu(e,t){t=t.checked,t!=null&&Ji(e,"checked",t,!1)}function li(e,t){gu(e,t);var n=St(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ii(e,t.type,n):t.hasOwnProperty("defaultValue")&&ii(e,t.type,St(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Qs(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ii(e,t,n){(t!=="number"||$r(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Pn=Array.isArray;function nn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=fr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ln={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Hc=["Webkit","ms","Moz","O"];Object.keys(Ln).forEach(function(e){Hc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ln[t]=Ln[e]})});function Su(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ln.hasOwnProperty(e)&&Ln[e]?(""+t).trim():t+"px"}function ku(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Su(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Wc=K({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ui(e,t){if(t){if(Wc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(k(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(k(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(k(61))}if(t.style!=null&&typeof t.style!="object")throw Error(k(62))}}function ai(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ci=null;function es(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var fi=null,rn=null,ln=null;function Xs(e){if(e=sr(e)){if(typeof fi!="function")throw Error(k(280));var t=e.stateNode;t&&(t=dl(t),fi(e.stateNode,e.type,t))}}function Cu(e){rn?ln?ln.push(e):ln=[e]:rn=e}function Nu(){if(rn){var e=rn,t=ln;if(ln=rn=null,Xs(e),t)for(e=0;e>>=0,e===0?32:31-(tf(e)/nf|0)|0}var dr=64,pr=4194304;function Tn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Br(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,s=n&268435455;if(s!==0){var o=s&~l;o!==0?r=Tn(o):(i&=s,i!==0&&(r=Tn(i)))}else s=n&~l,s!==0?r=Tn(s):i!==0&&(r=Tn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function lr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ue(t),e[t]=n}function of(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=On),ro=" ",lo=!1;function Wu(e,t){switch(e){case"keyup":return Mf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Qu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Kt=!1;function $f(e,t){switch(e){case"compositionend":return Qu(t);case"keypress":return t.which!==32?null:(lo=!0,ro);case"textInput":return e=t.data,e===ro&&lo?null:e;default:return null}}function If(e,t){if(Kt)return e==="compositionend"||!us&&Wu(e,t)?(e=Vu(),Pr=is=ft=null,Kt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=uo(n)}}function Gu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Gu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ju(){for(var e=window,t=$r();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=$r(e.document)}return t}function as(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Yf(e){var t=Ju(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Gu(n.ownerDocument.documentElement,n)){if(r!==null&&as(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=ao(n,i);var s=ao(n,r);l&&s&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Yt=null,gi=null,Mn=null,yi=!1;function co(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;yi||Yt==null||Yt!==$r(r)||(r=Yt,"selectionStart"in r&&as(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Mn&&Yn(Mn,r)||(Mn=r,r=Wr(gi,"onSelect"),0Jt||(e.current=Ni[Jt],Ni[Jt]=null,Jt--)}function U(e,t){Jt++,Ni[Jt]=e.current,e.current=t}var kt={},oe=Nt(kt),me=Nt(!1),Mt=kt;function cn(e,t){var n=e.type.contextTypes;if(!n)return kt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ve(e){return e=e.childContextTypes,e!=null}function Kr(){B(me),B(oe)}function yo(e,t,n){if(oe.current!==kt)throw Error(k(168));U(oe,t),U(me,n)}function ia(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(k(108,Bc(e)||"Unknown",l));return K({},n,r)}function Yr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||kt,Mt=oe.current,U(oe,e),U(me,me.current),!0}function wo(e,t,n){var r=e.stateNode;if(!r)throw Error(k(169));n?(e=ia(e,t,Mt),r.__reactInternalMemoizedMergedChildContext=e,B(me),B(oe),U(oe,e)):B(me),U(me,n)}var Ge=null,pl=!1,Bl=!1;function sa(e){Ge===null?Ge=[e]:Ge.push(e)}function id(e){pl=!0,sa(e)}function jt(){if(!Bl&&Ge!==null){Bl=!0;var e=0,t=$;try{var n=Ge;for($=1;e>=s,l-=s,Je=1<<32-Ue(t)+l|n<z?(L=_,_=null):L=_.sibling;var O=h(d,_,p[z],g);if(O===null){_===null&&(_=L);break}e&&_&&O.alternate===null&&t(d,_),c=i(O,c,z),P===null?N=O:P.sibling=O,P=O,_=L}if(z===p.length)return n(d,_),H&&_t(d,z),N;if(_===null){for(;zz?(L=_,_=null):L=_.sibling;var X=h(d,_,O.value,g);if(X===null){_===null&&(_=L);break}e&&_&&X.alternate===null&&t(d,_),c=i(X,c,z),P===null?N=X:P.sibling=X,P=X,_=L}if(O.done)return n(d,_),H&&_t(d,z),N;if(_===null){for(;!O.done;z++,O=p.next())O=m(d,O.value,g),O!==null&&(c=i(O,c,z),P===null?N=O:P.sibling=O,P=O);return H&&_t(d,z),N}for(_=r(d,_);!O.done;z++,O=p.next())O=w(_,d,z,O.value,g),O!==null&&(e&&O.alternate!==null&&_.delete(O.key===null?z:O.key),c=i(O,c,z),P===null?N=O:P.sibling=O,P=O);return e&&_.forEach(function(ye){return t(d,ye)}),H&&_t(d,z),N}function j(d,c,p,g){if(typeof p=="object"&&p!==null&&p.type===Qt&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case ar:e:{for(var N=p.key,P=c;P!==null;){if(P.key===N){if(N=p.type,N===Qt){if(P.tag===7){n(d,P.sibling),c=l(P,p.props.children),c.return=d,d=c;break e}}else if(P.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===ot&&ko(N)===P.type){n(d,P.sibling),c=l(P,p.props),c.ref=Nn(d,P,p),c.return=d,d=c;break e}n(d,P);break}else t(d,P);P=P.sibling}p.type===Qt?(c=Dt(p.props.children,d.mode,g,p.key),c.return=d,d=c):(g=Fr(p.type,p.key,p.props,null,d.mode,g),g.ref=Nn(d,c,p),g.return=d,d=g)}return s(d);case Wt:e:{for(P=p.key;c!==null;){if(c.key===P)if(c.tag===4&&c.stateNode.containerInfo===p.containerInfo&&c.stateNode.implementation===p.implementation){n(d,c.sibling),c=l(c,p.children||[]),c.return=d,d=c;break e}else{n(d,c);break}else t(d,c);c=c.sibling}c=Gl(p,d.mode,g),c.return=d,d=c}return s(d);case ot:return P=p._init,j(d,c,P(p._payload),g)}if(Pn(p))return S(d,c,p,g);if(wn(p))return x(d,c,p,g);xr(d,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,c!==null&&c.tag===6?(n(d,c.sibling),c=l(c,p),c.return=d,d=c):(n(d,c),c=Xl(p,d.mode,g),c.return=d,d=c),s(d)):n(d,c)}return j}var dn=ca(!0),fa=ca(!1),Jr=Nt(null),Zr=null,bt=null,ps=null;function hs(){ps=bt=Zr=null}function ms(e){var t=Jr.current;B(Jr),e._currentValue=t}function _i(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function on(e,t){Zr=e,ps=bt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(he=!0),e.firstContext=null)}function Te(e){var t=e._currentValue;if(ps!==e)if(e={context:e,memoizedValue:t,next:null},bt===null){if(Zr===null)throw Error(k(308));bt=e,Zr.dependencies={lanes:0,firstContext:e}}else bt=bt.next=e;return t}var zt=null;function vs(e){zt===null?zt=[e]:zt.push(e)}function da(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,vs(t)):(n.next=l.next,l.next=n),t.interleaved=n,tt(e,r)}function tt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var ut=!1;function gs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function pa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function qe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function gt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,F&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,tt(e,n)}return l=r.interleaved,l===null?(t.next=t,vs(r)):(t.next=l.next,l.next=t),r.interleaved=t,tt(e,n)}function zr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ns(e,n)}}function Co(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=s:i=i.next=s,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function qr(e,t,n,r){var l=e.updateQueue;ut=!1;var i=l.firstBaseUpdate,s=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var a=o,f=a.next;a.next=null,s===null?i=f:s.next=f,s=a;var v=e.alternate;v!==null&&(v=v.updateQueue,o=v.lastBaseUpdate,o!==s&&(o===null?v.firstBaseUpdate=f:o.next=f,v.lastBaseUpdate=a))}if(i!==null){var m=l.baseState;s=0,v=f=a=null,o=i;do{var h=o.lane,w=o.eventTime;if((r&h)===h){v!==null&&(v=v.next={eventTime:w,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var S=e,x=o;switch(h=t,w=n,x.tag){case 1:if(S=x.payload,typeof S=="function"){m=S.call(w,m,h);break e}m=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=x.payload,h=typeof S=="function"?S.call(w,m,h):S,h==null)break e;m=K({},m,h);break e;case 2:ut=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,h=l.effects,h===null?l.effects=[o]:h.push(o))}else w={eventTime:w,lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},v===null?(f=v=w,a=m):v=v.next=w,s|=h;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;h=o,o=h.next,h.next=null,l.lastBaseUpdate=h,l.shared.pending=null}}while(!0);if(v===null&&(a=m),l.baseState=a,l.firstBaseUpdate=f,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do s|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);It|=s,e.lanes=s,e.memoizedState=m}}function No(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Hl.transition;Hl.transition={};try{e(!1),t()}finally{$=n,Hl.transition=r}}function za(){return ze().memoizedState}function ad(e,t,n){var r=wt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},La(e))Ra(t,n);else if(n=da(e,t,n,r),n!==null){var l=ae();Ae(n,e,r,l),Oa(n,t,r)}}function cd(e,t,n){var r=wt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(La(e))Ra(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,o=i(s,n);if(l.hasEagerState=!0,l.eagerState=o,Be(o,s)){var a=t.interleaved;a===null?(l.next=l,vs(t)):(l.next=a.next,a.next=l),t.interleaved=l;return}}catch{}finally{}n=da(e,t,l,r),n!==null&&(l=ae(),Ae(n,e,r,l),Oa(n,t,r))}}function La(e){var t=e.alternate;return e===Q||t!==null&&t===Q}function Ra(e,t){Fn=el=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Oa(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ns(e,n)}}var tl={readContext:Te,useCallback:le,useContext:le,useEffect:le,useImperativeHandle:le,useInsertionEffect:le,useLayoutEffect:le,useMemo:le,useReducer:le,useRef:le,useState:le,useDebugValue:le,useDeferredValue:le,useTransition:le,useMutableSource:le,useSyncExternalStore:le,useId:le,unstable_isNewReconciler:!1},fd={readContext:Te,useCallback:function(e,t){return We().memoizedState=[e,t===void 0?null:t],e},useContext:Te,useEffect:Eo,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Rr(4194308,4,ja.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Rr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Rr(4,2,e,t)},useMemo:function(e,t){var n=We();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=We();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ad.bind(null,Q,e),[r.memoizedState,e]},useRef:function(e){var t=We();return e={current:e},t.memoizedState=e},useState:jo,useDebugValue:js,useDeferredValue:function(e){return We().memoizedState=e},useTransition:function(){var e=jo(!1),t=e[0];return e=ud.bind(null,e[1]),We().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Q,l=We();if(H){if(n===void 0)throw Error(k(407));n=n()}else{if(n=t(),ee===null)throw Error(k(349));$t&30||ga(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Eo(wa.bind(null,r,i,e),[e]),r.flags|=2048,tr(9,ya.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=We(),t=ee.identifierPrefix;if(H){var n=Ze,r=Je;n=(r&~(1<<32-Ue(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=bn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Qe]=t,e[Jn]=r,Ha(e,t,!1,!1),t.stateNode=e;e:{switch(s=ai(n,r),n){case"dialog":A("cancel",e),A("close",e),l=r;break;case"iframe":case"object":case"embed":A("load",e),l=r;break;case"video":case"audio":for(l=0;lmn&&(t.flags|=128,r=!0,jn(i,!1),t.lanes=4194304)}else{if(!r)if(e=br(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),jn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!H)return ie(t),null}else 2*G()-i.renderingStartTime>mn&&n!==1073741824&&(t.flags|=128,r=!0,jn(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(n=i.last,n!==null?n.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=G(),t.sibling=null,n=W.current,U(W,r?n&1|2:n&1),t):(ie(t),null);case 22:case 23:return Ls(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?we&1073741824&&(ie(t),t.subtreeFlags&6&&(t.flags|=8192)):ie(t),null;case 24:return null;case 25:return null}throw Error(k(156,t.tag))}function wd(e,t){switch(fs(t),t.tag){case 1:return ve(t.type)&&Kr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pn(),B(me),B(oe),xs(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return ws(t),null;case 13:if(B(W),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(k(340));fn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return B(W),null;case 4:return pn(),null;case 10:return ms(t.type._context),null;case 22:case 23:return Ls(),null;case 24:return null;default:return null}}var kr=!1,se=!1,xd=typeof WeakSet=="function"?WeakSet:Set,T=null;function en(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Y(e,t,r)}else n.current=null}function Fi(e,t,n){try{n()}catch(r){Y(e,t,r)}}var $o=!1;function Sd(e,t){if(wi=Vr,e=Ju(),as(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var s=0,o=-1,a=-1,f=0,v=0,m=e,h=null;t:for(;;){for(var w;m!==n||l!==0&&m.nodeType!==3||(o=s+l),m!==i||r!==0&&m.nodeType!==3||(a=s+r),m.nodeType===3&&(s+=m.nodeValue.length),(w=m.firstChild)!==null;)h=m,m=w;for(;;){if(m===e)break t;if(h===n&&++f===l&&(o=s),h===i&&++v===r&&(a=s),(w=m.nextSibling)!==null)break;m=h,h=m.parentNode}m=w}n=o===-1||a===-1?null:{start:o,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(xi={focusedElem:e,selectionRange:n},Vr=!1,T=t;T!==null;)if(t=T,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,T=e;else for(;T!==null;){t=T;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var x=S.memoizedProps,j=S.memoizedState,d=t.stateNode,c=d.getSnapshotBeforeUpdate(t.elementType===t.type?x:Fe(t.type,x),j);d.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(k(163))}}catch(g){Y(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,T=e;break}T=t.return}return S=$o,$o=!1,S}function $n(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Fi(t,n,i)}l=l.next}while(l!==r)}}function vl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function $i(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Ka(e){var t=e.alternate;t!==null&&(e.alternate=null,Ka(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Qe],delete t[Jn],delete t[Ci],delete t[rd],delete t[ld])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ya(e){return e.tag===5||e.tag===3||e.tag===4}function Io(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ya(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ii(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Qr));else if(r!==4&&(e=e.child,e!==null))for(Ii(e,t,n),e=e.sibling;e!==null;)Ii(e,t,n),e=e.sibling}function Ui(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ui(e,t,n),e=e.sibling;e!==null;)Ui(e,t,n),e=e.sibling}var te=null,$e=!1;function st(e,t,n){for(n=n.child;n!==null;)Xa(e,t,n),n=n.sibling}function Xa(e,t,n){if(Ke&&typeof Ke.onCommitFiberUnmount=="function")try{Ke.onCommitFiberUnmount(ul,n)}catch{}switch(n.tag){case 5:se||en(n,t);case 6:var r=te,l=$e;te=null,st(e,t,n),te=r,$e=l,te!==null&&($e?(e=te,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):te.removeChild(n.stateNode));break;case 18:te!==null&&($e?(e=te,n=n.stateNode,e.nodeType===8?Al(e.parentNode,n):e.nodeType===1&&Al(e,n),Qn(e)):Al(te,n.stateNode));break;case 4:r=te,l=$e,te=n.stateNode.containerInfo,$e=!0,st(e,t,n),te=r,$e=l;break;case 0:case 11:case 14:case 15:if(!se&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&Fi(n,t,s),l=l.next}while(l!==r)}st(e,t,n);break;case 1:if(!se&&(en(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){Y(n,t,o)}st(e,t,n);break;case 21:st(e,t,n);break;case 22:n.mode&1?(se=(r=se)||n.memoizedState!==null,st(e,t,n),se=r):st(e,t,n);break;default:st(e,t,n)}}function Uo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new xd),t.forEach(function(r){var l=zd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Me(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=s),r&=~i}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Cd(r/1960))-r,10e?16:e,dt===null)var r=!1;else{if(e=dt,dt=null,ll=0,F&6)throw Error(k(331));var l=F;for(F|=4,T=e.current;T!==null;){var i=T,s=i.child;if(T.flags&16){var o=i.deletions;if(o!==null){for(var a=0;aG()-Ts?Ot(e,0):Ps|=n),ge(e,t)}function nc(e,t){t===0&&(e.mode&1?(t=pr,pr<<=1,!(pr&130023424)&&(pr=4194304)):t=1);var n=ae();e=tt(e,t),e!==null&&(lr(e,t,n),ge(e,n))}function Td(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),nc(e,n)}function zd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(k(314))}r!==null&&r.delete(t),nc(e,n)}var rc;rc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||me.current)he=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return he=!1,gd(e,t,n);he=!!(e.flags&131072)}else he=!1,H&&t.flags&1048576&&oa(t,Gr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Or(e,t),e=t.pendingProps;var l=cn(t,oe.current);on(t,n),l=ks(null,t,r,e,l,n);var i=Cs();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ve(r)?(i=!0,Yr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,gs(t),l.updater=ml,t.stateNode=l,l._reactInternals=t,Ti(t,r,e,n),t=Ri(null,t,r,!0,i,n)):(t.tag=0,H&&i&&cs(t),ue(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Or(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Rd(r),e=Fe(r,e),l){case 0:t=Li(null,t,r,e,n);break e;case 1:t=Do(null,t,r,e,n);break e;case 11:t=Ro(null,t,r,e,n);break e;case 14:t=Oo(null,t,r,Fe(r.type,e),n);break e}throw Error(k(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),Li(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),Do(e,t,r,l,n);case 3:e:{if(Aa(t),e===null)throw Error(k(387));r=t.pendingProps,i=t.memoizedState,l=i.element,pa(e,t),qr(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=hn(Error(k(423)),t),t=Mo(e,t,r,n,l);break e}else if(r!==l){l=hn(Error(k(424)),t),t=Mo(e,t,r,n,l);break e}else for(xe=vt(t.stateNode.containerInfo.firstChild),Se=t,H=!0,Ie=null,n=fa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(fn(),r===l){t=nt(e,t,n);break e}ue(e,t,r,n)}t=t.child}return t;case 5:return ha(t),e===null&&Ei(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,s=l.children,Si(r,l)?s=null:i!==null&&Si(r,i)&&(t.flags|=32),Ua(e,t),ue(e,t,s,n),t.child;case 6:return e===null&&Ei(t),null;case 13:return Ba(e,t,n);case 4:return ys(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=dn(t,null,r,n):ue(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),Ro(e,t,r,l,n);case 7:return ue(e,t,t.pendingProps,n),t.child;case 8:return ue(e,t,t.pendingProps.children,n),t.child;case 12:return ue(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,s=l.value,U(Jr,r._currentValue),r._currentValue=s,i!==null)if(Be(i.value,s)){if(i.children===l.children&&!me.current){t=nt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){s=i.child;for(var a=o.firstContext;a!==null;){if(a.context===r){if(i.tag===1){a=qe(-1,n&-n),a.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?a.next=a:(a.next=v.next,v.next=a),f.pending=a}}i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),_i(i.return,n,t),o.lanes|=n;break}a=a.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(k(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),_i(s,n,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}ue(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,on(t,n),l=Te(l),r=r(l),t.flags|=1,ue(e,t,r,n),t.child;case 14:return r=t.type,l=Fe(r,t.pendingProps),l=Fe(r.type,l),Oo(e,t,r,l,n);case 15:return $a(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Fe(r,l),Or(e,t),t.tag=1,ve(r)?(e=!0,Yr(t)):e=!1,on(t,n),Da(t,r,l),Ti(t,r,l,n),Ri(null,t,r,!0,e,n);case 19:return Va(e,t,n);case 22:return Ia(e,t,n)}throw Error(k(156,t.tag))};function lc(e,t){return Lu(e,t)}function Ld(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,t,n,r){return new Ld(e,t,n,r)}function Os(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Rd(e){if(typeof e=="function")return Os(e)?1:0;if(e!=null){if(e=e.$$typeof,e===qi)return 11;if(e===bi)return 14}return 2}function xt(e,t){var n=e.alternate;return n===null?(n=_e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Fr(e,t,n,r,l,i){var s=2;if(r=e,typeof e=="function")Os(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Qt:return Dt(n.children,l,i,t);case Zi:s=8,l|=8;break;case bl:return e=_e(12,n,t,l|2),e.elementType=bl,e.lanes=i,e;case ei:return e=_e(13,n,t,l),e.elementType=ei,e.lanes=i,e;case ti:return e=_e(19,n,t,l),e.elementType=ti,e.lanes=i,e;case hu:return yl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case du:s=10;break e;case pu:s=9;break e;case qi:s=11;break e;case bi:s=14;break e;case ot:s=16,r=null;break e}throw Error(k(130,e==null?e:typeof e,""))}return t=_e(s,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Dt(e,t,n,r){return e=_e(7,e,r,t),e.lanes=n,e}function yl(e,t,n,r){return e=_e(22,e,r,t),e.elementType=hu,e.lanes=n,e.stateNode={isHidden:!1},e}function Xl(e,t,n){return e=_e(6,e,null,t),e.lanes=n,e}function Gl(e,t,n){return t=_e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Od(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Tl(0),this.expirationTimes=Tl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ds(e,t,n,r,l,i,s,o,a){return e=new Od(e,t,n,o,a),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_e(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},gs(i),e}function Dd(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(uc)}catch(e){console.error(e)}}uc(),uu.exports=Ce;var Ud=uu.exports,ac,Yo=Ud;ac=Yo.createRoot,Yo.hydrateRoot;async function de(e){const t=await fetch(e);if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.json()}async function Ad(){return de("/api/archives")}async function Bd(e){return de(`/api/archives/${e}/entries`)}async function Vd(e,t,n){const r=new URLSearchParams;return t&&r.set("q",t),n&&r.set("tag",n),de(`/api/archives/${e}/entries/search?${r}`)}async function Hd(e,t){return de(`/api/archives/${e}/entries/${t}`)}async function Jl(e,t){return de(`/api/archives/${e}/entries/${t}/tags`)}async function Wd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag_path:n})});if(!r.ok)throw new Error(`Failed to add tag (${r.status})`)}async function Qd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Remove failed (${r.status})`)}async function Xo(e){return de(`/api/archives/${e}/runs`)}async function Zl(e){return de(`/api/archives/${e}/tags`)}async function Kd(e,t){const n=await fetch(`/api/archives/${e}/captures`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locator:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function Yd(e,t){return de(`/api/archives/${e}/capture_jobs/${t}`)}async function Xd(){return(await(await fetch("/api/auth/setup")).json()).setup_required===!0}async function Gd(e,t){const n=await fetch("/api/auth/setup",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Setup failed");return n.json()}async function Jd(e,t){const n=await fetch("/api/auth/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Login failed");return n.json()}async function Zd(){await fetch("/api/auth/logout",{method:"POST"})}async function qd(){const e=await fetch("/api/auth/me");return e.status===401?null:e.json()}async function bd(e){const t=await fetch("/api/auth/me",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({display_name:e})});if(!t.ok)throw new Error(await t.text())}async function ep(e,t){const n=await fetch("/api/auth/me",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({current_password:e,new_password:t})});if(!n.ok){let r=await n.text();try{r=JSON.parse(r).error??r}catch{}throw new Error(r)}}async function tp(){return de("/api/auth/tokens")}async function np(e){const t=await fetch("/api/auth/tokens",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});if(!t.ok)throw new Error(await t.text());return t.json()}async function rp(e){const t=await fetch(`/api/auth/tokens/${e}`,{method:"DELETE"});if(!t.ok)throw new Error(await t.text())}async function lp(){return de("/api/admin/instance-settings")}async function ip(e){const t=await fetch("/api/admin/instance-settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(await t.text())}async function sp(){return de("/api/admin/users")}async function op(e,t,n){const r=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t,email:n||void 0})});if(!r.ok){const l=await r.json().catch(()=>({}));throw new Error(l.error||`HTTP ${r.status}`)}return r.json()}async function up(e,t){const n=await fetch(`/api/admin/users/${e}/status`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function ap(){return de("/api/admin/roles")}async function cp(e,t){const n=await fetch("/api/admin/roles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e,name:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function fp(e){return de(`/api/archives/${e}/collections`)}async function dp(e,t,n,r=2){const l=await fetch(`/api/archives/${e}/collections`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:t,slug:n,default_visibility_bits:r})});if(!l.ok){const i=await l.json().catch(()=>({error:l.statusText}));throw new Error(i.error||l.statusText)}return l.json()}async function pp(e,t){return de(`/api/archives/${e}/collections/${t}`)}async function hp(e,t){return de(`/api/archives/${e}/entries/${t}/collections`)}const mp=window.fetch;window.fetch=async(...e)=>{var n;const t=await mp(...e);return t.status===401&&((typeof e[0]=="string"?e[0]:((n=e[0])==null?void 0:n.url)??"").includes("/api/auth/")||window.dispatchEvent(new CustomEvent("auth:expired"))),t};function vp({onLogin:e}){const[t,n]=y.useState(""),[r,l]=y.useState(""),[i,s]=y.useState(null),[o,a]=y.useState(!1);async function f(v){v.preventDefault(),s(null),a(!0);try{const m=await Jd(t,r);e(m)}catch(m){s(m.message)}finally{a(!1)}}return u.jsxs("div",{className:"login-page",children:[u.jsx("h1",{children:"Archivr"}),u.jsxs("form",{onSubmit:f,children:[u.jsxs("label",{children:["Username",u.jsx("input",{type:"text",value:t,onChange:v=>n(v.target.value),autoFocus:!0,required:!0})]}),u.jsxs("label",{children:["Password",u.jsx("input",{type:"password",value:r,onChange:v=>l(v.target.value),required:!0})]}),i&&u.jsx("p",{className:"error",children:i}),u.jsx("button",{type:"submit",disabled:o,children:o?"Logging in…":"Log in"})]})]})}function gp({onComplete:e}){const[t,n]=y.useState(""),[r,l]=y.useState(""),[i,s]=y.useState(""),[o,a]=y.useState(null),[f,v]=y.useState(!1);async function m(h){if(h.preventDefault(),r!==i){a("Passwords do not match");return}if(r.length<8){a("Password must be at least 8 characters");return}a(null),v(!0);try{await Gd(t,r),e()}catch(w){a(w.message)}finally{v(!1)}}return u.jsxs("div",{className:"setup-page",children:[u.jsx("h1",{children:"Welcome to Archivr"}),u.jsx("p",{children:"Create your owner account to get started."}),u.jsxs("form",{onSubmit:m,children:[u.jsxs("label",{children:["Username",u.jsx("input",{type:"text",value:t,onChange:h=>n(h.target.value),autoFocus:!0,required:!0})]}),u.jsxs("label",{children:["Password",u.jsx("input",{type:"password",value:r,onChange:h=>l(h.target.value),required:!0})]}),u.jsxs("label",{children:["Confirm password",u.jsx("input",{type:"password",value:i,onChange:h=>s(h.target.value),required:!0})]}),o&&u.jsx("p",{className:"error",children:o}),u.jsx("button",{type:"submit",disabled:f,children:f?"Creating account…":"Create account"})]})]})}function yp({archives:e,archiveId:t,onArchiveChange:n,view:r,onViewChange:l,onCaptureClick:i}){const{currentUser:s,setCurrentUser:o}=y.useContext(Cl)??{},[a,f]=y.useState(!1);async function v(){f(!0),await Zd(),o(null),window.location.reload()}return u.jsxs("header",{className:"topbar",children:[u.jsx("div",{className:"brand",children:"Archivr"}),u.jsx("select",{className:"archive-switcher","aria-label":"Select archive",value:t??"",onChange:m=>n(m.target.value),children:e.map(m=>u.jsx("option",{value:m.id,children:m.label},m.id))}),u.jsx("nav",{className:"nav","aria-label":"Primary",children:["archive","runs","admin","tags","collections","settings"].map(m=>u.jsx("button",{className:`nav-link${r===m?" is-active":""}`,onClick:()=>l(m),children:m.charAt(0).toUpperCase()+m.slice(1)},m))}),u.jsx("button",{className:"capture-button",onClick:i,children:"+ Capture"}),s&&u.jsxs("div",{className:"user-menu",children:[u.jsx("span",{className:"username",children:s.display_name||s.username}),u.jsx("button",{className:"nav-link",onClick:()=>l("settings"),style:{color:"#d7cdbf",fontSize:13},children:"Settings"}),u.jsx("button",{onClick:v,disabled:a,className:"logout-btn",children:a?"Logging out…":"Log out"})]})]})}function wp({open:e,archiveId:t,onClose:n,onCaptured:r}){const l=y.useRef(null),[i,s]=y.useState(""),[o,a]=y.useState(null),[f,v]=y.useState(!1),[m,h]=y.useState(null),w=y.useRef(null);y.useEffect(()=>{const j=l.current;if(!j)return;const d=()=>{clearInterval(w.current),n()};return j.addEventListener("close",d),()=>j.removeEventListener("close",d)},[n]),y.useEffect(()=>{const j=l.current;j&&(e?(s(""),a(null),h(null),v(!1),clearInterval(w.current),j.open||j.showModal()):j.open&&j.close())},[e]);async function S(){if(!i.trim()){a("Enter a locator.");return}v(!0),a(null),h(null);try{const j=await Kd(t,i.trim());h("running"),w.current=setInterval(async()=>{var d;try{const c=await Yd(t,j.job_uid);c.status==="completed"?(clearInterval(w.current),w.current=null,v(!1),h("completed"),(d=l.current)==null||d.close(),r()):c.status==="failed"&&(clearInterval(w.current),w.current=null,v(!1),h("failed"),a(c.error_text||"Capture failed."))}catch(c){clearInterval(w.current),w.current=null,v(!1),a(c.message)}},500)}catch(j){a(j.message),v(!1)}}function x(){return f?m==="running"?"Running…":"Capturing…":"Capture"}return u.jsx("dialog",{ref:l,className:"capture-dialog",children:u.jsxs("div",{className:"capture-dialog-inner",children:[u.jsx("h2",{className:"capture-dialog-title",children:"Capture"}),u.jsx("label",{htmlFor:"capture-locator",className:"capture-label",children:"Locator"}),u.jsx("input",{id:"capture-locator",className:"capture-input",type:"text",placeholder:"tweet:1234567890 or https://...",value:i,onChange:j=>s(j.target.value),onKeyDown:j=>{j.key==="Enter"&&S()},autoComplete:"off"}),o&&u.jsx("div",{className:"capture-error",children:o}),u.jsxs("div",{className:"capture-actions",children:[u.jsx("button",{type:"button",className:"capture-cancel",onClick:()=>{var j;return(j=l.current)==null?void 0:j.close()},children:"Cancel"}),u.jsx("button",{type:"button",className:"capture-submit",onClick:S,disabled:f,children:x()})]})]})})}function cc(e){if(!e)return"0 B";const t=["B","KB","MB","GB"];let n=e,r=0;for(;n>=1024&&rString(r).padStart(2,"0");return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())}`}const Go={youtube:'',x:'',instagram:'',facebook:'',tiktok:'',reddit:'',snapchat:'',local:'',web:'',other:'?'};function xp(e){return Go[e]??Go.other}function Sp({entry:e,archiveId:t,isSelected:n,onSelect:r}){const[l,i]=y.useState(!1),o=e.source_kind==="web"&&e.entity_kind==="page"&&e.has_favicon&&t&&!l?u.jsx("img",{src:`/api/archives/${t}/entries/${e.entry_uid}/favicon`,width:"16",height:"16",alt:"",onError:()=>i(!0),style:{objectFit:"contain"}}):u.jsx("span",{dangerouslySetInnerHTML:{__html:xp(e.source_kind)}});return u.jsxs("div",{className:n?"is-selected":void 0,tabIndex:0,"data-entry-uid":e.entry_uid,onClick:r,onKeyDown:a=>{a.key==="Enter"&&r()},children:[u.jsx("div",{className:"col-added",children:fc(e.archived_at)}),u.jsxs("div",{className:"col-title",children:[u.jsx("span",{className:"source-icon",children:o}),u.jsx("span",{className:"entry-title",children:Rt(e.title)||Rt(e.entry_uid)})]}),u.jsx("div",{className:"col-type",children:u.jsx("span",{className:"type-pill",children:Rt(e.entity_kind)})}),u.jsx("div",{className:"col-size",children:cc(e.total_artifact_bytes)}),u.jsx("div",{className:"url-cell col-url",children:Rt(e.original_url)})]})}function kp({entries:e,selectedEntryUid:t,onSelectEntry:n,archiveId:r}){return u.jsx("section",{id:"archive-view",className:"view is-active",children:u.jsxs("div",{className:"entry-table",children:[u.jsxs("div",{className:"entry-header-row",children:[u.jsx("div",{className:"col-added",children:"Added"}),u.jsx("div",{className:"col-title",children:"Title"}),u.jsx("div",{className:"col-type",children:"Type"}),u.jsx("div",{className:"col-size",children:"Size"}),u.jsx("div",{className:"col-url",children:"Original URL"})]}),u.jsx("div",{id:"entries-body",children:e.map(l=>u.jsx(Sp,{entry:l,archiveId:r,isSelected:l.entry_uid===t,onSelect:()=>n(l)},l.entry_uid))})]})})}function Cp({runs:e}){return u.jsx("section",{id:"runs-view",className:"view is-active",children:u.jsxs("table",{className:"entry-table",children:[u.jsx("thead",{children:u.jsxs("tr",{children:[u.jsx("th",{children:"Started"}),u.jsx("th",{children:"Status"}),u.jsx("th",{children:"Requested"}),u.jsx("th",{children:"Completed"}),u.jsx("th",{children:"Failed"})]})}),u.jsx("tbody",{children:e.map((t,n)=>u.jsxs("tr",{children:[u.jsx("td",{children:t.started_at??""}),u.jsx("td",{children:t.status??""}),u.jsx("td",{children:t.requested_count??""}),u.jsx("td",{children:t.completed_count??""}),u.jsx("td",{children:t.failed_count??""})]},n))})]})})}const Np=4;function jp({archives:e}){const{currentUser:t}=y.useContext(Cl)??{},n=t&&(t.role_bits&Np)!==0,[r,l]=y.useState("users"),[i,s]=y.useState([]),[o,a]=y.useState([]),[f,v]=y.useState(!1),[m,h]=y.useState(null),[w,S]=y.useState(""),[x,j]=y.useState(""),[d,c]=y.useState(""),[p,g]=y.useState(null),[N,P]=y.useState(!1),[_,z]=y.useState(""),[L,O]=y.useState(""),[X,ye]=y.useState(null),[Le,Re]=y.useState(!1),lt=y.useCallback(async()=>{if(n){v(!0),h(null);try{const[C,R]=await Promise.all([sp(),ap()]);s(C),a(R)}catch(C){h(C.message)}finally{v(!1)}}},[n]);y.useEffect(()=>{lt()},[lt]);async function it(C){const R=C.status==="active"?"disabled":"active";try{await up(C.user_uid,R),s(I=>I.map(V=>V.user_uid===C.user_uid?{...V,status:R}:V))}catch(I){h(I.message)}}async function Et(C){if(C.preventDefault(),!w.trim()||!x){g("Username and password required");return}P(!0),g(null);try{await op(w.trim(),x,d.trim()||void 0),S(""),j(""),c(""),await lt()}catch(R){g(R.message)}finally{P(!1)}}async function E(C){if(C.preventDefault(),!_.trim()||!L.trim()){ye("Slug and name required");return}Re(!0),ye(null);try{await cp(_.trim(),L.trim()),z(""),O(""),await lt()}catch(R){ye(R.message)}finally{Re(!1)}}return n?u.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[u.jsx("h1",{children:"Admin"}),u.jsxs("div",{className:"admin-tabs",children:[u.jsx("button",{className:`admin-tab${r==="users"?" is-active":""}`,onClick:()=>l("users"),children:"Users"}),u.jsx("button",{className:`admin-tab${r==="roles"?" is-active":""}`,onClick:()=>l("roles"),children:"Roles"}),u.jsx("button",{className:`admin-tab${r==="archives"?" is-active":""}`,onClick:()=>l("archives"),children:"Archives"})]}),m&&u.jsx("div",{className:"capture-error",children:m}),r==="users"&&u.jsxs("div",{className:"admin-section",children:[u.jsx("h2",{children:"Users"}),f?u.jsx("p",{className:"muted",children:"Loading…"}):u.jsxs("table",{className:"admin-table",children:[u.jsx("thead",{children:u.jsxs("tr",{children:[u.jsx("th",{children:"Username"}),u.jsx("th",{children:"Email"}),u.jsx("th",{children:"Roles"}),u.jsx("th",{children:"Status"}),u.jsx("th",{children:"Actions"})]})}),u.jsx("tbody",{children:i.map(C=>u.jsxs("tr",{className:C.status==="disabled"?"admin-row-disabled":"",children:[u.jsx("td",{children:C.username}),u.jsx("td",{className:"muted",children:C.email||"—"}),u.jsx("td",{children:C.role_slugs.join(", ")||"—"}),u.jsx("td",{children:u.jsx("span",{className:`status-badge status-${C.status}`,children:C.status})}),u.jsx("td",{children:u.jsx("button",{className:"admin-action-btn",onClick:()=>it(C),children:C.status==="active"?"Ban":"Unban"})})]},C.user_uid))})]}),u.jsx("h3",{children:"Create User"}),u.jsxs("form",{className:"admin-form",onSubmit:Et,children:[u.jsx("input",{className:"admin-input",placeholder:"Username",value:w,onChange:C=>S(C.target.value),required:!0}),u.jsx("input",{className:"admin-input",type:"password",placeholder:"Password (min 8 chars)",value:x,onChange:C=>j(C.target.value),required:!0}),u.jsx("input",{className:"admin-input",type:"email",placeholder:"Email (optional)",value:d,onChange:C=>c(C.target.value)}),p&&u.jsx("div",{className:"capture-error",children:p}),u.jsx("button",{className:"capture-submit",type:"submit",disabled:N,children:N?"Creating…":"Create User"})]})]}),r==="roles"&&u.jsxs("div",{className:"admin-section",children:[u.jsx("h2",{children:"Roles"}),f?u.jsx("p",{className:"muted",children:"Loading…"}):u.jsxs("table",{className:"admin-table",children:[u.jsx("thead",{children:u.jsxs("tr",{children:[u.jsx("th",{children:"Slug"}),u.jsx("th",{children:"Name"}),u.jsx("th",{children:"Level"}),u.jsx("th",{children:"Bit"}),u.jsx("th",{children:"Built-in"})]})}),u.jsx("tbody",{children:o.map(C=>u.jsxs("tr",{children:[u.jsx("td",{children:u.jsx("code",{children:C.slug})}),u.jsx("td",{children:C.name}),u.jsx("td",{children:C.level}),u.jsx("td",{children:C.bit_position}),u.jsx("td",{children:C.is_builtin?"✓":""})]},C.role_uid))})]}),u.jsx("h3",{children:"Create Custom Role"}),u.jsxs("form",{className:"admin-form",onSubmit:E,children:[u.jsx("input",{className:"admin-input",placeholder:"Slug (e.g. moderator)",value:_,onChange:C=>z(C.target.value),required:!0}),u.jsx("input",{className:"admin-input",placeholder:"Display Name (e.g. Moderator)",value:L,onChange:C=>O(C.target.value),required:!0}),X&&u.jsx("div",{className:"capture-error",children:X}),u.jsx("button",{className:"capture-submit",type:"submit",disabled:Le,children:Le?"Creating…":"Create Role"})]})]}),r==="archives"&&u.jsxs("div",{className:"admin-section",children:[u.jsx("h2",{children:"Mounted Archives"}),u.jsx("div",{className:"admin-list",children:e.map(C=>u.jsxs("div",{className:"admin-archive",children:[u.jsx("strong",{children:C.label}),u.jsx("div",{className:"muted",children:C.archive_path})]},C.id))})]})]}):u.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[u.jsx("h1",{children:"Admin"}),u.jsx("p",{className:"muted",children:"You need admin privileges to access this panel."}),u.jsx("h2",{children:"Mounted Archives"}),u.jsx("div",{className:"admin-list",children:e.map(C=>u.jsxs("div",{className:"admin-archive",children:[u.jsx("strong",{children:C.label}),u.jsx("div",{className:"muted",children:C.archive_path})]},C.id))})]})}function dc({node:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){var s;const l=t===e.tag.full_path;function i(){const o=l?null:e.tag.full_path;n(o),r("archive")}return u.jsxs("li",{children:[u.jsx("button",{className:`tag-node-btn${l?" is-active":""}`,title:e.tag.full_path,onClick:i,children:e.tag.name}),((s=e.children)==null?void 0:s.length)>0&&u.jsx("div",{className:"tag-children",children:u.jsx("ul",{className:"tag-tree-list",children:e.children.map(o=>u.jsx(dc,{node:o,tagFilter:t,onTagFilterSet:n,onViewChange:r},o.tag.tag_uid))})})]})}function Ep({tagNodes:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){return u.jsx("section",{id:"tags-view",className:"view is-active",children:u.jsx("div",{className:"tag-tree",children:e.length===0?u.jsx("div",{children:"No tags yet."}):u.jsx("ul",{className:"tag-tree-list",children:e.map(l=>u.jsx(dc,{node:l,tagFilter:t,onTagFilterSet:n,onViewChange:r},l.tag.tag_uid))})})})}const Jo={0:"Private",1:"Public",2:"Users only",3:"Public"};function _p({archiveId:e}){const[t,n]=y.useState([]),[r,l]=y.useState(!1),[i,s]=y.useState(null),[o,a]=y.useState(null),[f,v]=y.useState(null),[m,h]=y.useState(!1),[w,S]=y.useState(""),[x,j]=y.useState(""),[d,c]=y.useState(2),[p,g]=y.useState(!1),[N,P]=y.useState(null),_=y.useCallback(async()=>{if(e){l(!0),s(null);try{const L=await fp(e);n(L)}catch(L){s(L.message)}finally{l(!1)}}},[e]);y.useEffect(()=>{_()},[_]),y.useEffect(()=>{if(!o){v(null);return}h(!0),pp(e,o.collection_uid).then(L=>v(L)).catch(L=>s(L.message)).finally(()=>h(!1))},[o,e]);async function z(L){L.preventDefault();const O=w.trim(),X=x.trim();if(!(!O||!X)){g(!0),P(null);try{await dp(e,O,X,d),S(""),j(""),c(2),await _()}catch(ye){P(ye.message)}finally{g(!1)}}}return e?u.jsxs("div",{className:"collections-view",children:[u.jsx("h2",{className:"view-heading",children:"Collections"}),r&&u.jsx("div",{className:"muted",children:"Loading…"}),i&&u.jsx("div",{className:"error-text",children:i}),u.jsxs("div",{className:"collections-layout",children:[u.jsxs("div",{className:"collections-list",children:[t.map(L=>u.jsxs("div",{className:`collection-row${(o==null?void 0:o.collection_uid)===L.collection_uid?" is-selected":""}`,onClick:()=>a(L),children:[u.jsx("span",{className:"collection-name",children:L.name}),u.jsx("span",{className:"muted",style:{fontSize:"0.8em"},children:Jo[L.default_visibility_bits]??L.default_visibility_bits})]},L.collection_uid)),t.length===0&&!r&&u.jsx("div",{className:"muted",children:"No collections yet."})]}),o&&u.jsxs("div",{className:"collection-detail",children:[u.jsx("h3",{className:"collection-detail-name",children:o.name}),u.jsxs("div",{className:"muted",style:{marginBottom:"0.75rem"},children:["Default visibility: ",Jo[o.default_visibility_bits]??o.default_visibility_bits]}),m?u.jsx("div",{className:"muted",children:"Loading entries…"}):f?f.entries.length===0?u.jsx("div",{className:"muted",children:"No entries visible to you in this collection."}):u.jsx("ul",{className:"collection-entries-list",children:f.entries.map(L=>u.jsxs("li",{className:"collection-entry-item",children:[u.jsx("span",{className:"entry-title",children:L.title||L.entry_uid}),u.jsx("span",{className:"muted",style:{fontSize:"0.8em"},children:L.source_kind})]},L.entry_uid))}):null]})]}),u.jsxs("details",{className:"create-collection-form",style:{marginTop:"1.5rem"},children:[u.jsx("summary",{style:{cursor:"pointer",fontWeight:600},children:"Create collection"}),u.jsxs("form",{onSubmit:z,style:{marginTop:"0.75rem",display:"flex",flexDirection:"column",gap:"0.5rem",maxWidth:400},children:[u.jsxs("label",{children:["Name",u.jsx("input",{className:"form-input",type:"text",value:w,onChange:L=>{S(L.target.value),x||j(L.target.value.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""))},placeholder:"My Collection",required:!0})]}),u.jsxs("label",{children:["Slug",u.jsx("input",{className:"form-input",type:"text",value:x,onChange:L=>j(L.target.value),placeholder:"my-collection",required:!0})]}),u.jsxs("label",{children:["Default visibility",u.jsxs("select",{className:"form-input",value:d,onChange:L=>c(Number(L.target.value)),children:[u.jsx("option",{value:0,children:"Private (admin/owner only)"}),u.jsx("option",{value:2,children:"Users only (logged in)"}),u.jsx("option",{value:3,children:"Public"})]})]}),N&&u.jsx("div",{className:"muted",style:{color:"var(--accent)"},children:N}),u.jsx("button",{className:"btn",type:"submit",disabled:p,children:p?"Creating…":"Create"})]})]})]}):u.jsx("div",{className:"view-placeholder",children:"Select an archive."})}const Pp=4;function Tp(){const{currentUser:e,setCurrentUser:t}=y.useContext(Cl)??{},n=e&&(e.role_bits&Pp)!==0,[r,l]=y.useState("profile");return u.jsxs("section",{className:"admin-view",children:[u.jsx("h1",{children:"Settings"}),u.jsx("div",{className:"admin-tabs",style:{display:"flex",gap:12,marginBottom:20},children:["profile","tokens",...n?["instance"]:[]].map(i=>u.jsx("button",{className:`nav-link${r===i?" is-active":""}`,style:{borderBottom:r===i?"2px solid var(--accent)":void 0,color:"var(--ink)"},onClick:()=>l(i),children:i==="profile"?"Profile":i==="tokens"?"API Tokens":"Instance"},i))}),r==="profile"&&u.jsx(zp,{currentUser:e,setCurrentUser:t}),r==="tokens"&&u.jsx(Lp,{}),r==="instance"&&n&&u.jsx(Rp,{})]})}function zp({currentUser:e,setCurrentUser:t}){const[n,r]=y.useState((e==null?void 0:e.display_name)??""),[l,i]=y.useState(!1),[s,o]=y.useState(null),[a,f]=y.useState(""),[v,m]=y.useState(""),[h,w]=y.useState(""),[S,x]=y.useState(!1),[j,d]=y.useState(null);async function c(g){g.preventDefault(),i(!0),o(null);try{await bd(n),t(N=>({...N,display_name:n||null})),o({ok:!0,text:"Saved."})}catch(N){o({ok:!1,text:N.message})}finally{i(!1)}}async function p(g){if(g.preventDefault(),v!==h){d({ok:!1,text:"Passwords do not match."});return}x(!0),d(null);try{await ep(a,v),f(""),m(""),w(""),d({ok:!0,text:"Password changed."})}catch(N){d({ok:!1,text:N.message})}finally{x(!1)}}return u.jsxs("div",{style:{maxWidth:480},children:[u.jsxs("div",{className:"admin-section",children:[u.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"Display Name"}),u.jsxs("form",{className:"admin-form",onSubmit:c,children:[u.jsx("input",{className:"admin-input",placeholder:(e==null?void 0:e.username)??"",value:n,onChange:g=>r(g.target.value)}),s&&u.jsx("div",{className:s.ok?"muted":"capture-error",children:s.text}),u.jsx("button",{className:"capture-submit",type:"submit",disabled:l,children:l?"Saving…":"Save"})]})]}),u.jsxs("div",{className:"admin-section",style:{marginTop:28},children:[u.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"Change Password"}),u.jsxs("form",{className:"admin-form",onSubmit:p,children:[u.jsx("input",{className:"admin-input",type:"password",placeholder:"Current password",value:a,onChange:g=>f(g.target.value),required:!0}),u.jsx("input",{className:"admin-input",type:"password",placeholder:"New password",value:v,onChange:g=>m(g.target.value),required:!0}),u.jsx("input",{className:"admin-input",type:"password",placeholder:"Confirm new password",value:h,onChange:g=>w(g.target.value),required:!0}),j&&u.jsx("div",{className:j.ok?"muted":"capture-error",children:j.text}),u.jsx("button",{className:"capture-submit",type:"submit",disabled:S,children:S?"Changing…":"Change Password"})]})]})]})}function Lp(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[l,i]=y.useState(null),[s,o]=y.useState(""),[a,f]=y.useState(!1),[v,m]=y.useState(null),h=y.useCallback(async()=>{r(!0),i(null);try{t(await tp())}catch(x){i(x.message)}finally{r(!1)}},[]);y.useEffect(()=>{h()},[h]);async function w(x){if(x.preventDefault(),!!s.trim()){f(!0);try{const j=await np(s.trim());m(j),o(""),h()}catch(j){i(j.message)}finally{f(!1)}}}async function S(x){try{await rp(x),t(j=>j.filter(d=>d.token_uid!==x))}catch(j){i(j.message)}}return u.jsxs("div",{style:{maxWidth:640},children:[u.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"API Tokens"}),v&&u.jsxs("div",{style:{background:"#e8f5e9",border:"1px solid #a5d6a7",padding:"12px 14px",marginBottom:16,fontSize:13},children:[u.jsx("strong",{children:"Token created."})," Copy it now \\u2014 it will not be shown again.",u.jsx("br",{}),u.jsx("code",{style:{wordBreak:"break-all",display:"block",marginTop:6,padding:"6px 8px",background:"#f5f5f5",border:"1px solid #ddd"},children:v.raw_token}),u.jsx("button",{style:{marginTop:8,fontSize:12,border:"1px solid #aaa",background:"none",cursor:"pointer"},onClick:()=>m(null),children:"Dismiss"})]}),u.jsxs("form",{className:"admin-form",onSubmit:w,style:{display:"flex",gap:8,marginBottom:16},children:[u.jsx("input",{className:"admin-input",placeholder:"Token name",value:s,onChange:x=>o(x.target.value),style:{flex:1},required:!0}),u.jsx("button",{className:"capture-submit",type:"submit",disabled:a,children:a?"Creating…":"Create"})]}),l&&u.jsx("div",{className:"capture-error",children:l}),n?u.jsx("div",{className:"muted",children:"Loading\\u2026"}):u.jsxs("div",{className:"admin-list",children:[e.length===0&&u.jsx("div",{className:"muted",children:"No tokens yet."}),e.map(x=>u.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",border:"1px solid var(--line)",background:"var(--paper-3)",padding:"10px 12px"},children:[u.jsxs("div",{children:[u.jsx("strong",{style:{fontSize:14},children:x.name}),u.jsxs("div",{className:"muted",style:{fontSize:12,marginTop:2},children:["Created ",x.created_at.slice(0,10),x.last_used_at&&` · Last used ${x.last_used_at.slice(0,10)}`]})]}),u.jsx("button",{onClick:()=>S(x.token_uid),style:{border:"1px solid var(--line)",background:"none",cursor:"pointer",color:"var(--accent)",fontSize:12,padding:"4px 10px"},children:"Revoke"})]},x.token_uid))]})]})}function Rp(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,i]=y.useState(null),[s,o]=y.useState(!1),[a,f]=y.useState(null);y.useEffect(()=>{(async()=>{try{t(await lp())}catch(m){i(m.message)}finally{r(!1)}})()},[]);async function v(m){m.preventDefault(),o(!0),f(null);try{await ip(e),f({ok:!0,text:"Saved."})}catch(h){f({ok:!1,text:h.message})}finally{o(!1)}}return n?u.jsx("div",{className:"muted",children:"Loading\\u2026"}):l?u.jsx("div",{className:"capture-error",children:l}):e?u.jsxs("div",{style:{maxWidth:480},children:[u.jsx("h2",{style:{fontSize:15,marginBottom:12},children:"Instance Settings"}),u.jsxs("form",{onSubmit:v,children:[u.jsxs("div",{className:"admin-section",children:[[["public_index_enabled","Public index (unauthenticated browsing)"],["public_entry_content_enabled","Public entry content"],["open_registration_enabled","Open registration"]].map(([m,h])=>u.jsxs("label",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12,cursor:"pointer"},children:[u.jsx("input",{type:"checkbox",checked:!!e[m],onChange:w=>t(S=>({...S,[m]:w.target.checked}))}),h]},m)),u.jsxs("div",{style:{marginBottom:12},children:[u.jsx("label",{style:{display:"block",fontWeight:600,marginBottom:4,fontSize:13},children:"Default entry visibility"}),u.jsxs("select",{className:"admin-input",value:e.default_entry_visibility,onChange:m=>t(h=>({...h,default_entry_visibility:Number(m.target.value)})),children:[u.jsx("option",{value:0,children:"Private (0)"}),u.jsx("option",{value:2,children:"Unlisted (2)"}),u.jsx("option",{value:3,children:"Public (3)"})]})]})]}),a&&u.jsx("div",{className:a.ok?"muted":"capture-error",children:a.text}),u.jsx("button",{className:"capture-submit",type:"submit",disabled:s,children:s?"Saving…":"Save Settings"})]})]}):null}function Op({archiveId:e,selectedEntry:t,onTagFilterSet:n,tagNodes:r,onTagsRefresh:l}){const[i,s]=y.useState(null),[o,a]=y.useState([]),[f,v]=y.useState(""),[m,h]=y.useState([]),[w,S]=y.useState(""),x=y.useRef(0);y.useEffect(()=>{if(!t||!e){s(null),a([]),h([]);return}const c=++x.current;s(null),a([]),Promise.all([Hd(e,t.entry_uid),Jl(e,t.entry_uid),hp(e,t.entry_uid)]).then(([p,g,N])=>{c===x.current&&(s(p),a(g),h(N))}).catch(()=>{})},[t,e]);async function j(){const c=f.trim();if(!(!c||!t))try{await Wd(e,t.entry_uid,c),v(""),S("");const p=await Jl(e,t.entry_uid);a(p),l()}catch(p){S(p.message)}}async function d(c){try{await Qd(e,t.entry_uid,c);const p=await Jl(e,t.entry_uid);a(p),l()}catch{}}return u.jsxs("aside",{className:"context-rail",children:[u.jsx("div",{className:"rail-title",children:"Context"}),t?i?u.jsxs("div",{className:"rail-body",children:[u.jsx("strong",{className:"rail-entry-title",children:Rt(i.summary.title)||Rt(i.summary.entry_uid)}),u.jsxs("div",{className:"rail-section",children:[i.summary.original_url&&u.jsxs("div",{className:"rail-item",children:[u.jsx("span",{className:"rail-label",children:"Original URL"}),":"," ",u.jsx("a",{href:i.summary.original_url,target:"_blank",rel:"noopener noreferrer",className:"rail-url-link",children:i.summary.original_url})]}),[["Added",fc(i.summary.archived_at)],["Source",i.summary.source_kind],["Type",i.summary.entity_kind],["Visibility",i.summary.visibility],["Structured root",i.structured_root_relpath]].map(([c,p])=>u.jsxs("div",{className:"rail-item",children:[u.jsx("span",{className:"rail-label",children:c}),": ",Rt(p)]},c))]}),i.artifacts.length>0?u.jsxs("div",{className:"rail-section",children:[u.jsxs("div",{className:"rail-section-heading",children:["Artifacts (",i.artifacts.length,")"]}),u.jsx("ul",{className:"artifact-list",children:i.artifacts.map((c,p)=>u.jsx("li",{children:u.jsxs("a",{href:`/api/archives/${e}/entries/${i.summary.entry_uid}/artifacts/${p}`,target:"_blank",rel:"noopener noreferrer",className:"artifact-link",children:[c.artifact_role.replace(/_/g," "),c.byte_size!=null?` (${cc(c.byte_size)})`:""]})},p))})]}):u.jsx("div",{className:"rail-item muted",children:"No artifacts."})]}):u.jsx("div",{className:"rail-body",children:"Loading…"}):u.jsx("div",{className:"rail-body",children:"Select an entry."}),t&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"entry-tags",children:o.length===0?u.jsx("span",{className:"muted",children:"No tags."}):o.map(c=>u.jsxs("span",{className:"tag-pill",title:c.full_path,children:[c.name,u.jsx("button",{className:"remove-tag",title:`Remove tag ${c.full_path}`,onClick:()=>d(c.tag_uid),children:"×"})]},c.tag_uid))}),u.jsxs("div",{className:"assign-tag-form",children:[u.jsx("input",{className:"assign-tag-input",type:"text",placeholder:"/science/cs",autoComplete:"off",value:f,onChange:c=>v(c.target.value),onKeyDown:c=>{c.key==="Enter"&&j()}}),u.jsx("button",{className:"assign-tag-btn",onClick:j,children:"Add tag"}),w&&u.jsx("div",{className:"muted",style:{fontSize:"0.85em",color:"var(--accent)"},children:w})]}),t&&m.length>0&&u.jsxs("div",{className:"rail-section",children:[u.jsx("div",{className:"rail-section-heading",children:"Collections"}),m.map(c=>u.jsxs("div",{className:"rail-item",children:[u.jsx("span",{className:"rail-label",children:c.collection_uid}),":"," ",u.jsx("span",{className:"muted",children:{0:"Private",1:"Public",2:"Users only",3:"Public"}[c.visibility_bits]??`bits:${c.visibility_bits}`})]},c.collection_uid))]})]})]})}const Cl=y.createContext(null);function Dp(){const[e,t]=y.useState("loading"),[n,r]=y.useState(null);y.useEffect(()=>{(async()=>{if(await Xd()){t("setup");return}const Oe=await qd();if(!Oe){t("login");return}r(Oe),t("authenticated")})()},[]),y.useEffect(()=>{const M=()=>{r(null),t("login")};return window.addEventListener("auth:expired",M),()=>window.removeEventListener("auth:expired",M)},[]);const[l,i]=y.useState([]),[s,o]=y.useState(null),[a,f]=y.useState([]),[v,m]=y.useState(null),[h,w]=y.useState(null),[S,x]=y.useState(null),[j,d]=y.useState("archive"),[c,p]=y.useState(""),[g,N]=y.useState(""),[P,_]=y.useState(!1),[z,L]=y.useState([]),[O,X]=y.useState([]),[ye,Le]=y.useState(!1),Re=y.useCallback(async(M,Oe,Ve)=>{if(M){_(!0);try{let De;Oe||Ve?De=await Vd(M,Oe,Ve):De=await Bd(M),f(De),N(De.length===0?"No results":`${De.length} result${De.length===1?"":"s"}`)}catch{f([]),N("Search failed. Try again.")}finally{_(!1)}}},[]);y.useEffect(()=>{Ad().then(M=>{if(i(M),M.length>0){const Oe=M[0].id;o(Oe)}})},[]),y.useEffect(()=>{s&&(x(null),w(null),m(null),Promise.all([Re(s,"",null),Xo(s).then(L),Zl(s).then(X)]))},[s]),y.useEffect(()=>{if(s===null)return;const M=setTimeout(()=>{Re(s,c,S)},300);return()=>clearTimeout(M)},[c,s]),y.useEffect(()=>{s!==null&&(d("archive"),Re(s,c,S))},[S,s]);const lt=y.useCallback(M=>{o(M)},[]),it=y.useCallback(M=>{d(M),M==="tags"&&s&&Zl(s).then(X)},[s]),Et=y.useCallback(M=>{m(M?M.entry_uid:null),w(M)},[]),E=y.useCallback(M=>{x(M)},[]),C=y.useCallback(()=>{x(null)},[]),R=y.useCallback(()=>{s&&Zl(s).then(X)},[s]),I=y.useCallback(()=>{Le(!0)},[]),V=y.useCallback(()=>{Le(!1)},[]),Vt=y.useCallback(()=>{s&&Promise.all([Re(s,c,S),Xo(s).then(L)])},[s,c,S,Re]);return e==="loading"?u.jsx("div",{className:"auth-loading",children:"Loading\\u2026"}):e==="setup"?u.jsx(gp,{onComplete:()=>t("login")}):e==="login"?u.jsx(vp,{onLogin:M=>{r(M),t("authenticated")}}):u.jsx(Cl.Provider,{value:{currentUser:n,setCurrentUser:r},children:u.jsxs(u.Fragment,{children:[u.jsx(yp,{archives:l,archiveId:s,onArchiveChange:lt,view:j,onViewChange:it,onCaptureClick:I}),u.jsxs("main",{className:"app-shell",children:[u.jsxs("div",{className:"workspace",children:[j==="archive"&&u.jsxs("div",{className:"search-row",children:[u.jsx("input",{className:"search-input",type:"search","aria-label":"Search archive","aria-busy":P,value:c,onChange:M=>p(M.target.value)}),u.jsxs("div",{className:"result-count",children:[g,S&&u.jsxs("button",{className:"tag-filter-badge",onClick:C,children:["× ",S]})]})]}),j==="archive"&&u.jsx(kp,{entries:a,selectedEntryUid:v,onSelectEntry:Et,archiveId:s,tagFilter:S,onClearTagFilter:C,searchQuery:c,onSearchChange:p,resultCount:g,searchBusy:P}),j==="runs"&&u.jsx(Cp,{runs:z}),j==="admin"&&u.jsx(jp,{archives:l}),j==="tags"&&u.jsx(Ep,{tagNodes:O,tagFilter:S,onTagFilterSet:E,onViewChange:it}),j==="collections"&&u.jsx(_p,{archiveId:s}),j==="settings"&&u.jsx(Tp,{})]}),u.jsx(Op,{archiveId:s,selectedEntry:h,onTagFilterSet:E,tagNodes:O,onTagsRefresh:R})]}),u.jsx(wp,{open:ye,archiveId:s,onClose:V,onCaptured:Vt})]})})}ac(document.getElementById("root")).render(u.jsx(y.StrictMode,{children:u.jsx(Dp,{})})); diff --git a/crates/archivr-server/static/assets/index-Davzo15o.js b/crates/archivr-server/static/assets/index-Davzo15o.js deleted file mode 100644 index cf5673d..0000000 --- a/crates/archivr-server/static/assets/index-Davzo15o.js +++ /dev/null @@ -1,40 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();var Go={exports:{}},ul={},Zo={exports:{}},O={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var nr=Symbol.for("react.element"),dc=Symbol.for("react.portal"),pc=Symbol.for("react.fragment"),hc=Symbol.for("react.strict_mode"),mc=Symbol.for("react.profiler"),vc=Symbol.for("react.provider"),gc=Symbol.for("react.context"),yc=Symbol.for("react.forward_ref"),wc=Symbol.for("react.suspense"),Sc=Symbol.for("react.memo"),kc=Symbol.for("react.lazy"),Iu=Symbol.iterator;function xc(e){return e===null||typeof e!="object"?null:(e=Iu&&e[Iu]||e["@@iterator"],typeof e=="function"?e:null)}var Jo={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},qo=Object.assign,bo={};function hn(e,t,n){this.props=e,this.context=t,this.refs=bo,this.updater=n||Jo}hn.prototype.isReactComponent={};hn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};hn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function es(){}es.prototype=hn.prototype;function Hi(e,t,n){this.props=e,this.context=t,this.refs=bo,this.updater=n||Jo}var Wi=Hi.prototype=new es;Wi.constructor=Hi;qo(Wi,hn.prototype);Wi.isPureReactComponent=!0;var $u=Array.isArray,ts=Object.prototype.hasOwnProperty,Qi={current:null},ns={key:!0,ref:!0,__self:!0,__source:!0};function rs(e,t,n){var r,l={},i=null,u=null;if(t!=null)for(r in t.ref!==void 0&&(u=t.ref),t.key!==void 0&&(i=""+t.key),t)ts.call(t,r)&&!ns.hasOwnProperty(r)&&(l[r]=t[r]);var o=arguments.length-2;if(o===1)l.children=n;else if(1>>1,X=E[B];if(0>>1;Bl(ze,L))$el(Te,ze)?(E[B]=Te,E[$e]=L,B=$e):(E[B]=ze,E[F]=L,B=F);else if($el(Te,L))E[B]=Te,E[$e]=L,B=$e;else break e}}return T}function l(E,T){var L=E.sortIndex-T.sortIndex;return L!==0?L:E.id-T.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var u=Date,o=u.now();e.unstable_now=function(){return u.now()-o}}var s=[],f=[],v=1,m=null,p=3,w=!1,S=!1,k=!1,P=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(E){for(var T=n(f);T!==null;){if(T.callback===null)r(f);else if(T.startTime<=E)r(f),T.sortIndex=T.expirationTime,t(s,T);else break;T=n(f)}}function g(E){if(k=!1,d(E),!S)if(n(s)!==null)S=!0,Ut(x);else{var T=n(f);T!==null&&gn(g,T.startTime-E)}}function x(E,T){S=!1,k&&(k=!1,c(z),z=-1),w=!0;var L=p;try{for(d(T),m=n(s);m!==null&&(!(m.expirationTime>T)||E&&!oe());){var B=m.callback;if(typeof B=="function"){m.callback=null,p=m.priorityLevel;var X=B(m.expirationTime<=T);T=e.unstable_now(),typeof X=="function"?m.callback=X:m===n(s)&&r(s),d(T)}else r(s);m=n(s)}if(m!==null)var At=!0;else{var F=n(f);F!==null&&gn(g,F.startTime-T),At=!1}return At}finally{m=null,p=L,w=!1}}var _=!1,N=null,z=-1,A=5,R=-1;function oe(){return!(e.unstable_now()-RE||125B?(E.sortIndex=L,t(f,E),n(s)===null&&E===n(f)&&(k?(c(z),z=-1):k=!0,gn(g,L-B))):(E.sortIndex=X,t(s,E),S||w||(S=!0,Ut(x))),E},e.unstable_shouldYield=oe,e.unstable_wrapCallback=function(E){var T=p;return function(){var L=p;p=T;try{return E.apply(this,arguments)}finally{p=L}}}})(ss);os.exports=ss;var Oc=os.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Fc=j,Se=Oc;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Jl=Object.prototype.hasOwnProperty,Mc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Au={},Vu={};function Dc(e){return Jl.call(Vu,e)?!0:Jl.call(Au,e)?!1:Mc.test(e)?Vu[e]=!0:(Au[e]=!0,!1)}function Ic(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function $c(e,t,n,r){if(t===null||typeof t>"u"||Ic(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function fe(e,t,n,r,l,i,u){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=u}var ne={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ne[e]=new fe(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ne[t]=new fe(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ne[e]=new fe(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ne[e]=new fe(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ne[e]=new fe(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ne[e]=new fe(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ne[e]=new fe(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ne[e]=new fe(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ne[e]=new fe(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yi=/[\-:]([a-z])/g;function Xi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);ne[t]=new fe(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);ne[t]=new fe(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Yi,Xi);ne[t]=new fe(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ne[e]=new fe(e,1,!1,e.toLowerCase(),null,!1,!1)});ne.xlinkHref=new fe("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ne[e]=new fe(e,1,!1,e.toLowerCase(),null,!0,!0)});function Gi(e,t,n,r){var l=ne.hasOwnProperty(t)?ne[t]:null;(l!==null?l.type!==0:r||!(2o||l[u]!==i[o]){var s=` -`+l[u].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=u&&0<=o);break}}}finally{_l=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Nn(e):""}function Uc(e){switch(e.tag){case 5:return Nn(e.type);case 16:return Nn("Lazy");case 13:return Nn("Suspense");case 19:return Nn("SuspenseList");case 0:case 2:case 15:return e=Nl(e.type,!1),e;case 11:return e=Nl(e.type.render,!1),e;case 1:return e=Nl(e.type,!0),e;default:return""}}function ti(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ht:return"Fragment";case Bt:return"Portal";case ql:return"Profiler";case Zi:return"StrictMode";case bl:return"Suspense";case ei:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case fs:return(e.displayName||"Context")+".Consumer";case cs:return(e._context.displayName||"Context")+".Provider";case Ji:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case qi:return t=e.displayName||null,t!==null?t:ti(e.type)||"Memo";case rt:t=e._payload,e=e._init;try{return ti(e(t))}catch{}}return null}function Ac(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ti(t);case 8:return t===Zi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function gt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ps(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Vc(e){var t=ps(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ar(e){e._valueTracker||(e._valueTracker=Vc(e))}function hs(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ps(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Dr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ni(e,t){var n=t.checked;return Q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Hu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=gt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ms(e,t){t=t.checked,t!=null&&Gi(e,"checked",t,!1)}function ri(e,t){ms(e,t);var n=gt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?li(e,t.type,n):t.hasOwnProperty("defaultValue")&&li(e,t.type,gt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Wu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function li(e,t,n){(t!=="number"||Dr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var jn=Array.isArray;function en(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=cr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function An(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Tn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Bc=["Webkit","ms","Moz","O"];Object.keys(Tn).forEach(function(e){Bc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Tn[t]=Tn[e]})});function ws(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Tn.hasOwnProperty(e)&&Tn[e]?(""+t).trim():t+"px"}function Ss(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ws(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Hc=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function oi(e,t){if(t){if(Hc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function si(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ai=null;function bi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ci=null,tn=null,nn=null;function Yu(e){if(e=ir(e)){if(typeof ci!="function")throw Error(y(280));var t=e.stateNode;t&&(t=fl(t),ci(e.stateNode,e.type,t))}}function ks(e){tn?nn?nn.push(e):nn=[e]:tn=e}function xs(){if(tn){var e=tn,t=nn;if(nn=tn=null,Yu(e),t)for(e=0;e>>=0,e===0?32:31-(ef(e)/tf|0)|0}var fr=64,dr=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ar(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,u=n&268435455;if(u!==0){var o=u&~l;o!==0?r=Pn(o):(i&=u,i!==0&&(r=Pn(i)))}else u=n&~l,u!==0?r=Pn(u):i!==0&&(r=Pn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function rr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Me(t),e[t]=n}function uf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Rn),no=" ",ro=!1;function Bs(e,t){switch(e){case"keyup":return Ff.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Wt=!1;function Df(e,t){switch(e){case"compositionend":return Hs(t);case"keypress":return t.which!==32?null:(ro=!0,no);case"textInput":return e=t.data,e===no&&ro?null:e;default:return null}}function If(e,t){if(Wt)return e==="compositionend"||!ou&&Bs(e,t)?(e=As(),jr=lu=ot=null,Wt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=oo(n)}}function Ys(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ys(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Xs(){for(var e=window,t=Dr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Dr(e.document)}return t}function su(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Kf(e){var t=Xs(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ys(n.ownerDocument.documentElement,n)){if(r!==null&&su(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=so(n,i);var u=so(n,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(u.node,u.offset)):(t.setEnd(u.node,u.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Qt=null,vi=null,Fn=null,gi=!1;function ao(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;gi||Qt==null||Qt!==Dr(r)||(r=Qt,"selectionStart"in r&&su(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Fn&&Kn(Fn,r)||(Fn=r,r=Hr(vi,"onSelect"),0Xt||(e.current=Ei[Xt],Ei[Xt]=null,Xt--)}function I(e,t){Xt++,Ei[Xt]=e.current,e.current=t}var yt={},ue=St(yt),he=St(!1),Lt=yt;function sn(e,t){var n=e.type.contextTypes;if(!n)return yt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function me(e){return e=e.childContextTypes,e!=null}function Qr(){U(he),U(ue)}function go(e,t,n){if(ue.current!==yt)throw Error(y(168));I(ue,t),I(he,n)}function ra(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(y(108,Ac(e)||"Unknown",l));return Q({},n,r)}function Kr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||yt,Lt=ue.current,I(ue,e),I(he,he.current),!0}function yo(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=ra(e,t,Lt),r.__reactInternalMemoizedMergedChildContext=e,U(he),U(ue),I(ue,e)):U(he),I(he,n)}var Qe=null,dl=!1,Al=!1;function la(e){Qe===null?Qe=[e]:Qe.push(e)}function ld(e){dl=!0,la(e)}function kt(){if(!Al&&Qe!==null){Al=!0;var e=0,t=D;try{var n=Qe;for(D=1;e>=u,l-=u,Ke=1<<32-Me(t)+l|n<z?(A=N,N=null):A=N.sibling;var R=p(c,N,d[z],g);if(R===null){N===null&&(N=A);break}e&&N&&R.alternate===null&&t(c,N),a=i(R,a,z),_===null?x=R:_.sibling=R,_=R,N=A}if(z===d.length)return n(c,N),V&&Et(c,z),x;if(N===null){for(;zz?(A=N,N=null):A=N.sibling;var oe=p(c,N,R.value,g);if(oe===null){N===null&&(N=A);break}e&&N&&oe.alternate===null&&t(c,N),a=i(oe,a,z),_===null?x=oe:_.sibling=oe,_=oe,N=A}if(R.done)return n(c,N),V&&Et(c,z),x;if(N===null){for(;!R.done;z++,R=d.next())R=m(c,R.value,g),R!==null&&(a=i(R,a,z),_===null?x=R:_.sibling=R,_=R);return V&&Et(c,z),x}for(N=r(c,N);!R.done;z++,R=d.next())R=w(N,c,z,R.value,g),R!==null&&(e&&R.alternate!==null&&N.delete(R.key===null?z:R.key),a=i(R,a,z),_===null?x=R:_.sibling=R,_=R);return e&&N.forEach(function(xt){return t(c,xt)}),V&&Et(c,z),x}function P(c,a,d,g){if(typeof d=="object"&&d!==null&&d.type===Ht&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case sr:e:{for(var x=d.key,_=a;_!==null;){if(_.key===x){if(x=d.type,x===Ht){if(_.tag===7){n(c,_.sibling),a=l(_,d.props.children),a.return=c,c=a;break e}}else if(_.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===rt&&ko(x)===_.type){n(c,_.sibling),a=l(_,d.props),a.ref=En(c,_,d),a.return=c,c=a;break e}n(c,_);break}else t(c,_);_=_.sibling}d.type===Ht?(a=Tt(d.props.children,c.mode,g,d.key),a.return=c,c=a):(g=Mr(d.type,d.key,d.props,null,c.mode,g),g.ref=En(c,a,d),g.return=c,c=g)}return u(c);case Bt:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(c,a.sibling),a=l(a,d.children||[]),a.return=c,c=a;break e}else{n(c,a);break}else t(c,a);a=a.sibling}a=Xl(d,c.mode,g),a.return=c,c=a}return u(c);case rt:return _=d._init,P(c,a,_(d._payload),g)}if(jn(d))return S(c,a,d,g);if(yn(d))return k(c,a,d,g);wr(c,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(c,a.sibling),a=l(a,d),a.return=c,c=a):(n(c,a),a=Yl(d,c.mode,g),a.return=c,c=a),u(c)):n(c,a)}return P}var cn=sa(!0),aa=sa(!1),Gr=St(null),Zr=null,Jt=null,du=null;function pu(){du=Jt=Zr=null}function hu(e){var t=Gr.current;U(Gr),e._currentValue=t}function Ni(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ln(e,t){Zr=e,du=Jt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(pe=!0),e.firstContext=null)}function je(e){var t=e._currentValue;if(du!==e)if(e={context:e,memoizedValue:t,next:null},Jt===null){if(Zr===null)throw Error(y(308));Jt=e,Zr.dependencies={lanes:0,firstContext:e}}else Jt=Jt.next=e;return t}var Nt=null;function mu(e){Nt===null?Nt=[e]:Nt.push(e)}function ca(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mu(t)):(n.next=l.next,l.next=n),t.interleaved=n,Je(e,r)}function Je(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var lt=!1;function vu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Xe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function pt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,M&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Je(e,n)}return l=r.interleaved,l===null?(t.next=t,mu(r)):(t.next=l.next,l.next=t),r.interleaved=t,Je(e,n)}function zr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var u={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=u:i=i.next=u,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Jr(e,t,n,r){var l=e.updateQueue;lt=!1;var i=l.firstBaseUpdate,u=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var s=o,f=s.next;s.next=null,u===null?i=f:u.next=f,u=s;var v=e.alternate;v!==null&&(v=v.updateQueue,o=v.lastBaseUpdate,o!==u&&(o===null?v.firstBaseUpdate=f:o.next=f,v.lastBaseUpdate=s))}if(i!==null){var m=l.baseState;u=0,v=f=s=null,o=i;do{var p=o.lane,w=o.eventTime;if((r&p)===p){v!==null&&(v=v.next={eventTime:w,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var S=e,k=o;switch(p=t,w=n,k.tag){case 1:if(S=k.payload,typeof S=="function"){m=S.call(w,m,p);break e}m=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=k.payload,p=typeof S=="function"?S.call(w,m,p):S,p==null)break e;m=Q({},m,p);break e;case 2:lt=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[o]:p.push(o))}else w={eventTime:w,lane:p,tag:o.tag,payload:o.payload,callback:o.callback,next:null},v===null?(f=v=w,s=m):v=v.next=w,u|=p;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;p=o,o=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(v===null&&(s=m),l.baseState=s,l.firstBaseUpdate=f,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do u|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ft|=u,e.lanes=u,e.memoizedState=m}}function Eo(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Bl.transition;Bl.transition={};try{e(!1),t()}finally{D=n,Bl.transition=r}}function Pa(){return Pe().memoizedState}function sd(e,t,n){var r=mt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},za(e))Ta(t,n);else if(n=ca(e,t,n,r),n!==null){var l=ae();De(n,e,r,l),La(n,t,r)}}function ad(e,t,n){var r=mt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(za(e))Ta(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,o=i(u,n);if(l.hasEagerState=!0,l.eagerState=o,Ie(o,u)){var s=t.interleaved;s===null?(l.next=l,mu(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=ca(e,t,l,r),n!==null&&(l=ae(),De(n,e,r,l),La(n,t,r))}}function za(e){var t=e.alternate;return e===W||t!==null&&t===W}function Ta(e,t){Mn=br=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function La(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}var el={readContext:je,useCallback:re,useContext:re,useEffect:re,useImperativeHandle:re,useInsertionEffect:re,useLayoutEffect:re,useMemo:re,useReducer:re,useRef:re,useState:re,useDebugValue:re,useDeferredValue:re,useTransition:re,useMutableSource:re,useSyncExternalStore:re,useId:re,unstable_isNewReconciler:!1},cd={readContext:je,useCallback:function(e,t){return Ae().memoizedState=[e,t===void 0?null:t],e},useContext:je,useEffect:_o,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Lr(4194308,4,Ea.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Lr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Lr(4,2,e,t)},useMemo:function(e,t){var n=Ae();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ae();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=sd.bind(null,W,e),[r.memoizedState,e]},useRef:function(e){var t=Ae();return e={current:e},t.memoizedState=e},useState:Co,useDebugValue:Cu,useDeferredValue:function(e){return Ae().memoizedState=e},useTransition:function(){var e=Co(!1),t=e[0];return e=od.bind(null,e[1]),Ae().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=W,l=Ae();if(V){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),b===null)throw Error(y(349));Ot&30||ma(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,_o(ga.bind(null,r,i,e),[e]),r.flags|=2048,er(9,va.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ae(),t=b.identifierPrefix;if(V){var n=Ye,r=Ke;n=(r&~(1<<32-Me(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=qn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Ve]=t,e[Gn]=r,Va(e,t,!1,!1),t.stateNode=e;e:{switch(u=si(n,r),n){case"dialog":$("cancel",e),$("close",e),l=r;break;case"iframe":case"object":case"embed":$("load",e),l=r;break;case"video":case"audio":for(l=0;lpn&&(t.flags|=128,r=!0,Cn(i,!1),t.lanes=4194304)}else{if(!r)if(e=qr(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Cn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!u.alternate&&!V)return le(t),null}else 2*Y()-i.renderingStartTime>pn&&n!==1073741824&&(t.flags|=128,r=!0,Cn(i,!1),t.lanes=4194304);i.isBackwards?(u.sibling=t.child,t.child=u):(n=i.last,n!==null?n.sibling=u:t.child=u,i.last=u)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Y(),t.sibling=null,n=H.current,I(H,r?n&1|2:n&1),t):(le(t),null);case 22:case 23:return Tu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ge&1073741824&&(le(t),t.subtreeFlags&6&&(t.flags|=8192)):le(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function yd(e,t){switch(cu(t),t.tag){case 1:return me(t.type)&&Qr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return fn(),U(he),U(ue),wu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yu(t),null;case 13:if(U(H),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));an()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(H),null;case 4:return fn(),null;case 10:return hu(t.type._context),null;case 22:case 23:return Tu(),null;case 24:return null;default:return null}}var kr=!1,ie=!1,wd=typeof WeakSet=="function"?WeakSet:Set,C=null;function qt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){K(e,t,r)}else n.current=null}function Mi(e,t,n){try{n()}catch(r){K(e,t,r)}}var Do=!1;function Sd(e,t){if(yi=Vr,e=Xs(),su(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,o=-1,s=-1,f=0,v=0,m=e,p=null;t:for(;;){for(var w;m!==n||l!==0&&m.nodeType!==3||(o=u+l),m!==i||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(w=m.firstChild)!==null;)p=m,m=w;for(;;){if(m===e)break t;if(p===n&&++f===l&&(o=u),p===i&&++v===r&&(s=u),(w=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=w}n=o===-1||s===-1?null:{start:o,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(wi={focusedElem:e,selectionRange:n},Vr=!1,C=t;C!==null;)if(t=C,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,C=e;else for(;C!==null;){t=C;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var k=S.memoizedProps,P=S.memoizedState,c=t.stateNode,a=c.getSnapshotBeforeUpdate(t.elementType===t.type?k:Re(t.type,k),P);c.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(g){K(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,C=e;break}C=t.return}return S=Do,Do=!1,S}function Dn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Mi(t,n,i)}l=l.next}while(l!==r)}}function ml(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Di(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Wa(e){var t=e.alternate;t!==null&&(e.alternate=null,Wa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ve],delete t[Gn],delete t[xi],delete t[nd],delete t[rd])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Qa(e){return e.tag===5||e.tag===3||e.tag===4}function Io(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Qa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ii(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Wr));else if(r!==4&&(e=e.child,e!==null))for(Ii(e,t,n),e=e.sibling;e!==null;)Ii(e,t,n),e=e.sibling}function $i(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for($i(e,t,n),e=e.sibling;e!==null;)$i(e,t,n),e=e.sibling}var ee=null,Oe=!1;function nt(e,t,n){for(n=n.child;n!==null;)Ka(e,t,n),n=n.sibling}function Ka(e,t,n){if(Be&&typeof Be.onCommitFiberUnmount=="function")try{Be.onCommitFiberUnmount(ol,n)}catch{}switch(n.tag){case 5:ie||qt(n,t);case 6:var r=ee,l=Oe;ee=null,nt(e,t,n),ee=r,Oe=l,ee!==null&&(Oe?(e=ee,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ee.removeChild(n.stateNode));break;case 18:ee!==null&&(Oe?(e=ee,n=n.stateNode,e.nodeType===8?Ul(e.parentNode,n):e.nodeType===1&&Ul(e,n),Wn(e)):Ul(ee,n.stateNode));break;case 4:r=ee,l=Oe,ee=n.stateNode.containerInfo,Oe=!0,nt(e,t,n),ee=r,Oe=l;break;case 0:case 11:case 14:case 15:if(!ie&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&Mi(n,t,u),l=l.next}while(l!==r)}nt(e,t,n);break;case 1:if(!ie&&(qt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){K(n,t,o)}nt(e,t,n);break;case 21:nt(e,t,n);break;case 22:n.mode&1?(ie=(r=ie)||n.memoizedState!==null,nt(e,t,n),ie=r):nt(e,t,n);break;default:nt(e,t,n)}}function $o(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new wd),t.forEach(function(r){var l=zd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Le(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=u),r&=~i}if(r=l,r=Y()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*xd(r/1960))-r,10e?16:e,st===null)var r=!1;else{if(e=st,st=null,rl=0,M&6)throw Error(y(331));var l=M;for(M|=4,C=e.current;C!==null;){var i=C,u=i.child;if(C.flags&16){var o=i.deletions;if(o!==null){for(var s=0;sY()-Pu?zt(e,0):ju|=n),ve(e,t)}function ec(e,t){t===0&&(e.mode&1?(t=dr,dr<<=1,!(dr&130023424)&&(dr=4194304)):t=1);var n=ae();e=Je(e,t),e!==null&&(rr(e,t,n),ve(e,n))}function Pd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ec(e,n)}function zd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),ec(e,n)}var tc;tc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||he.current)pe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return pe=!1,vd(e,t,n);pe=!!(e.flags&131072)}else pe=!1,V&&t.flags&1048576&&ia(t,Xr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Rr(e,t),e=t.pendingProps;var l=sn(t,ue.current);ln(t,n),l=ku(null,t,r,e,l,n);var i=xu();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,me(r)?(i=!0,Kr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,vu(t),l.updater=hl,t.stateNode=l,l._reactInternals=t,Pi(t,r,e,n),t=Li(null,t,r,!0,i,n)):(t.tag=0,V&&i&&au(t),se(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Rr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Ld(r),e=Re(r,e),l){case 0:t=Ti(null,t,r,e,n);break e;case 1:t=Oo(null,t,r,e,n);break e;case 11:t=Lo(null,t,r,e,n);break e;case 14:t=Ro(null,t,r,Re(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Ti(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Oo(e,t,r,l,n);case 3:e:{if($a(t),e===null)throw Error(y(387));r=t.pendingProps,i=t.memoizedState,l=i.element,fa(e,t),Jr(t,r,null,n);var u=t.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=dn(Error(y(423)),t),t=Fo(e,t,r,n,l);break e}else if(r!==l){l=dn(Error(y(424)),t),t=Fo(e,t,r,n,l);break e}else for(ye=dt(t.stateNode.containerInfo.firstChild),we=t,V=!0,Fe=null,n=aa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(an(),r===l){t=qe(e,t,n);break e}se(e,t,r,n)}t=t.child}return t;case 5:return da(t),e===null&&_i(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,Si(r,l)?u=null:i!==null&&Si(r,i)&&(t.flags|=32),Ia(e,t),se(e,t,u,n),t.child;case 6:return e===null&&_i(t),null;case 13:return Ua(e,t,n);case 4:return gu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=cn(t,null,r,n):se(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Lo(e,t,r,l,n);case 7:return se(e,t,t.pendingProps,n),t.child;case 8:return se(e,t,t.pendingProps.children,n),t.child;case 12:return se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,u=l.value,I(Gr,r._currentValue),r._currentValue=u,i!==null)if(Ie(i.value,u)){if(i.children===l.children&&!he.current){t=qe(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=Xe(-1,n&-n),s.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?s.next=s:(s.next=v.next,v.next=s),f.pending=s}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Ni(i.return,n,t),o.lanes|=n;break}s=s.next}}else if(i.tag===10)u=i.type===t.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(y(341));u.lanes|=n,o=u.alternate,o!==null&&(o.lanes|=n),Ni(u,n,t),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===t){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}se(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,ln(t,n),l=je(l),r=r(l),t.flags|=1,se(e,t,r,n),t.child;case 14:return r=t.type,l=Re(r,t.pendingProps),l=Re(r.type,l),Ro(e,t,r,l,n);case 15:return Ma(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Rr(e,t),t.tag=1,me(r)?(e=!0,Kr(t)):e=!1,ln(t,n),Ra(t,r,l),Pi(t,r,l,n),Li(null,t,r,!0,e,n);case 19:return Aa(e,t,n);case 22:return Da(e,t,n)}throw Error(y(156,t.tag))};function nc(e,t){return zs(e,t)}function Td(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,t,n,r){return new Td(e,t,n,r)}function Ru(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ld(e){if(typeof e=="function")return Ru(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ji)return 11;if(e===qi)return 14}return 2}function vt(e,t){var n=e.alternate;return n===null?(n=_e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Mr(e,t,n,r,l,i){var u=2;if(r=e,typeof e=="function")Ru(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case Ht:return Tt(n.children,l,i,t);case Zi:u=8,l|=8;break;case ql:return e=_e(12,n,t,l|2),e.elementType=ql,e.lanes=i,e;case bl:return e=_e(13,n,t,l),e.elementType=bl,e.lanes=i,e;case ei:return e=_e(19,n,t,l),e.elementType=ei,e.lanes=i,e;case ds:return gl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case cs:u=10;break e;case fs:u=9;break e;case Ji:u=11;break e;case qi:u=14;break e;case rt:u=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=_e(u,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Tt(e,t,n,r){return e=_e(7,e,r,t),e.lanes=n,e}function gl(e,t,n,r){return e=_e(22,e,r,t),e.elementType=ds,e.lanes=n,e.stateNode={isHidden:!1},e}function Yl(e,t,n){return e=_e(6,e,null,t),e.lanes=n,e}function Xl(e,t,n){return t=_e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Rd(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pl(0),this.expirationTimes=Pl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ou(e,t,n,r,l,i,u,o,s){return e=new Rd(e,t,n,o,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_e(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},vu(i),e}function Od(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(uc)}catch(e){console.error(e)}}uc(),us.exports=ke;var $d=us.exports,oc,Ko=$d;oc=Ko.createRoot,Ko.hydrateRoot;async function $t(e){const t=await fetch(e);if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.json()}async function Ud(){return $t("/api/archives")}async function Ad(e){return $t(`/api/archives/${e}/entries`)}async function Vd(e,t,n){const r=new URLSearchParams;return t&&r.set("q",t),n&&r.set("tag",n),$t(`/api/archives/${e}/entries/search?${r}`)}async function Bd(e,t){return $t(`/api/archives/${e}/entries/${t}`)}async function Gl(e,t){return $t(`/api/archives/${e}/entries/${t}/tags`)}async function Hd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag_path:n})});if(!r.ok)throw new Error(`Failed to add tag (${r.status})`)}async function Wd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Remove failed (${r.status})`)}async function Yo(e){return $t(`/api/archives/${e}/runs`)}async function Zl(e){return $t(`/api/archives/${e}/tags`)}async function Qd(e,t){const n=await fetch(`/api/archives/${e}/captures`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locator:t})});if(!n.ok){const r=await n.text();throw new Error(r||`HTTP ${n.status}`)}}async function Kd(){return(await(await fetch("/api/auth/setup")).json()).setup_required===!0}async function Yd(e,t){const n=await fetch("/api/auth/setup",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Setup failed");return n.json()}async function Xd(e,t){const n=await fetch("/api/auth/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Login failed");return n.json()}async function Gd(){await fetch("/api/auth/logout",{method:"POST"})}async function Zd(){const e=await fetch("/api/auth/me");return e.status===401?null:e.json()}const Jd=window.fetch;window.fetch=async(...e)=>{var n;const t=await Jd(...e);return t.status===401&&((typeof e[0]=="string"?e[0]:((n=e[0])==null?void 0:n.url)??"").includes("/api/auth/")||window.dispatchEvent(new CustomEvent("auth:expired"))),t};function qd({onLogin:e}){const[t,n]=j.useState(""),[r,l]=j.useState(""),[i,u]=j.useState(null),[o,s]=j.useState(!1);async function f(v){v.preventDefault(),u(null),s(!0);try{const m=await Xd(t,r);e(m)}catch(m){u(m.message)}finally{s(!1)}}return h.jsxs("div",{className:"login-page",children:[h.jsx("h1",{children:"Archivr"}),h.jsxs("form",{onSubmit:f,children:[h.jsxs("label",{children:["Username",h.jsx("input",{type:"text",value:t,onChange:v=>n(v.target.value),autoFocus:!0,required:!0})]}),h.jsxs("label",{children:["Password",h.jsx("input",{type:"password",value:r,onChange:v=>l(v.target.value),required:!0})]}),i&&h.jsx("p",{className:"error",children:i}),h.jsx("button",{type:"submit",disabled:o,children:o?"Logging in…":"Log in"})]})]})}function bd({onComplete:e}){const[t,n]=j.useState(""),[r,l]=j.useState(""),[i,u]=j.useState(""),[o,s]=j.useState(null),[f,v]=j.useState(!1);async function m(p){if(p.preventDefault(),r!==i){s("Passwords do not match");return}if(r.length<8){s("Password must be at least 8 characters");return}s(null),v(!0);try{await Yd(t,r),e()}catch(w){s(w.message)}finally{v(!1)}}return h.jsxs("div",{className:"setup-page",children:[h.jsx("h1",{children:"Welcome to Archivr"}),h.jsx("p",{children:"Create your owner account to get started."}),h.jsxs("form",{onSubmit:m,children:[h.jsxs("label",{children:["Username",h.jsx("input",{type:"text",value:t,onChange:p=>n(p.target.value),autoFocus:!0,required:!0})]}),h.jsxs("label",{children:["Password",h.jsx("input",{type:"password",value:r,onChange:p=>l(p.target.value),required:!0})]}),h.jsxs("label",{children:["Confirm password",h.jsx("input",{type:"password",value:i,onChange:p=>u(p.target.value),required:!0})]}),o&&h.jsx("p",{className:"error",children:o}),h.jsx("button",{type:"submit",disabled:f,children:f?"Creating account…":"Create account"})]})]})}function ep({archives:e,archiveId:t,onArchiveChange:n,view:r,onViewChange:l,onCaptureClick:i}){const{currentUser:u,setCurrentUser:o}=j.useContext(fc)??{},[s,f]=j.useState(!1);async function v(){f(!0),await Gd(),o(null),window.location.reload()}return h.jsxs("header",{className:"topbar",children:[h.jsx("div",{className:"brand",children:"Archivr"}),h.jsx("select",{className:"archive-switcher","aria-label":"Select archive",value:t??"",onChange:m=>n(m.target.value),children:e.map(m=>h.jsx("option",{value:m.id,children:m.label},m.id))}),h.jsx("nav",{className:"nav","aria-label":"Primary",children:["archive","runs","admin","tags"].map(m=>h.jsx("button",{className:`nav-link${r===m?" is-active":""}`,onClick:()=>l(m),children:m.charAt(0).toUpperCase()+m.slice(1)},m))}),h.jsx("button",{className:"capture-button",onClick:i,children:"+ Capture"}),u&&h.jsxs("div",{className:"user-menu",children:[h.jsx("span",{className:"username",children:u.username}),h.jsx("button",{onClick:v,disabled:s,className:"logout-btn",children:s?"Logging out…":"Log out"})]})]})}function tp({open:e,archiveId:t,onClose:n,onCaptured:r}){const l=j.useRef(null),[i,u]=j.useState(""),[o,s]=j.useState(null),[f,v]=j.useState(!1);j.useEffect(()=>{const p=l.current;if(!p)return;const w=()=>n();return p.addEventListener("close",w),()=>p.removeEventListener("close",w)},[n]),j.useEffect(()=>{const p=l.current;p&&(e?(u(""),s(null),p.open||p.showModal()):p.open&&p.close())},[e]);async function m(){var p;if(!i.trim()){s("Enter a locator.");return}v(!0),s(null);try{await Qd(t,i.trim()),(p=l.current)==null||p.close(),r()}catch(w){s(w.message)}finally{v(!1)}}return h.jsx("dialog",{ref:l,className:"capture-dialog",children:h.jsxs("div",{className:"capture-dialog-inner",children:[h.jsx("h2",{className:"capture-dialog-title",children:"Capture"}),h.jsx("label",{htmlFor:"capture-locator",className:"capture-label",children:"Locator"}),h.jsx("input",{id:"capture-locator",className:"capture-input",type:"text",placeholder:"tweet:1234567890 or https://...",value:i,onChange:p=>u(p.target.value),onKeyDown:p=>{p.key==="Enter"&&m()},autoComplete:"off"}),o&&h.jsx("div",{className:"capture-error",children:o}),h.jsxs("div",{className:"capture-actions",children:[h.jsx("button",{type:"button",className:"capture-cancel",onClick:()=>{var p;return(p=l.current)==null?void 0:p.close()},children:"Cancel"}),h.jsx("button",{type:"button",className:"capture-submit",onClick:m,disabled:f,children:f?"Capturing…":"Capture"})]})]})})}function sc(e){if(!e)return"0 B";const t=["B","KB","MB","GB"];let n=e,r=0;for(;n>=1024&&rString(r).padStart(2,"0");return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())}`}const Xo={youtube:'',x:'',instagram:'',facebook:'',tiktok:'',reddit:'',snapchat:'',local:'',web:'',other:'?'};function np(e){return Xo[e]??Xo.other}function rp({entry:e,archiveId:t,isSelected:n,onSelect:r}){const[l,i]=j.useState(!1),o=e.source_kind==="web"&&e.entity_kind==="page"&&e.has_favicon&&t&&!l?h.jsx("img",{src:`/api/archives/${t}/entries/${e.entry_uid}/favicon`,width:"16",height:"16",alt:"",onError:()=>i(!0),style:{objectFit:"contain"}}):h.jsx("span",{dangerouslySetInnerHTML:{__html:np(e.source_kind)}});return h.jsxs("div",{className:n?"is-selected":void 0,tabIndex:0,"data-entry-uid":e.entry_uid,onClick:r,onKeyDown:s=>{s.key==="Enter"&&r()},children:[h.jsx("div",{className:"col-added",children:ac(e.archived_at)}),h.jsxs("div",{className:"col-title",children:[h.jsx("span",{className:"source-icon",children:o}),h.jsx("span",{className:"entry-title",children:Pt(e.title)||Pt(e.entry_uid)})]}),h.jsx("div",{className:"col-type",children:h.jsx("span",{className:"type-pill",children:Pt(e.entity_kind)})}),h.jsx("div",{className:"col-size",children:sc(e.total_artifact_bytes)}),h.jsx("div",{className:"url-cell col-url",children:Pt(e.original_url)})]})}function lp({entries:e,selectedEntryUid:t,onSelectEntry:n,archiveId:r}){return h.jsx("section",{id:"archive-view",className:"view is-active",children:h.jsxs("div",{className:"entry-table",children:[h.jsxs("div",{className:"entry-header-row",children:[h.jsx("div",{className:"col-added",children:"Added"}),h.jsx("div",{className:"col-title",children:"Title"}),h.jsx("div",{className:"col-type",children:"Type"}),h.jsx("div",{className:"col-size",children:"Size"}),h.jsx("div",{className:"col-url",children:"Original URL"})]}),h.jsx("div",{id:"entries-body",children:e.map(l=>h.jsx(rp,{entry:l,archiveId:r,isSelected:l.entry_uid===t,onSelect:()=>n(l)},l.entry_uid))})]})})}function ip({runs:e}){return h.jsx("section",{id:"runs-view",className:"view is-active",children:h.jsxs("table",{className:"entry-table",children:[h.jsx("thead",{children:h.jsxs("tr",{children:[h.jsx("th",{children:"Started"}),h.jsx("th",{children:"Status"}),h.jsx("th",{children:"Requested"}),h.jsx("th",{children:"Completed"}),h.jsx("th",{children:"Failed"})]})}),h.jsx("tbody",{children:e.map((t,n)=>h.jsxs("tr",{children:[h.jsx("td",{children:t.started_at??""}),h.jsx("td",{children:t.status??""}),h.jsx("td",{children:t.requested_count??""}),h.jsx("td",{children:t.completed_count??""}),h.jsx("td",{children:t.failed_count??""})]},n))})]})})}function up({archives:e}){return h.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[h.jsx("h1",{children:"Mounted Archives"}),h.jsx("div",{className:"admin-list",children:e.map(t=>h.jsxs("div",{className:"admin-archive",children:[h.jsx("strong",{children:t.label}),h.jsx("div",{className:"muted",children:t.archive_path})]},t.id))})]})}function cc({node:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){var u;const l=t===e.tag.full_path;function i(){const o=l?null:e.tag.full_path;n(o),r("archive")}return h.jsxs("li",{children:[h.jsx("button",{className:`tag-node-btn${l?" is-active":""}`,title:e.tag.full_path,onClick:i,children:e.tag.name}),((u=e.children)==null?void 0:u.length)>0&&h.jsx("div",{className:"tag-children",children:h.jsx("ul",{className:"tag-tree-list",children:e.children.map(o=>h.jsx(cc,{node:o,tagFilter:t,onTagFilterSet:n,onViewChange:r},o.tag.tag_uid))})})]})}function op({tagNodes:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){return h.jsx("section",{id:"tags-view",className:"view is-active",children:h.jsx("div",{className:"tag-tree",children:e.length===0?h.jsx("div",{children:"No tags yet."}):h.jsx("ul",{className:"tag-tree-list",children:e.map(l=>h.jsx(cc,{node:l,tagFilter:t,onTagFilterSet:n,onViewChange:r},l.tag.tag_uid))})})})}function sp({archiveId:e,selectedEntry:t,onTagFilterSet:n,tagNodes:r,onTagsRefresh:l}){const[i,u]=j.useState(null),[o,s]=j.useState([]),[f,v]=j.useState(""),[m,p]=j.useState(""),w=j.useRef(0);j.useEffect(()=>{if(!t||!e){u(null),s([]);return}const P=++w.current;u(null),s([]),Promise.all([Bd(e,t.entry_uid),Gl(e,t.entry_uid)]).then(([c,a])=>{P===w.current&&(u(c),s(a))}).catch(()=>{})},[t,e]);async function S(){const P=f.trim();if(!(!P||!t))try{await Hd(e,t.entry_uid,P),v(""),p("");const c=await Gl(e,t.entry_uid);s(c),l()}catch(c){p(c.message)}}async function k(P){try{await Wd(e,t.entry_uid,P);const c=await Gl(e,t.entry_uid);s(c),l()}catch{}}return h.jsxs("aside",{className:"context-rail",children:[h.jsx("div",{className:"rail-title",children:"Context"}),t?i?h.jsxs("div",{className:"rail-body",children:[h.jsx("strong",{className:"rail-entry-title",children:Pt(i.summary.title)||Pt(i.summary.entry_uid)}),h.jsxs("div",{className:"rail-section",children:[i.summary.original_url&&h.jsxs("div",{className:"rail-item",children:[h.jsx("span",{className:"rail-label",children:"Original URL"}),":"," ",h.jsx("a",{href:i.summary.original_url,target:"_blank",rel:"noopener noreferrer",className:"rail-url-link",children:i.summary.original_url})]}),[["Added",ac(i.summary.archived_at)],["Source",i.summary.source_kind],["Type",i.summary.entity_kind],["Visibility",i.summary.visibility],["Structured root",i.structured_root_relpath]].map(([P,c])=>h.jsxs("div",{className:"rail-item",children:[h.jsx("span",{className:"rail-label",children:P}),": ",Pt(c)]},P))]}),i.artifacts.length>0?h.jsxs("div",{className:"rail-section",children:[h.jsxs("div",{className:"rail-section-heading",children:["Artifacts (",i.artifacts.length,")"]}),h.jsx("ul",{className:"artifact-list",children:i.artifacts.map((P,c)=>h.jsx("li",{children:h.jsxs("a",{href:`/api/archives/${e}/entries/${i.summary.entry_uid}/artifacts/${c}`,target:"_blank",rel:"noopener noreferrer",className:"artifact-link",children:[P.artifact_role.replace(/_/g," "),P.byte_size!=null?` (${sc(P.byte_size)})`:""]})},c))})]}):h.jsx("div",{className:"rail-item muted",children:"No artifacts."})]}):h.jsx("div",{className:"rail-body",children:"Loading…"}):h.jsx("div",{className:"rail-body",children:"Select an entry."}),t&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"entry-tags",children:o.length===0?h.jsx("span",{className:"muted",children:"No tags."}):o.map(P=>h.jsxs("span",{className:"tag-pill",title:P.full_path,children:[P.name,h.jsx("button",{className:"remove-tag",title:`Remove tag ${P.full_path}`,onClick:()=>k(P.tag_uid),children:"×"})]},P.tag_uid))}),h.jsxs("div",{className:"assign-tag-form",children:[h.jsx("input",{className:"assign-tag-input",type:"text",placeholder:"/science/cs",autoComplete:"off",value:f,onChange:P=>v(P.target.value),onKeyDown:P=>{P.key==="Enter"&&S()}}),h.jsx("button",{className:"assign-tag-btn",onClick:S,children:"Add tag"}),m&&h.jsx("div",{className:"muted",style:{fontSize:"0.85em",color:"var(--accent)"},children:m})]})]})]})}const fc=j.createContext(null);function ap(){const[e,t]=j.useState("loading"),[n,r]=j.useState(null);j.useEffect(()=>{(async()=>{if(await Kd()){t("setup");return}const ze=await Zd();if(!ze){t("login");return}r(ze),t("authenticated")})()},[]),j.useEffect(()=>{const F=()=>{r(null),t("login")};return window.addEventListener("auth:expired",F),()=>window.removeEventListener("auth:expired",F)},[]);const[l,i]=j.useState([]),[u,o]=j.useState(null),[s,f]=j.useState([]),[v,m]=j.useState(null),[p,w]=j.useState(null),[S,k]=j.useState(null),[P,c]=j.useState("archive"),[a,d]=j.useState(""),[g,x]=j.useState(""),[_,N]=j.useState(!1),[z,A]=j.useState([]),[R,oe]=j.useState([]),[xt,et]=j.useState(!1),tt=j.useCallback(async(F,ze,$e)=>{if(F){N(!0);try{let Te;ze||$e?Te=await Vd(F,ze,$e):Te=await Ad(F),f(Te),x(Te.length===0?"No results":`${Te.length} result${Te.length===1?"":"s"}`)}catch{f([]),x("Search failed. Try again.")}finally{N(!1)}}},[]);j.useEffect(()=>{Ud().then(F=>{if(i(F),F.length>0){const ze=F[0].id;o(ze)}})},[]),j.useEffect(()=>{u&&(k(null),w(null),m(null),Promise.all([tt(u,"",null),Yo(u).then(A),Zl(u).then(oe)]))},[u]),j.useEffect(()=>{if(u===null)return;const F=setTimeout(()=>{tt(u,a,S)},300);return()=>clearTimeout(F)},[a,u]),j.useEffect(()=>{u!==null&&(c("archive"),tt(u,a,S))},[S,u]);const xl=j.useCallback(F=>{o(F)},[]),Ut=j.useCallback(F=>{c(F),F==="tags"&&u&&Zl(u).then(oe)},[u]),gn=j.useCallback(F=>{m(F?F.entry_uid:null),w(F)},[]),E=j.useCallback(F=>{k(F)},[]),T=j.useCallback(()=>{k(null)},[]),L=j.useCallback(()=>{u&&Zl(u).then(oe)},[u]),B=j.useCallback(()=>{et(!0)},[]),X=j.useCallback(()=>{et(!1)},[]),At=j.useCallback(()=>{u&&Promise.all([tt(u,a,S),Yo(u).then(A)])},[u,a,S,tt]);return e==="loading"?h.jsx("div",{className:"auth-loading",children:"Loading\\u2026"}):e==="setup"?h.jsx(bd,{onComplete:()=>t("login")}):e==="login"?h.jsx(qd,{onLogin:F=>{r(F),t("authenticated")}}):h.jsx(fc.Provider,{value:{currentUser:n,setCurrentUser:r},children:h.jsxs(h.Fragment,{children:[h.jsx(ep,{archives:l,archiveId:u,onArchiveChange:xl,view:P,onViewChange:Ut,onCaptureClick:B}),h.jsxs("main",{className:"app-shell",children:[h.jsxs("div",{className:"workspace",children:[P==="archive"&&h.jsxs("div",{className:"search-row",children:[h.jsx("input",{className:"search-input",type:"search","aria-label":"Search archive","aria-busy":_,value:a,onChange:F=>d(F.target.value)}),h.jsxs("div",{className:"result-count",children:[g,S&&h.jsxs("button",{className:"tag-filter-badge",onClick:T,children:["× ",S]})]})]}),P==="archive"&&h.jsx(lp,{entries:s,selectedEntryUid:v,onSelectEntry:gn,archiveId:u,tagFilter:S,onClearTagFilter:T,searchQuery:a,onSearchChange:d,resultCount:g,searchBusy:_}),P==="runs"&&h.jsx(ip,{runs:z}),P==="admin"&&h.jsx(up,{archives:l}),P==="tags"&&h.jsx(op,{tagNodes:R,tagFilter:S,onTagFilterSet:E,onViewChange:Ut})]}),h.jsx(sp,{archiveId:u,selectedEntry:p,onTagFilterSet:E,tagNodes:R,onTagsRefresh:L})]}),h.jsx(tp,{open:xt,archiveId:u,onClose:X,onCaptured:At})]})})}oc(document.getElementById("root")).render(h.jsx(j.StrictMode,{children:h.jsx(ap,{})})); diff --git a/crates/archivr-server/static/assets/index-Dfnwsgsa.js b/crates/archivr-server/static/assets/index-Dfnwsgsa.js deleted file mode 100644 index 944e05f..0000000 --- a/crates/archivr-server/static/assets/index-Dfnwsgsa.js +++ /dev/null @@ -1,40 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();var Go={exports:{}},ul={},Zo={exports:{}},O={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var nr=Symbol.for("react.element"),dc=Symbol.for("react.portal"),pc=Symbol.for("react.fragment"),hc=Symbol.for("react.strict_mode"),mc=Symbol.for("react.profiler"),vc=Symbol.for("react.provider"),gc=Symbol.for("react.context"),yc=Symbol.for("react.forward_ref"),wc=Symbol.for("react.suspense"),Sc=Symbol.for("react.memo"),kc=Symbol.for("react.lazy"),Iu=Symbol.iterator;function xc(e){return e===null||typeof e!="object"?null:(e=Iu&&e[Iu]||e["@@iterator"],typeof e=="function"?e:null)}var Jo={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},qo=Object.assign,bo={};function hn(e,t,n){this.props=e,this.context=t,this.refs=bo,this.updater=n||Jo}hn.prototype.isReactComponent={};hn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};hn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function es(){}es.prototype=hn.prototype;function Hi(e,t,n){this.props=e,this.context=t,this.refs=bo,this.updater=n||Jo}var Wi=Hi.prototype=new es;Wi.constructor=Hi;qo(Wi,hn.prototype);Wi.isPureReactComponent=!0;var $u=Array.isArray,ts=Object.prototype.hasOwnProperty,Qi={current:null},ns={key:!0,ref:!0,__self:!0,__source:!0};function rs(e,t,n){var r,l={},i=null,u=null;if(t!=null)for(r in t.ref!==void 0&&(u=t.ref),t.key!==void 0&&(i=""+t.key),t)ts.call(t,r)&&!ns.hasOwnProperty(r)&&(l[r]=t[r]);var o=arguments.length-2;if(o===1)l.children=n;else if(1>>1,X=C[B];if(0>>1;Bl(ze,L))$el(Te,ze)?(C[B]=Te,C[$e]=L,B=$e):(C[B]=ze,C[F]=L,B=F);else if($el(Te,L))C[B]=Te,C[$e]=L,B=$e;else break e}}return T}function l(C,T){var L=C.sortIndex-T.sortIndex;return L!==0?L:C.id-T.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var u=Date,o=u.now();e.unstable_now=function(){return u.now()-o}}var s=[],f=[],v=1,m=null,h=3,y=!1,S=!1,k=!1,x=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var T=n(f);T!==null;){if(T.callback===null)r(f);else if(T.startTime<=C)r(f),T.sortIndex=T.expirationTime,t(s,T);else break;T=n(f)}}function g(C){if(k=!1,d(C),!S)if(n(s)!==null)S=!0,Ut(E);else{var T=n(f);T!==null&&gn(g,T.startTime-C)}}function E(C,T){S=!1,k&&(k=!1,c(z),z=-1),y=!0;var L=h;try{for(d(T),m=n(s);m!==null&&(!(m.expirationTime>T)||C&&!oe());){var B=m.callback;if(typeof B=="function"){m.callback=null,h=m.priorityLevel;var X=B(m.expirationTime<=T);T=e.unstable_now(),typeof X=="function"?m.callback=X:m===n(s)&&r(s),d(T)}else r(s);m=n(s)}if(m!==null)var At=!0;else{var F=n(f);F!==null&&gn(g,F.startTime-T),At=!1}return At}finally{m=null,h=L,y=!1}}var j=!1,P=null,z=-1,A=5,R=-1;function oe(){return!(e.unstable_now()-RC||125B?(C.sortIndex=L,t(f,C),n(s)===null&&C===n(f)&&(k?(c(z),z=-1):k=!0,gn(g,L-B))):(C.sortIndex=X,t(s,C),S||y||(S=!0,Ut(E))),C},e.unstable_shouldYield=oe,e.unstable_wrapCallback=function(C){var T=h;return function(){var L=h;h=T;try{return C.apply(this,arguments)}finally{h=L}}}})(ss);os.exports=ss;var Oc=os.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Fc=N,Se=Oc;function w(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Jl=Object.prototype.hasOwnProperty,Mc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Au={},Vu={};function Dc(e){return Jl.call(Vu,e)?!0:Jl.call(Au,e)?!1:Mc.test(e)?Vu[e]=!0:(Au[e]=!0,!1)}function Ic(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function $c(e,t,n,r){if(t===null||typeof t>"u"||Ic(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function fe(e,t,n,r,l,i,u){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=u}var ne={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ne[e]=new fe(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ne[t]=new fe(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ne[e]=new fe(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ne[e]=new fe(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ne[e]=new fe(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ne[e]=new fe(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ne[e]=new fe(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ne[e]=new fe(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ne[e]=new fe(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yi=/[\-:]([a-z])/g;function Xi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);ne[t]=new fe(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Yi,Xi);ne[t]=new fe(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Yi,Xi);ne[t]=new fe(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ne[e]=new fe(e,1,!1,e.toLowerCase(),null,!1,!1)});ne.xlinkHref=new fe("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ne[e]=new fe(e,1,!1,e.toLowerCase(),null,!0,!0)});function Gi(e,t,n,r){var l=ne.hasOwnProperty(t)?ne[t]:null;(l!==null?l.type!==0:r||!(2o||l[u]!==i[o]){var s=` -`+l[u].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=u&&0<=o);break}}}finally{_l=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Nn(e):""}function Uc(e){switch(e.tag){case 5:return Nn(e.type);case 16:return Nn("Lazy");case 13:return Nn("Suspense");case 19:return Nn("SuspenseList");case 0:case 2:case 15:return e=Nl(e.type,!1),e;case 11:return e=Nl(e.type.render,!1),e;case 1:return e=Nl(e.type,!0),e;default:return""}}function ti(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ht:return"Fragment";case Bt:return"Portal";case ql:return"Profiler";case Zi:return"StrictMode";case bl:return"Suspense";case ei:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case fs:return(e.displayName||"Context")+".Consumer";case cs:return(e._context.displayName||"Context")+".Provider";case Ji:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case qi:return t=e.displayName||null,t!==null?t:ti(e.type)||"Memo";case rt:t=e._payload,e=e._init;try{return ti(e(t))}catch{}}return null}function Ac(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ti(t);case 8:return t===Zi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function gt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ps(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Vc(e){var t=ps(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ar(e){e._valueTracker||(e._valueTracker=Vc(e))}function hs(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=ps(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Dr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ni(e,t){var n=t.checked;return Q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Hu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=gt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ms(e,t){t=t.checked,t!=null&&Gi(e,"checked",t,!1)}function ri(e,t){ms(e,t);var n=gt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?li(e,t.type,n):t.hasOwnProperty("defaultValue")&&li(e,t.type,gt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Wu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function li(e,t,n){(t!=="number"||Dr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var jn=Array.isArray;function en(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=cr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function An(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Tn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Bc=["Webkit","ms","Moz","O"];Object.keys(Tn).forEach(function(e){Bc.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Tn[t]=Tn[e]})});function ws(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Tn.hasOwnProperty(e)&&Tn[e]?(""+t).trim():t+"px"}function Ss(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ws(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Hc=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function oi(e,t){if(t){if(Hc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(w(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(w(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(w(61))}if(t.style!=null&&typeof t.style!="object")throw Error(w(62))}}function si(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ai=null;function bi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ci=null,tn=null,nn=null;function Yu(e){if(e=ir(e)){if(typeof ci!="function")throw Error(w(280));var t=e.stateNode;t&&(t=fl(t),ci(e.stateNode,e.type,t))}}function ks(e){tn?nn?nn.push(e):nn=[e]:tn=e}function xs(){if(tn){var e=tn,t=nn;if(nn=tn=null,Yu(e),t)for(e=0;e>>=0,e===0?32:31-(ef(e)/tf|0)|0}var fr=64,dr=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ar(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,u=n&268435455;if(u!==0){var o=u&~l;o!==0?r=Pn(o):(i&=u,i!==0&&(r=Pn(i)))}else u=n&~l,u!==0?r=Pn(u):i!==0&&(r=Pn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function rr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Me(t),e[t]=n}function uf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Rn),no=" ",ro=!1;function Bs(e,t){switch(e){case"keyup":return Ff.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Wt=!1;function Df(e,t){switch(e){case"compositionend":return Hs(t);case"keypress":return t.which!==32?null:(ro=!0,no);case"textInput":return e=t.data,e===no&&ro?null:e;default:return null}}function If(e,t){if(Wt)return e==="compositionend"||!ou&&Bs(e,t)?(e=As(),jr=lu=ot=null,Wt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=oo(n)}}function Ys(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ys(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Xs(){for(var e=window,t=Dr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Dr(e.document)}return t}function su(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Kf(e){var t=Xs(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ys(n.ownerDocument.documentElement,n)){if(r!==null&&su(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=so(n,i);var u=so(n,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(u.node,u.offset)):(t.setEnd(u.node,u.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Qt=null,vi=null,Fn=null,gi=!1;function ao(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;gi||Qt==null||Qt!==Dr(r)||(r=Qt,"selectionStart"in r&&su(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Fn&&Kn(Fn,r)||(Fn=r,r=Hr(vi,"onSelect"),0Xt||(e.current=Ei[Xt],Ei[Xt]=null,Xt--)}function I(e,t){Xt++,Ei[Xt]=e.current,e.current=t}var yt={},ue=St(yt),he=St(!1),Rt=yt;function sn(e,t){var n=e.type.contextTypes;if(!n)return yt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function me(e){return e=e.childContextTypes,e!=null}function Qr(){U(he),U(ue)}function go(e,t,n){if(ue.current!==yt)throw Error(w(168));I(ue,t),I(he,n)}function ra(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(w(108,Ac(e)||"Unknown",l));return Q({},n,r)}function Kr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||yt,Rt=ue.current,I(ue,e),I(he,he.current),!0}function yo(e,t,n){var r=e.stateNode;if(!r)throw Error(w(169));n?(e=ra(e,t,Rt),r.__reactInternalMemoizedMergedChildContext=e,U(he),U(ue),I(ue,e)):U(he),I(he,n)}var Qe=null,dl=!1,Al=!1;function la(e){Qe===null?Qe=[e]:Qe.push(e)}function ld(e){dl=!0,la(e)}function kt(){if(!Al&&Qe!==null){Al=!0;var e=0,t=D;try{var n=Qe;for(D=1;e>=u,l-=u,Ke=1<<32-Me(t)+l|n<z?(A=P,P=null):A=P.sibling;var R=h(c,P,d[z],g);if(R===null){P===null&&(P=A);break}e&&P&&R.alternate===null&&t(c,P),a=i(R,a,z),j===null?E=R:j.sibling=R,j=R,P=A}if(z===d.length)return n(c,P),V&&Ct(c,z),E;if(P===null){for(;zz?(A=P,P=null):A=P.sibling;var oe=h(c,P,R.value,g);if(oe===null){P===null&&(P=A);break}e&&P&&oe.alternate===null&&t(c,P),a=i(oe,a,z),j===null?E=oe:j.sibling=oe,j=oe,P=A}if(R.done)return n(c,P),V&&Ct(c,z),E;if(P===null){for(;!R.done;z++,R=d.next())R=m(c,R.value,g),R!==null&&(a=i(R,a,z),j===null?E=R:j.sibling=R,j=R);return V&&Ct(c,z),E}for(P=r(c,P);!R.done;z++,R=d.next())R=y(P,c,z,R.value,g),R!==null&&(e&&R.alternate!==null&&P.delete(R.key===null?z:R.key),a=i(R,a,z),j===null?E=R:j.sibling=R,j=R);return e&&P.forEach(function(Et){return t(c,Et)}),V&&Ct(c,z),E}function x(c,a,d,g){if(typeof d=="object"&&d!==null&&d.type===Ht&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case sr:e:{for(var E=d.key,j=a;j!==null;){if(j.key===E){if(E=d.type,E===Ht){if(j.tag===7){n(c,j.sibling),a=l(j,d.props.children),a.return=c,c=a;break e}}else if(j.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===rt&&ko(E)===j.type){n(c,j.sibling),a=l(j,d.props),a.ref=En(c,j,d),a.return=c,c=a;break e}n(c,j);break}else t(c,j);j=j.sibling}d.type===Ht?(a=Lt(d.props.children,c.mode,g,d.key),a.return=c,c=a):(g=Mr(d.type,d.key,d.props,null,c.mode,g),g.ref=En(c,a,d),g.return=c,c=g)}return u(c);case Bt:e:{for(j=d.key;a!==null;){if(a.key===j)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(c,a.sibling),a=l(a,d.children||[]),a.return=c,c=a;break e}else{n(c,a);break}else t(c,a);a=a.sibling}a=Xl(d,c.mode,g),a.return=c,c=a}return u(c);case rt:return j=d._init,x(c,a,j(d._payload),g)}if(jn(d))return S(c,a,d,g);if(yn(d))return k(c,a,d,g);wr(c,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(c,a.sibling),a=l(a,d),a.return=c,c=a):(n(c,a),a=Yl(d,c.mode,g),a.return=c,c=a),u(c)):n(c,a)}return x}var cn=sa(!0),aa=sa(!1),Gr=St(null),Zr=null,Jt=null,du=null;function pu(){du=Jt=Zr=null}function hu(e){var t=Gr.current;U(Gr),e._currentValue=t}function Ni(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ln(e,t){Zr=e,du=Jt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(pe=!0),e.firstContext=null)}function je(e){var t=e._currentValue;if(du!==e)if(e={context:e,memoizedValue:t,next:null},Jt===null){if(Zr===null)throw Error(w(308));Jt=e,Zr.dependencies={lanes:0,firstContext:e}}else Jt=Jt.next=e;return t}var jt=null;function mu(e){jt===null?jt=[e]:jt.push(e)}function ca(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mu(t)):(n.next=l.next,l.next=n),t.interleaved=n,Je(e,r)}function Je(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var lt=!1;function vu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Xe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function pt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,M&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Je(e,n)}return l=r.interleaved,l===null?(t.next=t,mu(r)):(t.next=l.next,l.next=t),r.interleaved=t,Je(e,n)}function zr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var u={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=u:i=i.next=u,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Jr(e,t,n,r){var l=e.updateQueue;lt=!1;var i=l.firstBaseUpdate,u=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var s=o,f=s.next;s.next=null,u===null?i=f:u.next=f,u=s;var v=e.alternate;v!==null&&(v=v.updateQueue,o=v.lastBaseUpdate,o!==u&&(o===null?v.firstBaseUpdate=f:o.next=f,v.lastBaseUpdate=s))}if(i!==null){var m=l.baseState;u=0,v=f=s=null,o=i;do{var h=o.lane,y=o.eventTime;if((r&h)===h){v!==null&&(v=v.next={eventTime:y,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var S=e,k=o;switch(h=t,y=n,k.tag){case 1:if(S=k.payload,typeof S=="function"){m=S.call(y,m,h);break e}m=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=k.payload,h=typeof S=="function"?S.call(y,m,h):S,h==null)break e;m=Q({},m,h);break e;case 2:lt=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,h=l.effects,h===null?l.effects=[o]:h.push(o))}else y={eventTime:y,lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},v===null?(f=v=y,s=m):v=v.next=y,u|=h;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;h=o,o=h.next,h.next=null,l.lastBaseUpdate=h,l.shared.pending=null}}while(!0);if(v===null&&(s=m),l.baseState=s,l.firstBaseUpdate=f,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do u|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Mt|=u,e.lanes=u,e.memoizedState=m}}function Eo(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Bl.transition;Bl.transition={};try{e(!1),t()}finally{D=n,Bl.transition=r}}function Pa(){return Pe().memoizedState}function sd(e,t,n){var r=mt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},za(e))Ta(t,n);else if(n=ca(e,t,n,r),n!==null){var l=ae();De(n,e,r,l),La(n,t,r)}}function ad(e,t,n){var r=mt(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(za(e))Ta(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,o=i(u,n);if(l.hasEagerState=!0,l.eagerState=o,Ie(o,u)){var s=t.interleaved;s===null?(l.next=l,mu(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=ca(e,t,l,r),n!==null&&(l=ae(),De(n,e,r,l),La(n,t,r))}}function za(e){var t=e.alternate;return e===W||t!==null&&t===W}function Ta(e,t){Mn=br=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function La(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}var el={readContext:je,useCallback:re,useContext:re,useEffect:re,useImperativeHandle:re,useInsertionEffect:re,useLayoutEffect:re,useMemo:re,useReducer:re,useRef:re,useState:re,useDebugValue:re,useDeferredValue:re,useTransition:re,useMutableSource:re,useSyncExternalStore:re,useId:re,unstable_isNewReconciler:!1},cd={readContext:je,useCallback:function(e,t){return Ae().memoizedState=[e,t===void 0?null:t],e},useContext:je,useEffect:_o,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Lr(4194308,4,Ea.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Lr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Lr(4,2,e,t)},useMemo:function(e,t){var n=Ae();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ae();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=sd.bind(null,W,e),[r.memoizedState,e]},useRef:function(e){var t=Ae();return e={current:e},t.memoizedState=e},useState:Co,useDebugValue:Cu,useDeferredValue:function(e){return Ae().memoizedState=e},useTransition:function(){var e=Co(!1),t=e[0];return e=od.bind(null,e[1]),Ae().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=W,l=Ae();if(V){if(n===void 0)throw Error(w(407));n=n()}else{if(n=t(),b===null)throw Error(w(349));Ft&30||ma(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,_o(ga.bind(null,r,i,e),[e]),r.flags|=2048,er(9,va.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ae(),t=b.identifierPrefix;if(V){var n=Ye,r=Ke;n=(r&~(1<<32-Me(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=qn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Ve]=t,e[Gn]=r,Va(e,t,!1,!1),t.stateNode=e;e:{switch(u=si(n,r),n){case"dialog":$("cancel",e),$("close",e),l=r;break;case"iframe":case"object":case"embed":$("load",e),l=r;break;case"video":case"audio":for(l=0;lpn&&(t.flags|=128,r=!0,Cn(i,!1),t.lanes=4194304)}else{if(!r)if(e=qr(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Cn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!u.alternate&&!V)return le(t),null}else 2*Y()-i.renderingStartTime>pn&&n!==1073741824&&(t.flags|=128,r=!0,Cn(i,!1),t.lanes=4194304);i.isBackwards?(u.sibling=t.child,t.child=u):(n=i.last,n!==null?n.sibling=u:t.child=u,i.last=u)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Y(),t.sibling=null,n=H.current,I(H,r?n&1|2:n&1),t):(le(t),null);case 22:case 23:return Tu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ge&1073741824&&(le(t),t.subtreeFlags&6&&(t.flags|=8192)):le(t),null;case 24:return null;case 25:return null}throw Error(w(156,t.tag))}function yd(e,t){switch(cu(t),t.tag){case 1:return me(t.type)&&Qr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return fn(),U(he),U(ue),wu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yu(t),null;case 13:if(U(H),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(w(340));an()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(H),null;case 4:return fn(),null;case 10:return hu(t.type._context),null;case 22:case 23:return Tu(),null;case 24:return null;default:return null}}var kr=!1,ie=!1,wd=typeof WeakSet=="function"?WeakSet:Set,_=null;function qt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){K(e,t,r)}else n.current=null}function Mi(e,t,n){try{n()}catch(r){K(e,t,r)}}var Do=!1;function Sd(e,t){if(yi=Vr,e=Xs(),su(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,o=-1,s=-1,f=0,v=0,m=e,h=null;t:for(;;){for(var y;m!==n||l!==0&&m.nodeType!==3||(o=u+l),m!==i||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(y=m.firstChild)!==null;)h=m,m=y;for(;;){if(m===e)break t;if(h===n&&++f===l&&(o=u),h===i&&++v===r&&(s=u),(y=m.nextSibling)!==null)break;m=h,h=m.parentNode}m=y}n=o===-1||s===-1?null:{start:o,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(wi={focusedElem:e,selectionRange:n},Vr=!1,_=t;_!==null;)if(t=_,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,_=e;else for(;_!==null;){t=_;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var k=S.memoizedProps,x=S.memoizedState,c=t.stateNode,a=c.getSnapshotBeforeUpdate(t.elementType===t.type?k:Re(t.type,k),x);c.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(w(163))}}catch(g){K(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,_=e;break}_=t.return}return S=Do,Do=!1,S}function Dn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Mi(t,n,i)}l=l.next}while(l!==r)}}function ml(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Di(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Wa(e){var t=e.alternate;t!==null&&(e.alternate=null,Wa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ve],delete t[Gn],delete t[xi],delete t[nd],delete t[rd])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Qa(e){return e.tag===5||e.tag===3||e.tag===4}function Io(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Qa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ii(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Wr));else if(r!==4&&(e=e.child,e!==null))for(Ii(e,t,n),e=e.sibling;e!==null;)Ii(e,t,n),e=e.sibling}function $i(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for($i(e,t,n),e=e.sibling;e!==null;)$i(e,t,n),e=e.sibling}var ee=null,Oe=!1;function nt(e,t,n){for(n=n.child;n!==null;)Ka(e,t,n),n=n.sibling}function Ka(e,t,n){if(Be&&typeof Be.onCommitFiberUnmount=="function")try{Be.onCommitFiberUnmount(ol,n)}catch{}switch(n.tag){case 5:ie||qt(n,t);case 6:var r=ee,l=Oe;ee=null,nt(e,t,n),ee=r,Oe=l,ee!==null&&(Oe?(e=ee,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ee.removeChild(n.stateNode));break;case 18:ee!==null&&(Oe?(e=ee,n=n.stateNode,e.nodeType===8?Ul(e.parentNode,n):e.nodeType===1&&Ul(e,n),Wn(e)):Ul(ee,n.stateNode));break;case 4:r=ee,l=Oe,ee=n.stateNode.containerInfo,Oe=!0,nt(e,t,n),ee=r,Oe=l;break;case 0:case 11:case 14:case 15:if(!ie&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&Mi(n,t,u),l=l.next}while(l!==r)}nt(e,t,n);break;case 1:if(!ie&&(qt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){K(n,t,o)}nt(e,t,n);break;case 21:nt(e,t,n);break;case 22:n.mode&1?(ie=(r=ie)||n.memoizedState!==null,nt(e,t,n),ie=r):nt(e,t,n);break;default:nt(e,t,n)}}function $o(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new wd),t.forEach(function(r){var l=zd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Le(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=u),r&=~i}if(r=l,r=Y()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*xd(r/1960))-r,10e?16:e,st===null)var r=!1;else{if(e=st,st=null,rl=0,M&6)throw Error(w(331));var l=M;for(M|=4,_=e.current;_!==null;){var i=_,u=i.child;if(_.flags&16){var o=i.deletions;if(o!==null){for(var s=0;sY()-Pu?Tt(e,0):ju|=n),ve(e,t)}function ec(e,t){t===0&&(e.mode&1?(t=dr,dr<<=1,!(dr&130023424)&&(dr=4194304)):t=1);var n=ae();e=Je(e,t),e!==null&&(rr(e,t,n),ve(e,n))}function Pd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ec(e,n)}function zd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(w(314))}r!==null&&r.delete(t),ec(e,n)}var tc;tc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||he.current)pe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return pe=!1,vd(e,t,n);pe=!!(e.flags&131072)}else pe=!1,V&&t.flags&1048576&&ia(t,Xr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Rr(e,t),e=t.pendingProps;var l=sn(t,ue.current);ln(t,n),l=ku(null,t,r,e,l,n);var i=xu();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,me(r)?(i=!0,Kr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,vu(t),l.updater=hl,t.stateNode=l,l._reactInternals=t,Pi(t,r,e,n),t=Li(null,t,r,!0,i,n)):(t.tag=0,V&&i&&au(t),se(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Rr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Ld(r),e=Re(r,e),l){case 0:t=Ti(null,t,r,e,n);break e;case 1:t=Oo(null,t,r,e,n);break e;case 11:t=Lo(null,t,r,e,n);break e;case 14:t=Ro(null,t,r,Re(r.type,e),n);break e}throw Error(w(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Ti(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Oo(e,t,r,l,n);case 3:e:{if($a(t),e===null)throw Error(w(387));r=t.pendingProps,i=t.memoizedState,l=i.element,fa(e,t),Jr(t,r,null,n);var u=t.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=dn(Error(w(423)),t),t=Fo(e,t,r,n,l);break e}else if(r!==l){l=dn(Error(w(424)),t),t=Fo(e,t,r,n,l);break e}else for(ye=dt(t.stateNode.containerInfo.firstChild),we=t,V=!0,Fe=null,n=aa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(an(),r===l){t=qe(e,t,n);break e}se(e,t,r,n)}t=t.child}return t;case 5:return da(t),e===null&&_i(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,Si(r,l)?u=null:i!==null&&Si(r,i)&&(t.flags|=32),Ia(e,t),se(e,t,u,n),t.child;case 6:return e===null&&_i(t),null;case 13:return Ua(e,t,n);case 4:return gu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=cn(t,null,r,n):se(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Lo(e,t,r,l,n);case 7:return se(e,t,t.pendingProps,n),t.child;case 8:return se(e,t,t.pendingProps.children,n),t.child;case 12:return se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,u=l.value,I(Gr,r._currentValue),r._currentValue=u,i!==null)if(Ie(i.value,u)){if(i.children===l.children&&!he.current){t=qe(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=Xe(-1,n&-n),s.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?s.next=s:(s.next=v.next,v.next=s),f.pending=s}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Ni(i.return,n,t),o.lanes|=n;break}s=s.next}}else if(i.tag===10)u=i.type===t.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(w(341));u.lanes|=n,o=u.alternate,o!==null&&(o.lanes|=n),Ni(u,n,t),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===t){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}se(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,ln(t,n),l=je(l),r=r(l),t.flags|=1,se(e,t,r,n),t.child;case 14:return r=t.type,l=Re(r,t.pendingProps),l=Re(r.type,l),Ro(e,t,r,l,n);case 15:return Ma(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Re(r,l),Rr(e,t),t.tag=1,me(r)?(e=!0,Kr(t)):e=!1,ln(t,n),Ra(t,r,l),Pi(t,r,l,n),Li(null,t,r,!0,e,n);case 19:return Aa(e,t,n);case 22:return Da(e,t,n)}throw Error(w(156,t.tag))};function nc(e,t){return zs(e,t)}function Td(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,t,n,r){return new Td(e,t,n,r)}function Ru(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ld(e){if(typeof e=="function")return Ru(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ji)return 11;if(e===qi)return 14}return 2}function vt(e,t){var n=e.alternate;return n===null?(n=_e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Mr(e,t,n,r,l,i){var u=2;if(r=e,typeof e=="function")Ru(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case Ht:return Lt(n.children,l,i,t);case Zi:u=8,l|=8;break;case ql:return e=_e(12,n,t,l|2),e.elementType=ql,e.lanes=i,e;case bl:return e=_e(13,n,t,l),e.elementType=bl,e.lanes=i,e;case ei:return e=_e(19,n,t,l),e.elementType=ei,e.lanes=i,e;case ds:return gl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case cs:u=10;break e;case fs:u=9;break e;case Ji:u=11;break e;case qi:u=14;break e;case rt:u=16,r=null;break e}throw Error(w(130,e==null?e:typeof e,""))}return t=_e(u,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Lt(e,t,n,r){return e=_e(7,e,r,t),e.lanes=n,e}function gl(e,t,n,r){return e=_e(22,e,r,t),e.elementType=ds,e.lanes=n,e.stateNode={isHidden:!1},e}function Yl(e,t,n){return e=_e(6,e,null,t),e.lanes=n,e}function Xl(e,t,n){return t=_e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Rd(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pl(0),this.expirationTimes=Pl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ou(e,t,n,r,l,i,u,o,s){return e=new Rd(e,t,n,o,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_e(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},vu(i),e}function Od(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(uc)}catch(e){console.error(e)}}uc(),us.exports=ke;var $d=us.exports,oc,Ko=$d;oc=Ko.createRoot,Ko.hydrateRoot;async function xt(e){const t=await fetch(e);if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.json()}async function Ud(){return xt("/api/archives")}async function Ad(e){return xt(`/api/archives/${e}/entries`)}async function Vd(e,t,n){const r=new URLSearchParams;return t&&r.set("q",t),n&&r.set("tag",n),xt(`/api/archives/${e}/entries/search?${r}`)}async function Bd(e,t){return xt(`/api/archives/${e}/entries/${t}`)}async function Gl(e,t){return xt(`/api/archives/${e}/entries/${t}/tags`)}async function Hd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tag_path:n})});if(!r.ok)throw new Error(`Failed to add tag (${r.status})`)}async function Wd(e,t,n){const r=await fetch(`/api/archives/${e}/entries/${t}/tags/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Remove failed (${r.status})`)}async function Yo(e){return xt(`/api/archives/${e}/runs`)}async function Zl(e){return xt(`/api/archives/${e}/tags`)}async function Qd(e,t){const n=await fetch(`/api/archives/${e}/captures`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({locator:t})});if(!n.ok){const r=await n.json().catch(()=>({}));throw new Error(r.error||`HTTP ${n.status}`)}return n.json()}async function Kd(e,t){return xt(`/api/archives/${e}/capture_jobs/${t}`)}async function Yd(){return(await(await fetch("/api/auth/setup")).json()).setup_required===!0}async function Xd(e,t){const n=await fetch("/api/auth/setup",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Setup failed");return n.json()}async function Gd(e,t){const n=await fetch("/api/auth/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)throw new Error((await n.json()).error||"Login failed");return n.json()}async function Zd(){await fetch("/api/auth/logout",{method:"POST"})}async function Jd(){const e=await fetch("/api/auth/me");return e.status===401?null:e.json()}const qd=window.fetch;window.fetch=async(...e)=>{var n;const t=await qd(...e);return t.status===401&&((typeof e[0]=="string"?e[0]:((n=e[0])==null?void 0:n.url)??"").includes("/api/auth/")||window.dispatchEvent(new CustomEvent("auth:expired"))),t};function bd({onLogin:e}){const[t,n]=N.useState(""),[r,l]=N.useState(""),[i,u]=N.useState(null),[o,s]=N.useState(!1);async function f(v){v.preventDefault(),u(null),s(!0);try{const m=await Gd(t,r);e(m)}catch(m){u(m.message)}finally{s(!1)}}return p.jsxs("div",{className:"login-page",children:[p.jsx("h1",{children:"Archivr"}),p.jsxs("form",{onSubmit:f,children:[p.jsxs("label",{children:["Username",p.jsx("input",{type:"text",value:t,onChange:v=>n(v.target.value),autoFocus:!0,required:!0})]}),p.jsxs("label",{children:["Password",p.jsx("input",{type:"password",value:r,onChange:v=>l(v.target.value),required:!0})]}),i&&p.jsx("p",{className:"error",children:i}),p.jsx("button",{type:"submit",disabled:o,children:o?"Logging in…":"Log in"})]})]})}function ep({onComplete:e}){const[t,n]=N.useState(""),[r,l]=N.useState(""),[i,u]=N.useState(""),[o,s]=N.useState(null),[f,v]=N.useState(!1);async function m(h){if(h.preventDefault(),r!==i){s("Passwords do not match");return}if(r.length<8){s("Password must be at least 8 characters");return}s(null),v(!0);try{await Xd(t,r),e()}catch(y){s(y.message)}finally{v(!1)}}return p.jsxs("div",{className:"setup-page",children:[p.jsx("h1",{children:"Welcome to Archivr"}),p.jsx("p",{children:"Create your owner account to get started."}),p.jsxs("form",{onSubmit:m,children:[p.jsxs("label",{children:["Username",p.jsx("input",{type:"text",value:t,onChange:h=>n(h.target.value),autoFocus:!0,required:!0})]}),p.jsxs("label",{children:["Password",p.jsx("input",{type:"password",value:r,onChange:h=>l(h.target.value),required:!0})]}),p.jsxs("label",{children:["Confirm password",p.jsx("input",{type:"password",value:i,onChange:h=>u(h.target.value),required:!0})]}),o&&p.jsx("p",{className:"error",children:o}),p.jsx("button",{type:"submit",disabled:f,children:f?"Creating account…":"Create account"})]})]})}function tp({archives:e,archiveId:t,onArchiveChange:n,view:r,onViewChange:l,onCaptureClick:i}){const{currentUser:u,setCurrentUser:o}=N.useContext(fc)??{},[s,f]=N.useState(!1);async function v(){f(!0),await Zd(),o(null),window.location.reload()}return p.jsxs("header",{className:"topbar",children:[p.jsx("div",{className:"brand",children:"Archivr"}),p.jsx("select",{className:"archive-switcher","aria-label":"Select archive",value:t??"",onChange:m=>n(m.target.value),children:e.map(m=>p.jsx("option",{value:m.id,children:m.label},m.id))}),p.jsx("nav",{className:"nav","aria-label":"Primary",children:["archive","runs","admin","tags"].map(m=>p.jsx("button",{className:`nav-link${r===m?" is-active":""}`,onClick:()=>l(m),children:m.charAt(0).toUpperCase()+m.slice(1)},m))}),p.jsx("button",{className:"capture-button",onClick:i,children:"+ Capture"}),u&&p.jsxs("div",{className:"user-menu",children:[p.jsx("span",{className:"username",children:u.username}),p.jsx("button",{onClick:v,disabled:s,className:"logout-btn",children:s?"Logging out…":"Log out"})]})]})}function np({open:e,archiveId:t,onClose:n,onCaptured:r}){const l=N.useRef(null),[i,u]=N.useState(""),[o,s]=N.useState(null),[f,v]=N.useState(!1),[m,h]=N.useState(null),y=N.useRef(null);N.useEffect(()=>{const x=l.current;if(!x)return;const c=()=>{clearInterval(y.current),n()};return x.addEventListener("close",c),()=>x.removeEventListener("close",c)},[n]),N.useEffect(()=>{const x=l.current;x&&(e?(u(""),s(null),h(null),v(!1),clearInterval(y.current),x.open||x.showModal()):x.open&&x.close())},[e]);async function S(){if(!i.trim()){s("Enter a locator.");return}v(!0),s(null),h(null);try{const x=await Qd(t,i.trim());h("running"),y.current=setInterval(async()=>{var c;try{const a=await Kd(t,x.job_uid);a.status==="completed"?(clearInterval(y.current),y.current=null,v(!1),h("completed"),(c=l.current)==null||c.close(),r()):a.status==="failed"&&(clearInterval(y.current),y.current=null,v(!1),h("failed"),s(a.error_text||"Capture failed."))}catch(a){clearInterval(y.current),y.current=null,v(!1),s(a.message)}},500)}catch(x){s(x.message),v(!1)}}function k(){return f?m==="running"?"Running…":"Capturing…":"Capture"}return p.jsx("dialog",{ref:l,className:"capture-dialog",children:p.jsxs("div",{className:"capture-dialog-inner",children:[p.jsx("h2",{className:"capture-dialog-title",children:"Capture"}),p.jsx("label",{htmlFor:"capture-locator",className:"capture-label",children:"Locator"}),p.jsx("input",{id:"capture-locator",className:"capture-input",type:"text",placeholder:"tweet:1234567890 or https://...",value:i,onChange:x=>u(x.target.value),onKeyDown:x=>{x.key==="Enter"&&S()},autoComplete:"off"}),o&&p.jsx("div",{className:"capture-error",children:o}),p.jsxs("div",{className:"capture-actions",children:[p.jsx("button",{type:"button",className:"capture-cancel",onClick:()=>{var x;return(x=l.current)==null?void 0:x.close()},children:"Cancel"}),p.jsx("button",{type:"button",className:"capture-submit",onClick:S,disabled:f,children:k()})]})]})})}function sc(e){if(!e)return"0 B";const t=["B","KB","MB","GB"];let n=e,r=0;for(;n>=1024&&rString(r).padStart(2,"0");return`${t.getUTCFullYear()}-${n(t.getUTCMonth()+1)}-${n(t.getUTCDate())} ${n(t.getUTCHours())}:${n(t.getUTCMinutes())}`}const Xo={youtube:'',x:'',instagram:'',facebook:'',tiktok:'',reddit:'',snapchat:'',local:'',web:'',other:'?'};function rp(e){return Xo[e]??Xo.other}function lp({entry:e,archiveId:t,isSelected:n,onSelect:r}){const[l,i]=N.useState(!1),o=e.source_kind==="web"&&e.entity_kind==="page"&&e.has_favicon&&t&&!l?p.jsx("img",{src:`/api/archives/${t}/entries/${e.entry_uid}/favicon`,width:"16",height:"16",alt:"",onError:()=>i(!0),style:{objectFit:"contain"}}):p.jsx("span",{dangerouslySetInnerHTML:{__html:rp(e.source_kind)}});return p.jsxs("div",{className:n?"is-selected":void 0,tabIndex:0,"data-entry-uid":e.entry_uid,onClick:r,onKeyDown:s=>{s.key==="Enter"&&r()},children:[p.jsx("div",{className:"col-added",children:ac(e.archived_at)}),p.jsxs("div",{className:"col-title",children:[p.jsx("span",{className:"source-icon",children:o}),p.jsx("span",{className:"entry-title",children:zt(e.title)||zt(e.entry_uid)})]}),p.jsx("div",{className:"col-type",children:p.jsx("span",{className:"type-pill",children:zt(e.entity_kind)})}),p.jsx("div",{className:"col-size",children:sc(e.total_artifact_bytes)}),p.jsx("div",{className:"url-cell col-url",children:zt(e.original_url)})]})}function ip({entries:e,selectedEntryUid:t,onSelectEntry:n,archiveId:r}){return p.jsx("section",{id:"archive-view",className:"view is-active",children:p.jsxs("div",{className:"entry-table",children:[p.jsxs("div",{className:"entry-header-row",children:[p.jsx("div",{className:"col-added",children:"Added"}),p.jsx("div",{className:"col-title",children:"Title"}),p.jsx("div",{className:"col-type",children:"Type"}),p.jsx("div",{className:"col-size",children:"Size"}),p.jsx("div",{className:"col-url",children:"Original URL"})]}),p.jsx("div",{id:"entries-body",children:e.map(l=>p.jsx(lp,{entry:l,archiveId:r,isSelected:l.entry_uid===t,onSelect:()=>n(l)},l.entry_uid))})]})})}function up({runs:e}){return p.jsx("section",{id:"runs-view",className:"view is-active",children:p.jsxs("table",{className:"entry-table",children:[p.jsx("thead",{children:p.jsxs("tr",{children:[p.jsx("th",{children:"Started"}),p.jsx("th",{children:"Status"}),p.jsx("th",{children:"Requested"}),p.jsx("th",{children:"Completed"}),p.jsx("th",{children:"Failed"})]})}),p.jsx("tbody",{children:e.map((t,n)=>p.jsxs("tr",{children:[p.jsx("td",{children:t.started_at??""}),p.jsx("td",{children:t.status??""}),p.jsx("td",{children:t.requested_count??""}),p.jsx("td",{children:t.completed_count??""}),p.jsx("td",{children:t.failed_count??""})]},n))})]})})}function op({archives:e}){return p.jsxs("section",{id:"admin-view",className:"view admin-view is-active",children:[p.jsx("h1",{children:"Mounted Archives"}),p.jsx("div",{className:"admin-list",children:e.map(t=>p.jsxs("div",{className:"admin-archive",children:[p.jsx("strong",{children:t.label}),p.jsx("div",{className:"muted",children:t.archive_path})]},t.id))})]})}function cc({node:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){var u;const l=t===e.tag.full_path;function i(){const o=l?null:e.tag.full_path;n(o),r("archive")}return p.jsxs("li",{children:[p.jsx("button",{className:`tag-node-btn${l?" is-active":""}`,title:e.tag.full_path,onClick:i,children:e.tag.name}),((u=e.children)==null?void 0:u.length)>0&&p.jsx("div",{className:"tag-children",children:p.jsx("ul",{className:"tag-tree-list",children:e.children.map(o=>p.jsx(cc,{node:o,tagFilter:t,onTagFilterSet:n,onViewChange:r},o.tag.tag_uid))})})]})}function sp({tagNodes:e,tagFilter:t,onTagFilterSet:n,onViewChange:r}){return p.jsx("section",{id:"tags-view",className:"view is-active",children:p.jsx("div",{className:"tag-tree",children:e.length===0?p.jsx("div",{children:"No tags yet."}):p.jsx("ul",{className:"tag-tree-list",children:e.map(l=>p.jsx(cc,{node:l,tagFilter:t,onTagFilterSet:n,onViewChange:r},l.tag.tag_uid))})})})}function ap({archiveId:e,selectedEntry:t,onTagFilterSet:n,tagNodes:r,onTagsRefresh:l}){const[i,u]=N.useState(null),[o,s]=N.useState([]),[f,v]=N.useState(""),[m,h]=N.useState(""),y=N.useRef(0);N.useEffect(()=>{if(!t||!e){u(null),s([]);return}const x=++y.current;u(null),s([]),Promise.all([Bd(e,t.entry_uid),Gl(e,t.entry_uid)]).then(([c,a])=>{x===y.current&&(u(c),s(a))}).catch(()=>{})},[t,e]);async function S(){const x=f.trim();if(!(!x||!t))try{await Hd(e,t.entry_uid,x),v(""),h("");const c=await Gl(e,t.entry_uid);s(c),l()}catch(c){h(c.message)}}async function k(x){try{await Wd(e,t.entry_uid,x);const c=await Gl(e,t.entry_uid);s(c),l()}catch{}}return p.jsxs("aside",{className:"context-rail",children:[p.jsx("div",{className:"rail-title",children:"Context"}),t?i?p.jsxs("div",{className:"rail-body",children:[p.jsx("strong",{className:"rail-entry-title",children:zt(i.summary.title)||zt(i.summary.entry_uid)}),p.jsxs("div",{className:"rail-section",children:[i.summary.original_url&&p.jsxs("div",{className:"rail-item",children:[p.jsx("span",{className:"rail-label",children:"Original URL"}),":"," ",p.jsx("a",{href:i.summary.original_url,target:"_blank",rel:"noopener noreferrer",className:"rail-url-link",children:i.summary.original_url})]}),[["Added",ac(i.summary.archived_at)],["Source",i.summary.source_kind],["Type",i.summary.entity_kind],["Visibility",i.summary.visibility],["Structured root",i.structured_root_relpath]].map(([x,c])=>p.jsxs("div",{className:"rail-item",children:[p.jsx("span",{className:"rail-label",children:x}),": ",zt(c)]},x))]}),i.artifacts.length>0?p.jsxs("div",{className:"rail-section",children:[p.jsxs("div",{className:"rail-section-heading",children:["Artifacts (",i.artifacts.length,")"]}),p.jsx("ul",{className:"artifact-list",children:i.artifacts.map((x,c)=>p.jsx("li",{children:p.jsxs("a",{href:`/api/archives/${e}/entries/${i.summary.entry_uid}/artifacts/${c}`,target:"_blank",rel:"noopener noreferrer",className:"artifact-link",children:[x.artifact_role.replace(/_/g," "),x.byte_size!=null?` (${sc(x.byte_size)})`:""]})},c))})]}):p.jsx("div",{className:"rail-item muted",children:"No artifacts."})]}):p.jsx("div",{className:"rail-body",children:"Loading…"}):p.jsx("div",{className:"rail-body",children:"Select an entry."}),t&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"entry-tags",children:o.length===0?p.jsx("span",{className:"muted",children:"No tags."}):o.map(x=>p.jsxs("span",{className:"tag-pill",title:x.full_path,children:[x.name,p.jsx("button",{className:"remove-tag",title:`Remove tag ${x.full_path}`,onClick:()=>k(x.tag_uid),children:"×"})]},x.tag_uid))}),p.jsxs("div",{className:"assign-tag-form",children:[p.jsx("input",{className:"assign-tag-input",type:"text",placeholder:"/science/cs",autoComplete:"off",value:f,onChange:x=>v(x.target.value),onKeyDown:x=>{x.key==="Enter"&&S()}}),p.jsx("button",{className:"assign-tag-btn",onClick:S,children:"Add tag"}),m&&p.jsx("div",{className:"muted",style:{fontSize:"0.85em",color:"var(--accent)"},children:m})]})]})]})}const fc=N.createContext(null);function cp(){const[e,t]=N.useState("loading"),[n,r]=N.useState(null);N.useEffect(()=>{(async()=>{if(await Yd()){t("setup");return}const ze=await Jd();if(!ze){t("login");return}r(ze),t("authenticated")})()},[]),N.useEffect(()=>{const F=()=>{r(null),t("login")};return window.addEventListener("auth:expired",F),()=>window.removeEventListener("auth:expired",F)},[]);const[l,i]=N.useState([]),[u,o]=N.useState(null),[s,f]=N.useState([]),[v,m]=N.useState(null),[h,y]=N.useState(null),[S,k]=N.useState(null),[x,c]=N.useState("archive"),[a,d]=N.useState(""),[g,E]=N.useState(""),[j,P]=N.useState(!1),[z,A]=N.useState([]),[R,oe]=N.useState([]),[Et,et]=N.useState(!1),tt=N.useCallback(async(F,ze,$e)=>{if(F){P(!0);try{let Te;ze||$e?Te=await Vd(F,ze,$e):Te=await Ad(F),f(Te),E(Te.length===0?"No results":`${Te.length} result${Te.length===1?"":"s"}`)}catch{f([]),E("Search failed. Try again.")}finally{P(!1)}}},[]);N.useEffect(()=>{Ud().then(F=>{if(i(F),F.length>0){const ze=F[0].id;o(ze)}})},[]),N.useEffect(()=>{u&&(k(null),y(null),m(null),Promise.all([tt(u,"",null),Yo(u).then(A),Zl(u).then(oe)]))},[u]),N.useEffect(()=>{if(u===null)return;const F=setTimeout(()=>{tt(u,a,S)},300);return()=>clearTimeout(F)},[a,u]),N.useEffect(()=>{u!==null&&(c("archive"),tt(u,a,S))},[S,u]);const xl=N.useCallback(F=>{o(F)},[]),Ut=N.useCallback(F=>{c(F),F==="tags"&&u&&Zl(u).then(oe)},[u]),gn=N.useCallback(F=>{m(F?F.entry_uid:null),y(F)},[]),C=N.useCallback(F=>{k(F)},[]),T=N.useCallback(()=>{k(null)},[]),L=N.useCallback(()=>{u&&Zl(u).then(oe)},[u]),B=N.useCallback(()=>{et(!0)},[]),X=N.useCallback(()=>{et(!1)},[]),At=N.useCallback(()=>{u&&Promise.all([tt(u,a,S),Yo(u).then(A)])},[u,a,S,tt]);return e==="loading"?p.jsx("div",{className:"auth-loading",children:"Loading\\u2026"}):e==="setup"?p.jsx(ep,{onComplete:()=>t("login")}):e==="login"?p.jsx(bd,{onLogin:F=>{r(F),t("authenticated")}}):p.jsx(fc.Provider,{value:{currentUser:n,setCurrentUser:r},children:p.jsxs(p.Fragment,{children:[p.jsx(tp,{archives:l,archiveId:u,onArchiveChange:xl,view:x,onViewChange:Ut,onCaptureClick:B}),p.jsxs("main",{className:"app-shell",children:[p.jsxs("div",{className:"workspace",children:[x==="archive"&&p.jsxs("div",{className:"search-row",children:[p.jsx("input",{className:"search-input",type:"search","aria-label":"Search archive","aria-busy":j,value:a,onChange:F=>d(F.target.value)}),p.jsxs("div",{className:"result-count",children:[g,S&&p.jsxs("button",{className:"tag-filter-badge",onClick:T,children:["× ",S]})]})]}),x==="archive"&&p.jsx(ip,{entries:s,selectedEntryUid:v,onSelectEntry:gn,archiveId:u,tagFilter:S,onClearTagFilter:T,searchQuery:a,onSearchChange:d,resultCount:g,searchBusy:j}),x==="runs"&&p.jsx(up,{runs:z}),x==="admin"&&p.jsx(op,{archives:l}),x==="tags"&&p.jsx(sp,{tagNodes:R,tagFilter:S,onTagFilterSet:C,onViewChange:Ut})]}),p.jsx(ap,{archiveId:u,selectedEntry:h,onTagFilterSet:C,tagNodes:R,onTagsRefresh:L})]}),p.jsx(np,{open:Et,archiveId:u,onClose:X,onCaptured:At})]})})}oc(document.getElementById("root")).render(p.jsx(N.StrictMode,{children:p.jsx(cp,{})})); diff --git a/crates/archivr-server/static/assets/index-MrdP6h9x.css b/crates/archivr-server/static/assets/index-MrdP6h9x.css new file mode 100644 index 0000000..5e9ef16 --- /dev/null +++ b/crates/archivr-server/static/assets/index-MrdP6h9x.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Spectral:wght@500;600&display=swap";:root{color-scheme:light;--ink: #20251f;--muted: #6b6f66;--muted-2: #8a8d83;--paper: #f5f0e7;--paper-2: #e9e1d2;--paper-3: #fffaf0;--line: #d2c6b5;--line-soft: #e5dccd;--accent: #8d3f30;--accent-2: #b78342;--link: #245f72;--top: #141d18;--field: #fffdf7;--r: 3px;--r2: 6px;--r3: 10px;--sans: "Helvetica Neue", Helvetica, Arial, sans-serif;--serif: "Spectral", Georgia, "Times New Roman", serif;--display: "Cormorant Garamond", Georgia, serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}.workspace,.context-rail{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.workspace::-webkit-scrollbar,.context-rail::-webkit-scrollbar{width:11px;height:11px}.workspace::-webkit-scrollbar-track,.context-rail::-webkit-scrollbar-track{background:transparent}.workspace::-webkit-scrollbar-thumb,.context-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:3px solid transparent;background-clip:padding-box}.workspace::-webkit-scrollbar-thumb:hover,.context-rail::-webkit-scrollbar-thumb:hover{background:var(--muted-2);background-clip:padding-box;border:3px solid transparent}.topbar{height:58px;display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:26px;padding:0 22px;background:var(--top);color:#efe6d6;border-bottom:3px solid var(--accent)}.brand{font-family:var(--display);font-weight:600;font-size:30px;line-height:1;letter-spacing:.01em;color:#f4ead8}.switcher{position:relative;display:inline-flex;align-items:center}.switcher select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid rgba(247,238,223,.2);background:#f7eedf0f;color:#f1e8d8;font-family:var(--sans);font-weight:550;font-size:13.5px;letter-spacing:.04em;padding:8px 32px 8px 15px;cursor:pointer;border-radius:6px;transition:background .15s ease,border-color .15s ease}.switcher select:hover{background:#f7eedf1c;border-color:#f7eedf57}.switcher:after{content:"";position:absolute;right:15px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.2px solid #b6ab98;border-bottom:1.2px solid #b6ab98;transform:rotate(45deg);pointer-events:none}.nav{display:flex;gap:22px;justify-content:flex-end;min-width:0}.nav-link{border:0;background:transparent;color:#cdc1ad;cursor:pointer;padding:6px 0;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;position:relative}.nav-link:hover,.nav-link.is-active{color:#f4ead8}.nav-link.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent-2)}.capture-button{display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden;border:0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff) 0%,var(--accent) 55%);color:#f7eddd;padding:10px 18px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border-radius:var(--r);box-shadow:inset 0 1px #fff5e629,0 1px 2px #141d184d;transition:filter .18s ease,box-shadow .18s ease}.capture-button:hover{filter:brightness(.93);box-shadow:inset 0 1px #fff5e61f,0 2px 6px #141d1857}.capture-button:before{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,transparent 0%,rgba(255,246,232,.45) 50%,transparent 100%);transform:translate(-180%) skew(-18deg);pointer-events:none}@media (prefers-reduced-motion: no-preference){.capture-button:hover:before{animation:cap-sheen .7s ease}}@keyframes cap-sheen{0%{transform:translate(-180%) skew(-18deg)}to{transform:translate(340%) skew(-18deg)}}.app-shell{height:calc(100vh - 58px);display:grid;grid-template-columns:minmax(0,1fr) 340px}.workspace{min-width:0;overflow:auto;display:flex;flex-direction:column}.view{display:none}.view.is-active{display:block}.toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:16px;padding:12px 22px;background:color-mix(in srgb,var(--paper) 88%,white);border-bottom:1px solid var(--line-soft)}.search-field{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;height:42px;background:var(--field);border:1px solid var(--line);border-radius:20px;transition:border-color .15s ease,box-shadow .15s ease}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.search-field .ico{display:grid;place-items:center;width:46px;height:100%;color:var(--muted-2);flex-shrink:0}.search-field .ico svg{width:16px;height:16px}.search-input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--ink);padding:0 6px 0 0;font-size:14px;letter-spacing:.01em;outline:none}.search-input::placeholder{color:var(--muted-2)}.search-field .kbd{margin-right:12px;display:inline-flex;align-items:center;padding:3px 7px;font-size:11px;color:var(--muted);background:var(--paper-2);border:1px solid var(--line-soft);border-radius:var(--r);flex-shrink:0}.result-count{flex-shrink:0;font-size:13px;color:var(--muted);letter-spacing:.02em;white-space:nowrap}.result-count b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.tag-filter-badge{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;border:0;border-radius:var(--r);font-size:12px;padding:2px 8px;cursor:pointer;margin-left:8px}.tag-filter-badge:hover{opacity:.85}.entry-table{width:100%;font-size:12.5px}.entry-header-row{display:flex;align-items:stretch;position:sticky;top:67px;z-index:2;background:color-mix(in srgb,var(--paper) 92%,white);border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}.entry-header-row>div{padding:9px 10px;flex-shrink:0;font-weight:600;display:flex;align-items:center}#entries-body>div{display:flex;align-items:center;cursor:default;border-bottom:1px solid var(--line-soft)}#entries-body>div>div{padding:7px 10px;flex-shrink:0;overflow:hidden}#entries-body>div:nth-child(2n){background:#f2ede5}#entries-body>div:nth-child(odd){background:var(--paper-3)}#entries-body>div.is-selected{background:#eee2d2;outline:2px solid var(--accent);outline-offset:-2px}.col-added{width:162px;color:var(--muted)}.col-title{flex:1 1 0;min-width:0;overflow:hidden;display:flex;align-items:center;gap:.42em}.col-type{width:116px}.col-size{width:96px}.col-url{flex:0 0 30%;min-width:0;overflow:hidden}.entry-header-row>div:first-child,#entries-body>div>div:first-child{padding-left:22px}.entry-header-row>div:last-child,#entries-body>div>div:last-child{padding-right:22px}.entry-title{color:var(--link);font-weight:700;min-width:0}.entry-header-row>div{padding:9px 10px;flex-shrink:0;font-weight:600}.source-icon{display:flex;align-items:center;justify-content:center;width:1.05em;height:1.05em;flex-shrink:0}.source-icon>*{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.source-icon svg{width:100%;height:100%}.url-cell{color:#555b55;word-break:break-all}.type-pill{display:inline-block;padding:2px 6px;background:#d8e3df;color:#275a5f;border:1px solid #bfd0ca;border-radius:var(--r)}#runs-view .entry-table{border-collapse:collapse;table-layout:auto}#runs-view .entry-table th{position:sticky;top:0;z-index:1;text-align:left;padding:10px;background:color-mix(in srgb,var(--paper) 92%,white);color:var(--muted);border-bottom:1px solid var(--line-soft);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}#runs-view .entry-table td{padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:top}#runs-view .entry-table tr:nth-child(2n) td{background:#f2ede5}#runs-view .entry-table tr:nth-child(odd) td{background:var(--paper-3)}.context-rail{border-left:1px solid var(--line);background:var(--paper);padding:20px 20px 32px;overflow:auto}.rail-eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-bottom:16px}.rail-title{display:block;font-family:var(--sans);font-weight:700;font-size:15.5px;line-height:1.4;color:var(--ink);margin:0 0 16px;word-break:break-word}.url-tile{display:flex;align-items:center;gap:9px;padding:10px 12px;background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r3);margin-bottom:20px;text-decoration:none}.url-tile:hover{background:var(--field);border-color:var(--accent)}.url-tile .ico{color:var(--ink);flex-shrink:0;display:grid;place-items:center}.url-tile .ico svg{width:15px;height:15px}.url-tile .u-text{min-width:0;flex:1;font-size:12.5px;color:var(--link);font-family:ui-monospace,SF Mono,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.url-tile .ext{color:var(--muted-2);flex-shrink:0}.url-tile .ext svg{width:13px;height:13px;display:block}.meta-list{margin-bottom:24px;border-top:1px solid var(--line-soft)}.meta-item{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line-soft)}.meta-k{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2)}.meta-v{font-size:13.5px;color:var(--ink);word-break:break-word;line-height:1.4}.meta-v.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--muted)}.rail-section{margin-bottom:24px}.rail-section-heading{display:flex;align-items:baseline;gap:8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-2);margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid var(--line)}.rail-section-heading .num{color:var(--muted-2);font-weight:600}.artifact-list{list-style:none;margin:0;padding:0}.artifact-link{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid var(--line-soft);text-decoration:none}.artifact-link:last-child{border-bottom:0}.artifact-name{font-size:13px;color:var(--link);min-width:0;word-break:break-word}.artifact-link:hover .artifact-name{text-decoration:underline}.artifact-size{font-size:11.5px;color:var(--muted-2);flex-shrink:0;font-variant-numeric:tabular-nums}.tags-wrap{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.tag-pill{display:inline-flex;align-items:center;gap:7px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);font-size:12px;padding:4px 7px 4px 10px;color:var(--ink)}.tag-pill .remove{border:0;background:transparent;cursor:pointer;color:var(--muted-2);width:15px;height:15px;display:grid;place-items:center;font-size:13px;line-height:1}.tag-pill .remove:hover{color:var(--accent)}.tags-empty{font-size:13px;color:var(--muted);margin:0 0 11px}.tag-input-wrap{display:flex;align-items:center;gap:8px;background:var(--field);border:1px solid var(--line);border-radius:var(--r2);padding:2px 2px 2px 11px;transition:border-color .15s ease,box-shadow .15s ease}.tag-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.tag-input-wrap .hash{color:var(--muted-2);font-size:13px}.tag-input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-size:13px;padding:6px 0;outline:none;font-family:ui-monospace,SF Mono,Menlo,monospace}.tag-add-btn{border:0;background:var(--ink);color:var(--paper-3);padding:6px 13px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r);cursor:pointer;white-space:nowrap}.tag-add-btn:hover{background:#2c332b}.coll-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;background:var(--field);border:1px solid var(--line);border-radius:var(--r2);margin-bottom:6px;transition:border-color .15s ease}.coll-row:hover{border-color:var(--accent)}.coll-name{font-size:13px;color:var(--ink);font-weight:500}.vis-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);background:var(--paper-2);border:1px solid var(--line-soft);border-radius:999px;padding:3px 10px}.vis-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-2)}.capture-dialog{border:1px solid var(--line);background:var(--paper);padding:0;min-width:360px;max-width:520px;border-radius:var(--r3);box-shadow:0 20px 60px #141d1847}.capture-dialog::backdrop{background:#141d1873}.capture-dialog-inner{padding:28px}.capture-dialog-title{margin:0 0 16px;font-size:22px;font-family:var(--display);font-weight:600}.capture-label{display:block;font-size:11px;font-weight:600;margin-bottom:6px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em}.capture-input{width:100%;height:44px;border:1px solid var(--line);background:var(--field);color:var(--ink);padding:0 14px;font-size:15px;margin-bottom:10px;border-radius:var(--r2);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.capture-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.form-field .capture-input{margin-bottom:0}.capture-error{color:var(--accent);font-size:13px;margin-bottom:10px;min-height:18px}.capture-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.capture-cancel{border:1px solid var(--line);background:none;color:var(--ink);padding:8px 18px;border-radius:var(--r);cursor:pointer}.capture-cancel:hover{background:var(--paper-2)}.capture-submit{border:0;background:var(--ink);color:var(--paper);padding:8px 20px;border-radius:var(--r);cursor:pointer;font-weight:600}.capture-submit:hover{opacity:.85}.capture-submit:disabled{opacity:.45;cursor:default}.muted{color:var(--muted)}.admin-view{padding:22px}.admin-list{display:grid;gap:10px;max-width:780px}.admin-archive{border:1px solid var(--line);background:var(--paper-3);padding:12px;border-radius:var(--r2)}.tag-tree{padding:20px 22px;max-width:320px}.tag-tree-header{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;border-bottom:1px solid var(--line-soft);padding-bottom:10px}.tag-tree-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.tag-tree-active{font-size:12px;color:var(--muted-2);font-style:italic}.tag-tree-list{list-style:none;margin:0;padding:0}.tag-children{padding-left:16px}.tag-node-btn{border:0;background:transparent;color:var(--link);cursor:pointer;padding:3px 0;text-align:left;font-size:13px;display:block;width:100%}.tag-node-btn:hover{text-decoration:underline}.tag-node-btn.is-active{font-weight:600;color:var(--ink)}.collections-view{padding:24px}.collections-heading{margin:0 0 16px;font-size:22px;font-family:var(--display);font-weight:600}.collections-error{color:var(--accent);font-size:13px;margin-bottom:8px}.coll-dismiss{background:none;border:none;cursor:pointer;color:var(--accent);font-size:16px;line-height:1;padding:0 4px}.collections-layout{display:grid;grid-template-columns:220px 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r2);min-height:340px}.collections-sidebar{border-right:1px solid var(--line);overflow-y:auto}.coll-sidebar-row{display:flex;flex-direction:column;width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--line-soft);background:none;cursor:pointer;text-align:left;gap:2px}.coll-sidebar-row:hover{background:var(--paper-2)}.coll-sidebar-row.is-active{background:var(--paper-2);border-left:3px solid var(--accent)}.coll-row-name{font-size:14px;font-weight:600;color:var(--ink)}.coll-row-meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.coll-detail{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.coll-detail--empty{justify-content:center;align-items:center}.coll-detail-header{display:flex;align-items:center;gap:12px}.coll-detail-name{margin:0;font-size:18px;font-family:var(--display);font-weight:600;flex:1}.coll-detail-name--editable{cursor:pointer}.coll-detail-name--editable:hover{color:var(--link)}.coll-edit-hint{font-size:14px;opacity:.5;margin-left:4px}.coll-rename-input{flex:1;font-size:16px;font-family:var(--display);border:1px solid var(--line);padding:4px 8px;background:var(--field);color:var(--ink);border-radius:var(--r)}.coll-delete-btn{border:1px solid var(--accent);background:none;color:var(--accent);padding:5px 12px;font-size:13px;cursor:pointer;border-radius:var(--r)}.coll-delete-btn:hover{background:var(--accent);color:var(--paper)}.coll-detail-vis{display:flex;align-items:center;gap:10px}.coll-vis-label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.coll-vis-select{border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:4px 8px;font-size:13px;border-radius:var(--r)}.coll-section-heading{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.coll-entries-section{flex:1}.coll-entries-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.coll-entry-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft)}.coll-entry-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.coll-entry-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coll-entry-kind{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.coll-entry-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.coll-entry-vis-select{border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:3px 6px;font-size:12px;border-radius:var(--r)}.coll-entry-remove{border:none;background:none;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;padding:0 4px}.coll-entry-remove:hover{color:var(--accent)}.coll-add-entry-form{border-top:1px solid var(--line-soft);padding-top:12px}.coll-add-entry-row{display:flex;gap:8px;align-items:center}.coll-add-entry-input{flex:1;border:1px solid var(--line);background:var(--paper-3);color:var(--ink);padding:6px 10px;font-size:13px;min-width:0;border-radius:var(--r)}.coll-add-btn{border:none;background:var(--ink);color:var(--paper);padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;border-radius:var(--r)}.coll-add-btn:hover{opacity:.85}.coll-add-btn:disabled{opacity:.45;cursor:default}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;background:var(--paper)}.user-menu{display:flex;align-items:center;gap:14px;padding-left:6px;flex-shrink:0}.user-name{font-size:12.5px;color:var(--muted-2);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.logout-btn{border:1px solid rgba(255,255,255,.18);background:transparent;color:#c8bfb0;font-size:12px;padding:4px 11px;border-radius:var(--r);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.logout-btn:hover{background:#ffffff1a;color:var(--paper)}.logout-btn:disabled{opacity:.5;cursor:default}.login-page,.setup-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper)}.login-card,.setup-card{width:100%;max-width:360px;padding:40px 36px 44px;background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r3);box-shadow:0 2px 20px #141d1812}.login-brand,.setup-brand{font-family:var(--display);font-size:32px;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:0 0 6px}.login-tagline,.setup-tagline{font-size:13px;color:var(--muted);margin:0 0 28px}.login-field,.setup-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.login-label,.setup-label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.login-input,.setup-input{width:100%;border:1px solid var(--line);background:var(--field);color:var(--ink);padding:9px 11px;font-size:14px;border-radius:var(--r2);outline:none;transition:border-color .15s}.login-input:focus,.setup-input:focus{border-color:var(--accent)}.login-error,.setup-error{font-size:13px;color:var(--accent);margin:4px 0 8px}.login-submit,.setup-submit{width:100%;margin-top:8px;border:none;background:var(--top);color:var(--paper);font-size:14px;font-weight:600;padding:11px 16px;border-radius:var(--r2);cursor:pointer;letter-spacing:.02em;transition:opacity .15s}.login-submit:hover,.setup-submit:hover{opacity:.85}.login-submit:disabled,.setup-submit:disabled{opacity:.45;cursor:default}.view-tabs{display:flex;gap:2px;margin-bottom:22px;border-bottom:1px solid var(--line-soft);padding-bottom:0}.view-tab{border:none;background:none;color:var(--muted);font-size:13px;font-weight:600;padding:7px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:.02em;transition:color .12s;text-transform:uppercase;letter-spacing:.06em;font-size:11.5px}.view-tab:hover{color:var(--ink)}.view-tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.form-section{margin-bottom:32px}.form-section h2{font-size:14px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px}.form-row{display:flex;gap:8px;margin-bottom:10px}.form-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.form-label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.field-input{border:1px solid var(--line);background:var(--field);color:var(--ink);padding:8px 10px;font-size:13.5px;border-radius:var(--r);outline:none;transition:border-color .15s;min-width:0}.field-input:focus{border-color:var(--accent)}.field-input--flex{flex:1}.form-msg{font-size:13px;margin:6px 0}.form-msg--ok{color:var(--link)}.form-msg--err{color:var(--accent)}.btn-primary{border:none;background:var(--top);color:var(--paper);font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--r);cursor:pointer;white-space:nowrap}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{border:1px solid var(--line);background:none;color:var(--ink);font-size:13px;padding:7px 14px;border-radius:var(--r);cursor:pointer}.btn-ghost:hover{background:var(--paper-2)}.btn-danger{border:1px solid var(--accent);background:none;color:var(--accent);font-size:13px;padding:7px 14px;border-radius:var(--r);cursor:pointer}.btn-danger:hover{background:var(--accent);color:var(--paper)}.admin-view h1{font-family:var(--display);font-weight:600;font-size:26px;margin:0 0 20px}.admin-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:28px}.admin-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);background:var(--paper-2)}.admin-table th:first-child{padding-left:16px}.admin-table td{padding:9px 10px;border-bottom:1px solid var(--line-soft);color:var(--ink);vertical-align:middle}.admin-table td:first-child{padding-left:16px}.admin-table tr:hover td{background:var(--paper-2)}.admin-row-disabled td{opacity:.45}.admin-section{margin-bottom:36px;max-width:860px}.admin-section h2{font-size:14px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px}.admin-section h3{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:22px 0 10px}.admin-form{display:flex;flex-direction:column;gap:8px;max-width:480px}.admin-input{border:1px solid var(--line);background:var(--field);color:var(--ink);padding:8px 10px;font-size:13.5px;border-radius:var(--r);outline:none;transition:border-color .15s}.admin-input:focus{border-color:var(--accent)}.admin-action-btn{border:1px solid var(--line);background:none;color:var(--ink);font-size:12px;padding:4px 10px;border-radius:var(--r);cursor:pointer;white-space:nowrap}.admin-action-btn:hover{border-color:var(--accent);color:var(--accent)}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--r);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-active{background:#d8eddf;color:#235c35;border:1px solid #b4d9be}.status-disabled{background:#ede8e0;color:var(--muted);border:1px solid var(--line)}.run-status{display:inline-block;padding:2px 8px;border-radius:var(--r);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.run-status--completed{background:#d8eddf;color:#235c35;border:1px solid #b4d9be}.run-status--failed{background:#f5ddd8;color:#8d3f30;border:1px solid #e0b8b0}.run-status--running{background:#dde8f5;color:#245f72;border:1px solid #b8cde0}.token-banner{background:#d8eddf;border:1px solid #b4d9be;padding:12px 14px;margin-bottom:16px;font-size:13px;border-radius:var(--r2)}.token-banner code{word-break:break-all;display:block;margin-top:6px;padding:6px 8px;background:var(--field);border:1px solid var(--line);border-radius:var(--r);font-size:12px;font-family:ui-monospace,SF Mono,Menlo,monospace}.token-dismiss{margin-top:8px;font-size:12px;border:1px solid var(--line);background:none;cursor:pointer;padding:3px 8px;border-radius:var(--r);color:var(--muted)}.token-dismiss:hover{background:var(--paper-2)}.token-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--paper-3);padding:10px 12px;border-radius:var(--r);margin-bottom:6px}.token-row-info strong{font-size:14px;display:block}.token-row-info .muted{font-size:12px;margin-top:2px}.token-create-row{display:flex;gap:8px;margin-bottom:16px}.checkbox-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;cursor:pointer;font-size:14px}.checkbox-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}.coll-create-details{margin-top:16px}.coll-create-details summary{font-weight:600;cursor:pointer;font-size:13px;color:var(--link);list-style:none;display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line-soft);border-radius:var(--r2);background:var(--paper-3);width:fit-content}.coll-create-details summary:hover{background:var(--paper-2)}.coll-create-details[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.coll-create-form{border:1px solid var(--line-soft);border-top:none;padding:14px;border-radius:0 0 var(--r2) var(--r2);background:var(--paper-3);display:flex;flex-direction:column;gap:10px;max-width:440px}@media (max-width: 900px){.topbar{grid-template-columns:1fr auto;height:auto;min-height:58px;padding:12px}.switcher,.nav{grid-column:1 / -1}.nav{justify-content:flex-start;overflow-x:auto}.app-shell{height:auto;grid-template-columns:1fr}.context-rail{border-left:0;border-top:1px solid var(--line)}.entry-table{min-width:860px}} diff --git a/crates/archivr-server/static/index.html b/crates/archivr-server/static/index.html index 5d3d3d6..25acac9 100644 --- a/crates/archivr-server/static/index.html +++ b/crates/archivr-server/static/index.html @@ -4,8 +4,8 @@ Archivr - - + +
diff --git a/frontend/src/components/AdminView.jsx b/frontend/src/components/AdminView.jsx index 7abd8b2..acddb02 100644 --- a/frontend/src/components/AdminView.jsx +++ b/frontend/src/components/AdminView.jsx @@ -114,13 +114,13 @@ export default function AdminView({ archives }) {

Admin

-
- - - +
+ + +
- {error &&
{error}
} + {error &&
{error}
} {tab === 'users' && (
@@ -156,9 +156,9 @@ export default function AdminView({ archives }) { value={newPassword} onChange={e => setNewPassword(e.target.value)} required /> setNewEmail(e.target.value)} /> - {createError &&
{createError}
} -
@@ -192,9 +192,9 @@ export default function AdminView({ archives }) { onChange={e => setNewRoleSlug(e.target.value)} required /> setNewRoleName(e.target.value)} required /> - {roleCreateError &&
{roleCreateError}
} -
diff --git a/frontend/src/components/CollectionsView.jsx b/frontend/src/components/CollectionsView.jsx index b769001..fc92c48 100644 --- a/frontend/src/components/CollectionsView.jsx +++ b/frontend/src/components/CollectionsView.jsx @@ -324,40 +324,43 @@ export default function CollectionsView({ archiveId }) { {/* Create form */} -
- Create collection -
-