@clef-sh/ui 0.1.20 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/index-DPWHjBbB.js +34 -0
- package/dist/client/assets/index-qsLTYpc9.css +2 -0
- package/dist/client/clef.svg +2 -0
- package/dist/client/index.html +3 -31
- package/dist/client-lib/components/Button.d.ts +1 -1
- package/dist/client-lib/components/Button.d.ts.map +1 -1
- package/dist/client-lib/components/CopyButton.d.ts.map +1 -1
- package/dist/client-lib/components/EnvBadge.d.ts.map +1 -1
- package/dist/client-lib/components/MatrixGrid.d.ts.map +1 -1
- package/dist/client-lib/components/Sidebar.d.ts +1 -1
- package/dist/client-lib/components/Sidebar.d.ts.map +1 -1
- package/dist/client-lib/components/StatusDot.d.ts.map +1 -1
- package/dist/client-lib/components/SyncPanel.d.ts.map +1 -1
- package/dist/client-lib/components/TopBar.d.ts +6 -0
- package/dist/client-lib/components/TopBar.d.ts.map +1 -1
- package/dist/client-lib/primitives/Badge.d.ts +11 -0
- package/dist/client-lib/primitives/Badge.d.ts.map +1 -0
- package/dist/client-lib/primitives/Card.d.ts +28 -0
- package/dist/client-lib/primitives/Card.d.ts.map +1 -0
- package/dist/client-lib/primitives/Dialog.d.ts +30 -0
- package/dist/client-lib/primitives/Dialog.d.ts.map +1 -0
- package/dist/client-lib/primitives/EmptyState.d.ts +10 -0
- package/dist/client-lib/primitives/EmptyState.d.ts.map +1 -0
- package/dist/client-lib/primitives/Field.d.ts +36 -0
- package/dist/client-lib/primitives/Field.d.ts.map +1 -0
- package/dist/client-lib/primitives/Input.d.ts +6 -0
- package/dist/client-lib/primitives/Input.d.ts.map +1 -0
- package/dist/client-lib/primitives/Stat.d.ts +11 -0
- package/dist/client-lib/primitives/Stat.d.ts.map +1 -0
- package/dist/client-lib/primitives/Table.d.ts +37 -0
- package/dist/client-lib/primitives/Table.d.ts.map +1 -0
- package/dist/client-lib/primitives/Tabs.d.ts +29 -0
- package/dist/client-lib/primitives/Tabs.d.ts.map +1 -0
- package/dist/client-lib/primitives/Toast.d.ts +16 -0
- package/dist/client-lib/primitives/Toast.d.ts.map +1 -0
- package/dist/client-lib/primitives/Toolbar.d.ts +29 -0
- package/dist/client-lib/primitives/Toolbar.d.ts.map +1 -0
- package/dist/client-lib/primitives/index.d.ts +23 -0
- package/dist/client-lib/primitives/index.d.ts.map +1 -0
- package/dist/client-lib/theme.d.ts +18 -41
- package/dist/client-lib/theme.d.ts.map +1 -1
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +215 -0
- package/dist/server/api.js.map +1 -1
- package/dist/server/envelope.d.ts +15 -0
- package/dist/server/envelope.d.ts.map +1 -0
- package/dist/server/envelope.js +310 -0
- package/dist/server/envelope.js.map +1 -0
- package/package.json +7 -2
- package/src/client/App.tsx +16 -41
- package/src/client/components/Button.tsx +13 -22
- package/src/client/components/CopyButton.tsx +5 -12
- package/src/client/components/EnvBadge.tsx +30 -15
- package/src/client/components/MatrixGrid.tsx +108 -252
- package/src/client/components/Sidebar.tsx +123 -199
- package/src/client/components/StatusDot.tsx +10 -15
- package/src/client/components/SyncPanel.tsx +14 -62
- package/src/client/components/TopBar.tsx +11 -36
- package/src/client/index.html +1 -30
- package/src/client/main.tsx +1 -0
- package/src/client/primitives/Badge.test.tsx +47 -0
- package/src/client/primitives/Badge.tsx +64 -0
- package/src/client/primitives/Card.test.tsx +50 -0
- package/src/client/primitives/Card.tsx +85 -0
- package/src/client/primitives/Dialog.test.tsx +55 -0
- package/src/client/primitives/Dialog.tsx +96 -0
- package/src/client/primitives/EmptyState.test.tsx +25 -0
- package/src/client/primitives/EmptyState.tsx +38 -0
- package/src/client/primitives/Field.test.tsx +46 -0
- package/src/client/primitives/Field.tsx +95 -0
- package/src/client/primitives/Input.tsx +26 -0
- package/src/client/primitives/Stat.test.tsx +32 -0
- package/src/client/primitives/Stat.tsx +52 -0
- package/src/client/primitives/Table.test.tsx +58 -0
- package/src/client/primitives/Table.tsx +113 -0
- package/src/client/primitives/Tabs.test.tsx +44 -0
- package/src/client/primitives/Tabs.tsx +100 -0
- package/src/client/primitives/Toast.test.tsx +77 -0
- package/src/client/primitives/Toast.tsx +89 -0
- package/src/client/primitives/Toolbar.test.tsx +50 -0
- package/src/client/primitives/Toolbar.tsx +86 -0
- package/src/client/primitives/index.ts +43 -0
- package/src/client/public/clef.svg +2 -0
- package/src/client/screens/BackendScreen.tsx +104 -363
- package/src/client/screens/DiffView.tsx +187 -378
- package/src/client/screens/EnvelopeScreen.test.tsx +542 -0
- package/src/client/screens/EnvelopeScreen.tsx +948 -0
- package/src/client/screens/GitLogView.tsx +48 -106
- package/src/client/screens/ImportScreen.tsx +105 -308
- package/src/client/screens/LintView.tsx +184 -379
- package/src/client/screens/ManifestScreen.tsx +283 -445
- package/src/client/screens/MatrixView.tsx +75 -91
- package/src/client/screens/NamespaceEditor.tsx +234 -609
- package/src/client/screens/PolicyView.tsx +183 -453
- package/src/client/screens/RecipientsScreen.tsx +71 -350
- package/src/client/screens/ResetScreen.tsx +67 -237
- package/src/client/screens/ScanScreen.tsx +85 -249
- package/src/client/screens/SchemaEditor.test.tsx +237 -0
- package/src/client/screens/SchemaEditor.tsx +435 -0
- package/src/client/screens/ServiceIdentitiesScreen.tsx +251 -788
- package/src/client/styles.css +77 -0
- package/src/client/theme.ts +27 -48
- package/dist/client/assets/index-Db6WgHgY.js +0 -38
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.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`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function E(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function ee(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+A(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(k,`$&/`)+`/`),ee(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=E(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+A(s,l);c+=ee(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+A(s,l++),c+=ee(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function j(e,t,n){if(e==null)return e;var r=[],i=0;return ee(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function M(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var N={current:null},P={transition:null},F={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:P,ReactCurrentOwner:C};function te(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:j,forEach:function(e,t,n){j(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return j(e,function(){t++}),t},toArray:function(e){return j(e,function(e){return e})||[]},only:function(e){if(!D(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=F,e.act=te,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=D,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:M}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},e.unstable_act=te,e.useCallback=function(e,t){return N.current.useCallback(e,t)},e.useContext=function(e){return N.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return N.current.useDeferredValue(e)},e.useEffect=function(e,t){return N.current.useEffect(e,t)},e.useId=function(){return N.current.useId()},e.useImperativeHandle=function(e,t,n){return N.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return N.current.useMemo(e,t)},e.useReducer=function(e,t,n){return N.current.useReducer(e,t,n)},e.useRef=function(e){return N.current.useRef(e)},e.useState=function(e){return N.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return N.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return N.current.useTransition()},e.version=`18.3.1`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,j(x);else{var t=n(l);t!==null&&M(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!D());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&M(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,E=-1;function D(){return!(e.unstable_now()-E<T)}function O(){if(C!==null){var t=e.unstable_now();E=t;var n=!0;try{n=C(!0,t)}finally{n?k():(S=!1,C=null)}}else S=!1}var k;if(typeof v==`function`)k=function(){v(O)};else if(typeof MessageChannel<`u`){var A=new MessageChannel,ee=A.port2;A.port1.onmessage=O,k=function(){ee.postMessage(null)}}else k=function(){g(O,0)};function j(e){C=e,S||(S=!0,k())}function M(t,n){w=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,j(x))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):T=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,M(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,j(x))),r},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u(),n=f();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var i=new Set,a={};function o(e,t){s(e,t),s(e+`Capture`,t)}function s(e,t){for(a[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),l=Object.prototype.hasOwnProperty,d=/^[: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]*$/,p={},m={};function h(e){return l.call(m,e)?!0:l.call(p,e)?!1:d.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(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?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(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){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(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(b,x);y[t]=new v(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(b,x);y[t]=new v(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(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?h(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var C=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for(`react.element`),T=Symbol.for(`react.portal`),E=Symbol.for(`react.fragment`),D=Symbol.for(`react.strict_mode`),O=Symbol.for(`react.profiler`),k=Symbol.for(`react.provider`),A=Symbol.for(`react.context`),ee=Symbol.for(`react.forward_ref`),j=Symbol.for(`react.suspense`),M=Symbol.for(`react.suspense_list`),N=Symbol.for(`react.memo`),P=Symbol.for(`react.lazy`),F=Symbol.for(`react.offscreen`),te=Symbol.iterator;function ne(e){return typeof e!=`object`||!e?null:(e=te&&e[te]||e[`@@iterator`],typeof e==`function`?e:null)}var I=Object.assign,re;function ie(e){if(re===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);re=t&&t[1]||``}return`
|
|
2
|
+
`+re+e}var ae=!1;function L(e,t){if(!e||ae)return``;ae=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var i=t.stack.split(`
|
|
3
|
+
`),a=r.stack.split(`
|
|
4
|
+
`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var c=`
|
|
5
|
+
`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(`<anonymous>`)&&(c=c.replace(`<anonymous>`,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{ae=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?ie(e):``}function oe(e){switch(e.tag){case 5:return ie(e.type);case 16:return ie(`Lazy`);case 13:return ie(`Suspense`);case 19:return ie(`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 R(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 E:return`Fragment`;case T:return`Portal`;case O:return`Profiler`;case D:return`StrictMode`;case j:return`Suspense`;case M:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case A:return(e.displayName||`Context`)+`.Consumer`;case k:return(e._context.displayName||`Context`)+`.Provider`;case ee:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case N:return t=e.displayName||null,t===null?R(e.type)||`Memo`:t;case P:t=e._payload,e=e._init;try{return R(e(t))}catch{}}return null}function se(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`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return R(t);case 8:return t===D?`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 ce(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function le(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function z(e){var t=le(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ue(e){e._valueTracker||=z(e)}function de(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=le(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function fe(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function pe(e,t){var n=t.checked;return I({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function me(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=ce(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function he(e,t){t=t.checked,t!=null&&S(e,`checked`,t,!1)}function ge(e,t){he(e,t);var n=ce(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`)?ve(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&ve(e,t.type,ce(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _e(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 ve(e,t,n){(t!==`number`||fe(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var ye=Array.isArray;function be(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+ce(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function xe(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(r(91));return I({},t,{value:void 0,defaultValue:void 0,children:``+e._wrapperState.initialValue})}function Se(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(r(92));if(ye(n)){if(1<n.length)throw Error(r(93));n=n[0]}t=n}t??=``,n=t}e._wrapperState={initialValue:ce(n)}}function Ce(e,t){var n=ce(t.value),r=ce(t.defaultValue);n!=null&&(n=``+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=``+r)}function B(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==``&&t!==null&&(e.value=t)}function we(e){switch(e){case`svg`:return`http://www.w3.org/2000/svg`;case`math`:return`http://www.w3.org/1998/Math/MathML`;default:return`http://www.w3.org/1999/xhtml`}}function Te(e,t){return e==null||e===`http://www.w3.org/1999/xhtml`?we(t):e===`http://www.w3.org/2000/svg`&&t===`foreignObject`?`http://www.w3.org/1999/xhtml`:e}var Ee,De=function(e){return typeof MSApp<`u`&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!==`http://www.w3.org/2000/svg`||`innerHTML`in e)e.innerHTML=t;else{for(Ee||=document.createElement(`div`),Ee.innerHTML=`<svg>`+t.valueOf().toString()+`</svg>`,t=Ee.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Oe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var ke={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},Ae=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(ke).forEach(function(e){Ae.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ke[t]=ke[e]})});function je(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||ke.hasOwnProperty(e)&&ke[e]?(``+t).trim():t+`px`}function Me(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=je(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var Ne=I({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 Pe(e,t){if(t){if(Ne[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function Fe(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 Ie=null;function Le(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Re=null,ze=null,Be=null;function Ve(e){if(e=Li(e)){if(typeof Re!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=zi(t),Re(e.stateNode,e.type,t))}}function V(e){ze?Be?Be.push(e):Be=[e]:ze=e}function He(){if(ze){var e=ze,t=Be;if(Be=ze=null,Ve(e),t)for(e=0;e<t.length;e++)Ve(t[e])}}function Ue(e,t){return e(t)}function We(){}var Ge=!1;function Ke(e,t,n){if(Ge)return e(t,n);Ge=!0;try{return Ue(e,t,n)}finally{Ge=!1,(ze!==null||Be!==null)&&(We(),He())}}function qe(e,t){var n=e.stateNode;if(n===null)return null;var i=zi(n);if(i===null)return null;n=i[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(i=!i.disabled)||(e=e.type,i=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!i;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(r(231,t,typeof n));return n}var Je=!1;if(c)try{var Ye={};Object.defineProperty(Ye,`passive`,{get:function(){Je=!0}}),window.addEventListener(`test`,Ye,Ye),window.removeEventListener(`test`,Ye,Ye)}catch{Je=!1}function Xe(e,t,n,r,i,a,o,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var Ze=!1,Qe=null,$e=!1,H=null,et={onError:function(e){Ze=!0,Qe=e}};function tt(e,t,n,r,i,a,o,s,c){Ze=!1,Qe=null,Xe.apply(et,arguments)}function nt(e,t,n,i,a,o,s,c,l){if(tt.apply(this,arguments),Ze){if(Ze){var u=Qe;Ze=!1,Qe=null}else throw Error(r(198));$e||($e=!0,H=u)}}function rt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function it(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function at(e){if(rt(e)!==e)throw Error(r(188))}function ot(e){var t=e.alternate;if(!t){if(t=rt(e),t===null)throw Error(r(188));return t===e?e:null}for(var n=e,i=t;;){var a=n.return;if(a===null)break;var o=a.alternate;if(o===null){if(i=a.return,i!==null){n=i;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return at(a),e;if(o===i)return at(a),t;o=o.sibling}throw Error(r(188))}if(n.return!==i.return)n=a,i=o;else{for(var s=!1,c=a.child;c;){if(c===n){s=!0,n=a,i=o;break}if(c===i){s=!0,i=a,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,i=a;break}if(c===i){s=!0,i=o,n=a;break}c=c.sibling}if(!s)throw Error(r(189))}}if(n.alternate!==i)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?e:t}function st(e){return e=ot(e),e===null?null:ct(e)}function ct(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=ct(e);if(t!==null)return t;e=e.sibling}return null}var lt=n.unstable_scheduleCallback,ut=n.unstable_cancelCallback,dt=n.unstable_shouldYield,ft=n.unstable_requestPaint,U=n.unstable_now,pt=n.unstable_getCurrentPriorityLevel,mt=n.unstable_ImmediatePriority,ht=n.unstable_UserBlockingPriority,gt=n.unstable_NormalPriority,_t=n.unstable_LowPriority,vt=n.unstable_IdlePriority,yt=null,bt=null;function xt(e){if(bt&&typeof bt.onCommitFiberRoot==`function`)try{bt.onCommitFiberRoot(yt,e,void 0,(e.current.flags&128)==128)}catch{}}var St=Math.clz32?Math.clz32:Tt,Ct=Math.log,wt=Math.LN2;function Tt(e){return e>>>=0,e===0?32:31-(Ct(e)/wt|0)|0}var Et=64,Dt=4194304;function Ot(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 kt(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=Ot(a))):r=Ot(s)}else o=n&~i,o===0?a!==0&&(r=Ot(a)):r=Ot(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-St(t),i=1<<n,r|=e[n],t&=~i;return r}function At(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function jt(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-St(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=At(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}}function Mt(e){return e=e.pendingLanes&-1073741825,e===0?e&1073741824?1073741824:0:e}function Nt(){var e=Et;return Et<<=1,!(Et&4194240)&&(Et=64),e}function Pt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ft(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-St(t),e[t]=n}function It(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<n;){var i=31-St(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function Lt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-St(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var W=0;function Rt(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var zt,Bt,Vt,Ht,Ut,Wt=!1,Gt=[],Kt=null,qt=null,Jt=null,Yt=new Map,Xt=new Map,Zt=[],Qt=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit`.split(` `);function $t(e,t){switch(e){case`focusin`:case`focusout`:Kt=null;break;case`dragenter`:case`dragleave`:qt=null;break;case`mouseover`:case`mouseout`:Jt=null;break;case`pointerover`:case`pointerout`:Yt.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Xt.delete(t.pointerId)}}function en(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Li(t),t!==null&&Bt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function tn(e,t,n,r,i){switch(t){case`focusin`:return Kt=en(Kt,e,t,n,r,i),!0;case`dragenter`:return qt=en(qt,e,t,n,r,i),!0;case`mouseover`:return Jt=en(Jt,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Yt.set(a,en(Yt.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Xt.set(a,en(Xt.get(a)||null,e,t,n,r,i)),!0}return!1}function nn(e){var t=Ii(e.target);if(t!==null){var n=rt(t);if(n!==null){if(t=n.tag,t===13){if(t=it(n),t!==null){e.blockedOn=t,Ut(e.priority,function(){Vt(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function rn(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=hn(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Ie=r,n.target.dispatchEvent(r),Ie=null}else return t=Li(n),t!==null&&Bt(t),e.blockedOn=n,!1;t.shift()}return!0}function an(e,t,n){rn(e)&&n.delete(t)}function on(){Wt=!1,Kt!==null&&rn(Kt)&&(Kt=null),qt!==null&&rn(qt)&&(qt=null),Jt!==null&&rn(Jt)&&(Jt=null),Yt.forEach(an),Xt.forEach(an)}function sn(e,t){e.blockedOn===t&&(e.blockedOn=null,Wt||(Wt=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,on)))}function cn(e){function t(t){return sn(t,e)}if(0<Gt.length){sn(Gt[0],e);for(var n=1;n<Gt.length;n++){var r=Gt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Kt!==null&&sn(Kt,e),qt!==null&&sn(qt,e),Jt!==null&&sn(Jt,e),Yt.forEach(t),Xt.forEach(t),n=0;n<Zt.length;n++)r=Zt[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<Zt.length&&(n=Zt[0],n.blockedOn===null);)nn(n),n.blockedOn===null&&Zt.shift()}var ln=C.ReactCurrentBatchConfig,un=!0;function dn(e,t,n,r){var i=W,a=ln.transition;ln.transition=null;try{W=1,pn(e,t,n,r)}finally{W=i,ln.transition=a}}function fn(e,t,n,r){var i=W,a=ln.transition;ln.transition=null;try{W=4,pn(e,t,n,r)}finally{W=i,ln.transition=a}}function pn(e,t,n,r){if(un){var i=hn(e,t,n,r);if(i===null)ci(e,t,r,mn,n),$t(e,r);else if(tn(i,e,t,n,r))r.stopPropagation();else if($t(e,r),t&4&&-1<Qt.indexOf(e)){for(;i!==null;){var a=Li(i);if(a!==null&&zt(a),a=hn(e,t,n,r),a===null&&ci(e,t,r,mn,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else ci(e,t,r,null,n)}}var mn=null;function hn(e,t,n,r){if(mn=null,e=Le(r),e=Ii(e),e!==null)if(t=rt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=it(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return mn=e,null}function gn(e){switch(e){case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 1;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`toggle`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 4;case`message`:switch(pt()){case mt:return 1;case ht:return 4;case gt:case _t:return 16;case vt:return 536870912;default:return 16}default:return 16}}var _n=null,vn=null,yn=null;function bn(){if(yn)return yn;var e,t=vn,n=t.length,r,i=`value`in _n?_n.value:_n.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return yn=i.slice(e,1<r?1-r:void 0)}function xn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Sn(){return!0}function Cn(){return!1}function wn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Sn:Cn,this.isPropagationStopped=Cn,this}return I(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Sn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Sn)},persist:function(){},isPersistent:Sn}),t}var Tn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},En=wn(Tn),Dn=I({},Tn,{view:0,detail:0}),On=wn(Dn),kn,An,jn,Mn=I({},Dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Un,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==jn&&(jn&&e.type===`mousemove`?(kn=e.screenX-jn.screenX,An=e.screenY-jn.screenY):An=kn=0,jn=e),kn)},movementY:function(e){return`movementY`in e?e.movementY:An}}),Nn=wn(Mn),Pn=wn(I({},Mn,{dataTransfer:0})),Fn=wn(I({},Dn,{relatedTarget:0})),In=wn(I({},Tn,{animationName:0,elapsedTime:0,pseudoElement:0})),Ln=wn(I({},Tn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Rn=wn(I({},Tn,{data:0})),zn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Bn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Vn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Hn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Vn[e])?!!t[e]:!1}function Un(){return Hn}var Wn=wn(I({},Dn,{key:function(e){if(e.key){var t=zn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=xn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Bn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Un,charCode:function(e){return e.type===`keypress`?xn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?xn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Gn=wn(I({},Mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Kn=wn(I({},Dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Un})),qn=wn(I({},Tn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Jn=wn(I({},Mn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Yn=[9,13,27,32],Xn=c&&`CompositionEvent`in window,Zn=null;c&&`documentMode`in document&&(Zn=document.documentMode);var Qn=c&&`TextEvent`in window&&!Zn,$n=c&&(!Xn||Zn&&8<Zn&&11>=Zn),er=` `,tr=!1;function nr(e,t){switch(e){case`keyup`:return Yn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function rr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var ir=!1;function ar(e,t){switch(e){case`compositionend`:return rr(t);case`keypress`:return t.which===32?(tr=!0,er):null;case`textInput`:return e=t.data,e===er&&tr?null:e;default:return null}}function or(e,t){if(ir)return e===`compositionend`||!Xn&&nr(e,t)?(e=bn(),yn=vn=_n=null,ir=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return $n&&t.locale!==`ko`?null:t.data;default:return null}}var sr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!sr[e.type]:t===`textarea`}function lr(e,t,n,r){V(r),t=ui(t,`onChange`),0<t.length&&(n=new En(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var ur=null,dr=null;function fr(e){ri(e,0)}function pr(e){if(de(Ri(e)))return e}function mr(e,t){if(e===`change`)return t}var hr=!1;if(c){var gr;if(c){var _r=`oninput`in document;if(!_r){var vr=document.createElement(`div`);vr.setAttribute(`oninput`,`return;`),_r=typeof vr.oninput==`function`}gr=_r}else gr=!1;hr=gr&&(!document.documentMode||9<document.documentMode)}function yr(){ur&&(ur.detachEvent(`onpropertychange`,br),dr=ur=null)}function br(e){if(e.propertyName===`value`&&pr(dr)){var t=[];lr(t,dr,e,Le(e)),Ke(fr,t)}}function xr(e,t,n){e===`focusin`?(yr(),ur=t,dr=n,ur.attachEvent(`onpropertychange`,br)):e===`focusout`&&yr()}function Sr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return pr(dr)}function Cr(e,t){if(e===`click`)return pr(t)}function wr(e,t){if(e===`input`||e===`change`)return pr(t)}function Tr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Er=typeof Object.is==`function`?Object.is:Tr;function Dr(e,t){if(Er(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!l.call(t,i)||!Er(e[i],t[i]))return!1}return!0}function Or(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function kr(e,t){var n=Or(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Or(n)}}function Ar(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ar(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function jr(){for(var e=window,t=fe();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=fe(e.document)}return t}function Mr(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 Nr(e){var t=jr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ar(n.ownerDocument.documentElement,n)){if(r!==null&&Mr(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 i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=kr(n,a);var o=kr(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.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<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Pr=c&&`documentMode`in document&&11>=document.documentMode,Fr=null,Ir=null,Lr=null,Rr=!1;function zr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Rr||Fr==null||Fr!==fe(r)||(r=Fr,`selectionStart`in r&&Mr(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}),Lr&&Dr(Lr,r)||(Lr=r,r=ui(Ir,`onSelect`),0<r.length&&(t=new En(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Fr)))}function Br(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Vr={animationend:Br(`Animation`,`AnimationEnd`),animationiteration:Br(`Animation`,`AnimationIteration`),animationstart:Br(`Animation`,`AnimationStart`),transitionend:Br(`Transition`,`TransitionEnd`)},Hr={},Ur={};c&&(Ur=document.createElement(`div`).style,`AnimationEvent`in window||(delete Vr.animationend.animation,delete Vr.animationiteration.animation,delete Vr.animationstart.animation),`TransitionEvent`in window||delete Vr.transitionend.transition);function Wr(e){if(Hr[e])return Hr[e];if(!Vr[e])return e;var t=Vr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ur)return Hr[e]=t[n];return e}var Gr=Wr(`animationend`),Kr=Wr(`animationiteration`),qr=Wr(`animationstart`),Jr=Wr(`transitionend`),Yr=new Map,Xr=`abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);function Zr(e,t){Yr.set(e,t),o(t,[e])}for(var Qr=0;Qr<Xr.length;Qr++){var $r=Xr[Qr];Zr($r.toLowerCase(),`on`+($r[0].toUpperCase()+$r.slice(1)))}Zr(Gr,`onAnimationEnd`),Zr(Kr,`onAnimationIteration`),Zr(qr,`onAnimationStart`),Zr(`dblclick`,`onDoubleClick`),Zr(`focusin`,`onFocus`),Zr(`focusout`,`onBlur`),Zr(Jr,`onTransitionEnd`),s(`onMouseEnter`,[`mouseout`,`mouseover`]),s(`onMouseLeave`,[`mouseout`,`mouseover`]),s(`onPointerEnter`,[`pointerout`,`pointerover`]),s(`onPointerLeave`,[`pointerout`,`pointerover`]),o(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),o(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),o(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),o(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var ei=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),ti=new Set(`cancel close invalid load scroll toggle`.split(` `).concat(ei));function ni(e,t,n){var r=e.type||`unknown-event`;e.currentTarget=n,nt(r,t,void 0,e),e.currentTarget=null}function ri(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;ni(i,s,l),a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;ni(i,s,l),a=c}}}if($e)throw e=H,$e=!1,H=null,e}function G(e,t){var n=t[Ni];n===void 0&&(n=t[Ni]=new Set);var r=e+`__bubble`;n.has(r)||(si(t,e,2,!1),n.add(r))}function ii(e,t,n){var r=0;t&&(r|=4),si(n,e,r,t)}var ai=`_reactListening`+Math.random().toString(36).slice(2);function oi(e){if(!e[ai]){e[ai]=!0,i.forEach(function(t){t!==`selectionchange`&&(ti.has(t)||ii(t,!1,e),ii(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ai]||(t[ai]=!0,ii(`selectionchange`,!1,t))}}function si(e,t,n,r){switch(gn(t)){case 1:var i=dn;break;case 4:i=fn;break;default:i=pn}n=i.bind(null,t,n,e),i=void 0,!Je||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function ci(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;s!==null;){if(o=Ii(s),o===null)return;if(c=o.tag,c===5||c===6){r=a=o;continue a}s=s.parentNode}}r=r.return}Ke(function(){var r=a,i=Le(n),o=[];a:{var s=Yr.get(e);if(s!==void 0){var c=En,l=e;switch(e){case`keypress`:if(xn(n)===0)break a;case`keydown`:case`keyup`:c=Wn;break;case`focusin`:l=`focus`,c=Fn;break;case`focusout`:l=`blur`,c=Fn;break;case`beforeblur`:case`afterblur`:c=Fn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:c=Nn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Pn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Kn;break;case Gr:case Kr:case qr:c=In;break;case Jr:c=qn;break;case`scroll`:c=On;break;case`wheel`:c=Jn;break;case`copy`:case`cut`:case`paste`:c=Ln;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Gn}var u=(t&4)!=0,d=!u&&e===`scroll`,f=u?s===null?null:s+`Capture`:s;u=[];for(var p=r,m;p!==null;){m=p;var h=m.stateNode;if(m.tag===5&&h!==null&&(m=h,f!==null&&(h=qe(p,f),h!=null&&u.push(li(p,h,m)))),d)break;p=p.return}0<u.length&&(s=new c(s,l,null,n,i),o.push({event:s,listeners:u}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==Ie&&(l=n.relatedTarget||n.fromElement)&&(Ii(l)||l[Mi]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?Ii(l):null,l!==null&&(d=rt(l),l!==d||l.tag!==5&&l.tag!==6)&&(l=null)):(c=null,l=r),c!==l)){if(u=Nn,h=`onMouseLeave`,f=`onMouseEnter`,p=`mouse`,(e===`pointerout`||e===`pointerover`)&&(u=Gn,h=`onPointerLeave`,f=`onPointerEnter`,p=`pointer`),d=c==null?s:Ri(c),m=l==null?s:Ri(l),s=new u(h,p+`leave`,c,n,i),s.target=d,s.relatedTarget=m,h=null,Ii(i)===r&&(u=new u(f,p+`enter`,l,n,i),u.target=m,u.relatedTarget=d,h=u),d=h,c&&l)b:{for(u=c,f=l,p=0,m=u;m;m=di(m))p++;for(m=0,h=f;h;h=di(h))m++;for(;0<p-m;)u=di(u),p--;for(;0<m-p;)f=di(f),m--;for(;p--;){if(u===f||f!==null&&u===f.alternate)break b;u=di(u),f=di(f)}u=null}else u=null;c!==null&&fi(o,s,c,u,!1),l!==null&&d!==null&&fi(o,d,l,u,!0)}}a:{if(s=r?Ri(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var g=mr;else if(cr(s))if(hr)g=wr;else{g=Sr;var _=xr}else (c=s.nodeName)&&c.toLowerCase()===`input`&&(s.type===`checkbox`||s.type===`radio`)&&(g=Cr);if(g&&=g(e,r)){lr(o,g,n,i);break a}_&&_(e,s,r),e===`focusout`&&(_=s._wrapperState)&&_.controlled&&s.type===`number`&&ve(s,`number`,s.value)}switch(_=r?Ri(r):window,e){case`focusin`:(cr(_)||_.contentEditable===`true`)&&(Fr=_,Ir=r,Lr=null);break;case`focusout`:Lr=Ir=Fr=null;break;case`mousedown`:Rr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Rr=!1,zr(o,n,i);break;case`selectionchange`:if(Pr)break;case`keydown`:case`keyup`:zr(o,n,i)}var v;if(Xn)b:{switch(e){case`compositionstart`:var y=`onCompositionStart`;break b;case`compositionend`:y=`onCompositionEnd`;break b;case`compositionupdate`:y=`onCompositionUpdate`;break b}y=void 0}else ir?nr(e,n)&&(y=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(y=`onCompositionStart`);y&&($n&&n.locale!==`ko`&&(ir||y!==`onCompositionStart`?y===`onCompositionEnd`&&ir&&(v=bn()):(_n=i,vn=`value`in _n?_n.value:_n.textContent,ir=!0)),_=ui(r,y),0<_.length&&(y=new Rn(y,e,null,n,i),o.push({event:y,listeners:_}),v?y.data=v:(v=rr(n),v!==null&&(y.data=v)))),(v=Qn?ar(e,n):or(e,n))&&(r=ui(r,`onBeforeInput`),0<r.length&&(i=new Rn(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:i,listeners:r}),i.data=v))}ri(o,t)})}function li(e,t,n){return{instance:e,listener:t,currentTarget:n}}function ui(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=qe(e,n),a!=null&&r.unshift(li(e,a,i)),a=qe(e,t),a!=null&&r.push(li(e,a,i))),e=e.return}return r}function di(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function fi(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(c!==null&&c===r)break;s.tag===5&&l!==null&&(s=l,i?(c=qe(n,a),c!=null&&o.unshift(li(n,c,s))):i||(c=qe(n,a),c!=null&&o.push(li(n,c,s)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var pi=/\r\n?/g,mi=/\u0000|\uFFFD/g;function hi(e){return(typeof e==`string`?e:``+e).replace(pi,`
|
|
6
|
+
`).replace(mi,``)}function gi(e,t,n){if(t=hi(t),hi(e)!==t&&n)throw Error(r(425))}function _i(){}var vi=null,yi=null;function bi(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var xi=typeof setTimeout==`function`?setTimeout:void 0,Si=typeof clearTimeout==`function`?clearTimeout:void 0,Ci=typeof Promise==`function`?Promise:void 0,wi=typeof queueMicrotask==`function`?queueMicrotask:Ci===void 0?xi:function(e){return Ci.resolve(null).then(e).catch(Ti)};function Ti(e){setTimeout(function(){throw e})}function Ei(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`){if(r===0){e.removeChild(i),cn(t);return}r--}else n!==`$`&&n!==`$?`&&n!==`$!`||r++;n=i}while(n);cn(t)}function Di(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`)break;if(t===`/$`)return null}}return e}function Oi(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`){if(t===0)return e;t--}else n===`/$`&&t++}e=e.previousSibling}return null}var ki=Math.random().toString(36).slice(2),Ai=`__reactFiber$`+ki,ji=`__reactProps$`+ki,Mi=`__reactContainer$`+ki,Ni=`__reactEvents$`+ki,Pi=`__reactListeners$`+ki,Fi=`__reactHandles$`+ki;function Ii(e){var t=e[Ai];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Mi]||n[Ai]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Oi(e);e!==null;){if(n=e[Ai])return n;e=Oi(e)}return t}e=n,n=e.parentNode}return null}function Li(e){return e=e[Ai]||e[Mi],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Ri(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(r(33))}function zi(e){return e[ji]||null}var Bi=[],Vi=-1;function Hi(e){return{current:e}}function K(e){0>Vi||(e.current=Bi[Vi],Bi[Vi]=null,Vi--)}function q(e,t){Vi++,Bi[Vi]=e.current,e.current=t}var Ui={},Wi=Hi(Ui),Gi=Hi(!1),Ki=Ui;function qi(e,t){var n=e.type.contextTypes;if(!n)return Ui;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ji(e){return e=e.childContextTypes,e!=null}function Yi(){K(Gi),K(Wi)}function Xi(e,t,n){if(Wi.current!==Ui)throw Error(r(168));q(Wi,t),q(Gi,n)}function Zi(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,se(e)||`Unknown`,a));return I({},n,i)}function Qi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ui,Ki=Wi.current,q(Wi,e),q(Gi,Gi.current),!0}function $i(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=Zi(e,t,Ki),i.__reactInternalMemoizedMergedChildContext=e,K(Gi),K(Wi),q(Wi,e)):K(Gi),q(Gi,n)}var ea=null,ta=!1,na=!1;function ra(e){ea===null?ea=[e]:ea.push(e)}function ia(e){ta=!0,ra(e)}function aa(){if(!na&&ea!==null){na=!0;var e=0,t=W;try{var n=ea;for(W=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}ea=null,ta=!1}catch(t){throw ea!==null&&(ea=ea.slice(e+1)),lt(mt,aa),t}finally{W=t,na=!1}}return null}var oa=[],sa=0,ca=null,la=0,ua=[],da=0,fa=null,pa=1,ma=``;function ha(e,t){oa[sa++]=la,oa[sa++]=ca,ca=e,la=t}function ga(e,t,n){ua[da++]=pa,ua[da++]=ma,ua[da++]=fa,fa=e;var r=pa;e=ma;var i=32-St(r)-1;r&=~(1<<i),n+=1;var a=32-St(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,pa=1<<32-St(t)+i|n<<i|r,ma=a+e}else pa=1<<a|n<<i|r,ma=e}function _a(e){e.return!==null&&(ha(e,1),ga(e,1,0))}function va(e){for(;e===ca;)ca=oa[--sa],oa[sa]=null,la=oa[--sa],oa[sa]=null;for(;e===fa;)fa=ua[--da],ua[da]=null,ma=ua[--da],ua[da]=null,pa=ua[--da],ua[da]=null}var ya=null,ba=null,J=!1,xa=null;function Sa(e,t){var n=Kl(5,null,null,0);n.elementType=`DELETED`,n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Ca(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t===null?!1:(e.stateNode=t,ya=e,ba=Di(t.firstChild),!0);case 6:return t=e.pendingProps===``||t.nodeType!==3?null:t,t===null?!1:(e.stateNode=t,ya=e,ba=null,!0);case 13:return t=t.nodeType===8?t:null,t===null?!1:(n=fa===null?null:{id:pa,overflow:ma},e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Kl(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,ya=e,ba=null,!0);default:return!1}}function wa(e){return(e.mode&1)!=0&&(e.flags&128)==0}function Ta(e){if(J){var t=ba;if(t){var n=t;if(!Ca(e,t)){if(wa(e))throw Error(r(418));t=Di(n.nextSibling);var i=ya;t&&Ca(e,t)?Sa(i,n):(e.flags=e.flags&-4097|2,J=!1,ya=e)}}else{if(wa(e))throw Error(r(418));e.flags=e.flags&-4097|2,J=!1,ya=e}}}function Ea(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ya=e}function Da(e){if(e!==ya)return!1;if(!J)return Ea(e),J=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!==`head`&&t!==`body`&&!bi(e.type,e.memoizedProps)),t&&=ba){if(wa(e))throw Oa(),Error(r(418));for(;t;)Sa(e,t),t=Di(t.nextSibling)}if(Ea(e),e.tag===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(r(317));a:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`){if(t===0){ba=Di(e.nextSibling);break a}t--}else n!==`$`&&n!==`$!`&&n!==`$?`||t++}e=e.nextSibling}ba=null}}else ba=ya?Di(e.stateNode.nextSibling):null;return!0}function Oa(){for(var e=ba;e;)e=Di(e.nextSibling)}function ka(){ba=ya=null,J=!1}function Aa(e){xa===null?xa=[e]:xa.push(e)}var ja=C.ReactCurrentBatchConfig;function Ma(e,t,n){if(e=n.ref,e!==null&&typeof e!=`function`&&typeof e!=`object`){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(r(309));var i=n.stateNode}if(!i)throw Error(r(147,e));var a=i,o=``+e;return t!==null&&t.ref!==null&&typeof t.ref==`function`&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;e===null?delete t[o]:t[o]=e},t._stringRef=o,t)}if(typeof e!=`string`)throw Error(r(284));if(!n._owner)throw Error(r(290,e))}return e}function Na(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e))}function Pa(e){var t=e._init;return t(e._payload)}function Fa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function i(e,t){for(e=new Map;t!==null;)t.key===null?e.set(t.index,t):e.set(t.key,t),t=t.sibling;return e}function a(e,t){return e=Yl(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=2,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=2),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=$l(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===E?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===P&&Pa(i)===t.type)?(r=a(t,n.props),r.ref=Ma(e,t,n),r.return=e,r):(r=Xl(n.type,n.key,n.props,null,e.mode,r),r.ref=Ma(e,t,n),r.return=e,r)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=eu(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=Zl(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`)return t=$l(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case w:return n=Xl(t.type,t.key,t.props,null,e.mode,n),n.ref=Ma(e,null,t),n.return=e,n;case T:return t=eu(t,e.mode,n),t.return=e,t;case P:var r=t._init;return f(e,r(t._payload),n)}if(ye(t)||ne(t))return t=Zl(t,e.mode,n,null),t.return=e,t;Na(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case w:return n.key===i?l(e,t,n,r):null;case T:return n.key===i?u(e,t,n,r):null;case P:return i=n._init,p(e,t,i(n._payload),r)}if(ye(n)||ne(n))return i===null?d(e,t,n,r,null):null;Na(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case w:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case T:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case P:var a=r._init;return m(e,t,n,a(r._payload),i)}if(ye(r)||ne(r))return e=e.get(n)||null,d(t,e,r,i,null);Na(t,r)}return null}function h(r,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),J&&ha(r,h),l;if(d===null){for(;h<s.length;h++)d=f(r,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return J&&ha(r,h),l}for(d=i(r,d);h<s.length;h++)g=m(d,r,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(r,e)}),J&&ha(r,h),l}function g(a,s,c,l){var u=ne(c);if(typeof u!=`function`)throw Error(r(150));if(c=u.call(c),c==null)throw Error(r(151));for(var d=u=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),J&&ha(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return J&&ha(a,g),u}for(h=i(a,h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),J&&ha(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===E&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===E){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===P&&Pa(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=Ma(e,l,i),r.return=e,e=r;break a}n(e,l);break}else t(e,l);l=l.sibling}i.type===E?(r=Zl(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Xl(i.type,i.key,i.props,null,e.mode,o),o.ref=Ma(e,r,i),o.return=e,e=o)}return s(e);case T:a:{for(l=i.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}else{n(e,r);break}else t(e,r);r=r.sibling}r=eu(i,e.mode,o),r.return=e,e=r}return s(e);case P:return l=i._init,_(e,r,l(i._payload),o)}if(ye(i))return h(e,r,i,o);if(ne(i))return g(e,r,i,o);Na(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=$l(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Ia=Fa(!0),La=Fa(!1),Ra=Hi(null),za=null,Ba=null,Va=null;function Ha(){Va=Ba=za=null}function Ua(e){var t=Ra.current;K(Ra),e._currentValue=t}function Wa(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ga(e,t){za=e,Va=Ba=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ns=!0),e.firstContext=null)}function Ka(e){var t=e._currentValue;if(Va!==e)if(e={context:e,memoizedValue:t,next:null},Ba===null){if(za===null)throw Error(r(308));Ba=e,za.dependencies={lanes:0,firstContext:e}}else Ba=Ba.next=e;return t}var qa=null;function Ja(e){qa===null?qa=[e]:qa.push(e)}function Ya(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ja(t)):(n.next=i.next,i.next=n),t.interleaved=n,Xa(e,r)}function Xa(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 Za=!1;function Qa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function $a(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 eo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function to(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Q&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Xa(e,n)}return i=r.interleaved,i===null?(t.next=t,Ja(r)):(t.next=i.next,i.next=t),r.interleaved=t,Xa(e,n)}function no(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Lt(e,n)}}function ro(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,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 io(e,t,n,r){var i=e.updateQueue;Za=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=I({},d,f);break a;case 2:Za=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Yc|=o,e.lanes=o,e.memoizedState=d}}function ao(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var i=e[t],a=i.callback;if(a!==null){if(i.callback=null,i=n,typeof a!=`function`)throw Error(r(191,a));a.call(i)}}}var oo={},so=Hi(oo),co=Hi(oo),lo=Hi(oo);function uo(e){if(e===oo)throw Error(r(174));return e}function fo(e,t){switch(q(lo,t),q(co,e),q(so,oo),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Te(null,``);break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Te(t,e)}K(so),q(so,t)}function po(){K(so),K(co),K(lo)}function mo(e){uo(lo.current);var t=uo(so.current),n=Te(t,e.type);t!==n&&(q(co,e),q(so,n))}function ho(e){co.current===e&&(K(so),K(co))}var Y=Hi(0);function go(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data===`$?`||n.data===`$!`))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _o=[];function vo(){for(var e=0;e<_o.length;e++)_o[e]._workInProgressVersionPrimary=null;_o.length=0}var yo=C.ReactCurrentDispatcher,bo=C.ReactCurrentBatchConfig,xo=0,X=null,So=null,Co=null,wo=!1,To=!1,Eo=0,Do=0;function Oo(){throw Error(r(321))}function ko(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Er(e[n],t[n]))return!1;return!0}function Ao(e,t,n,i,a,o){if(xo=o,X=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,yo.current=e===null||e.memoizedState===null?ps:ms,e=n(i,a),To){o=0;do{if(To=!1,Eo=0,25<=o)throw Error(r(301));o+=1,Co=So=null,t.updateQueue=null,yo.current=hs,e=n(i,a)}while(To)}if(yo.current=fs,t=So!==null&&So.next!==null,xo=0,Co=So=X=null,wo=!1,t)throw Error(r(300));return e}function jo(){var e=Eo!==0;return Eo=0,e}function Mo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Co===null?X.memoizedState=Co=e:Co=Co.next=e,Co}function No(){if(So===null){var e=X.alternate;e=e===null?null:e.memoizedState}else e=So.next;var t=Co===null?X.memoizedState:Co.next;if(t!==null)Co=t,So=e;else{if(e===null)throw Error(r(310));So=e,e={memoizedState:So.memoizedState,baseState:So.baseState,baseQueue:So.baseQueue,queue:So.queue,next:null},Co===null?X.memoizedState=Co=e:Co=Co.next=e}return Co}function Po(e,t){return typeof t==`function`?t(e):t}function Fo(e){var t=No(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=So,a=i.baseQueue,o=n.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}i.baseQueue=a=o,n.pending=null}if(a!==null){o=a.next,i=i.baseState;var c=s=null,l=null,u=o;do{var d=u.lane;if((xo&d)===d)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),i=u.hasEagerState?u.eagerState:e(i,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(c=l=f,s=i):l=l.next=f,X.lanes|=d,Yc|=d}u=u.next}while(u!==null&&u!==o);l===null?s=i:l.next=c,Er(i,t.memoizedState)||(Ns=!0),t.memoizedState=i,t.baseState=s,t.baseQueue=l,n.lastRenderedState=i}if(e=n.interleaved,e!==null){a=e;do o=a.lane,X.lanes|=o,Yc|=o,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Io(e){var t=No(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Er(o,t.memoizedState)||(Ns=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function Lo(){}function Ro(e,t){var n=X,i=No(),a=t(),o=!Er(i.memoizedState,a);if(o&&(i.memoizedState=a,Ns=!0),i=i.queue,Xo(Vo.bind(null,n,i,e),[e]),i.getSnapshot!==t||o||Co!==null&&Co.memoizedState.tag&1){if(n.flags|=2048,Go(9,Bo.bind(null,n,i,a,t),void 0,null),Hc===null)throw Error(r(349));xo&30||zo(n,t,a)}return a}function zo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=X.updateQueue,t===null?(t={lastEffect:null,stores:null},X.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Bo(e,t,n,r){t.value=n,t.getSnapshot=r,Ho(t)&&Uo(e)}function Vo(e,t,n){return n(function(){Ho(t)&&Uo(e)})}function Ho(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Er(e,n)}catch{return!0}}function Uo(e){var t=Xa(e,1);t!==null&&hl(t,e,1,-1)}function Wo(e){var t=Mo();return typeof e==`function`&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:e},t.queue=e,e=e.dispatch=cs.bind(null,X,e),[t.memoizedState,e]}function Go(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=X.updateQueue,t===null?(t={lastEffect:null,stores:null},X.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function Ko(){return No().memoizedState}function qo(e,t,n,r){var i=Mo();X.flags|=e,i.memoizedState=Go(1|t,n,void 0,r===void 0?null:r)}function Jo(e,t,n,r){var i=No();r=r===void 0?null:r;var a=void 0;if(So!==null){var o=So.memoizedState;if(a=o.destroy,r!==null&&ko(r,o.deps)){i.memoizedState=Go(t,n,a,r);return}}X.flags|=e,i.memoizedState=Go(1|t,n,a,r)}function Yo(e,t){return qo(8390656,8,e,t)}function Xo(e,t){return Jo(2048,8,e,t)}function Zo(e,t){return Jo(4,2,e,t)}function Qo(e,t){return Jo(4,4,e,t)}function $o(e,t){if(typeof t==`function`)return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function es(e,t,n){return n=n==null?null:n.concat([e]),Jo(4,4,$o.bind(null,t,e),n)}function ts(){}function ns(e,t){var n=No();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ko(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function rs(e,t){var n=No();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ko(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function is(e,t,n){return xo&21?(Er(n,t)||(n=Nt(),X.lanes|=n,Yc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ns=!0),e.memoizedState=n)}function as(e,t){var n=W;W=n!==0&&4>n?n:4,e(!0);var r=bo.transition;bo.transition={};try{e(!1),t()}finally{W=n,bo.transition=r}}function os(){return No().memoizedState}function ss(e,t,n){var r=ml(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},ls(e))us(t,n);else if(n=Ya(e,t,n,r),n!==null){var i=pl();hl(n,e,r,i),ds(n,t,r)}}function cs(e,t,n){var r=ml(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(ls(e))us(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Er(s,o)){var c=t.interleaved;c===null?(i.next=i,Ja(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Ya(e,t,i,r),n!==null&&(i=pl(),hl(n,e,r,i),ds(n,t,r))}}function ls(e){var t=e.alternate;return e===X||t!==null&&t===X}function us(e,t){To=wo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ds(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Lt(e,n)}}var fs={readContext:Ka,useCallback:Oo,useContext:Oo,useEffect:Oo,useImperativeHandle:Oo,useInsertionEffect:Oo,useLayoutEffect:Oo,useMemo:Oo,useReducer:Oo,useRef:Oo,useState:Oo,useDebugValue:Oo,useDeferredValue:Oo,useTransition:Oo,useMutableSource:Oo,useSyncExternalStore:Oo,useId:Oo,unstable_isNewReconciler:!1},ps={readContext:Ka,useCallback:function(e,t){return Mo().memoizedState=[e,t===void 0?null:t],e},useContext:Ka,useEffect:Yo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),qo(4194308,4,$o.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qo(4194308,4,e,t)},useInsertionEffect:function(e,t){return qo(4,2,e,t)},useMemo:function(e,t){var n=Mo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Mo();return t=n===void 0?t:n(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=ss.bind(null,X,e),[r.memoizedState,e]},useRef:function(e){var t=Mo();return e={current:e},t.memoizedState=e},useState:Wo,useDebugValue:ts,useDeferredValue:function(e){return Mo().memoizedState=e},useTransition:function(){var e=Wo(!1),t=e[0];return e=as.bind(null,e[1]),Mo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=X,a=Mo();if(J){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Hc===null)throw Error(r(349));xo&30||zo(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Yo(Vo.bind(null,i,o,e),[e]),i.flags|=2048,Go(9,Bo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=Mo(),t=Hc.identifierPrefix;if(J){var n=ma,r=pa;n=(r&~(1<<32-St(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=Eo++,0<n&&(t+=`H`+n.toString(32)),t+=`:`}else n=Do++,t=`:`+t+`r`+n.toString(32)+`:`;return e.memoizedState=t},unstable_isNewReconciler:!1},ms={readContext:Ka,useCallback:ns,useContext:Ka,useEffect:Xo,useImperativeHandle:es,useInsertionEffect:Zo,useLayoutEffect:Qo,useMemo:rs,useReducer:Fo,useRef:Ko,useState:function(){return Fo(Po)},useDebugValue:ts,useDeferredValue:function(e){return is(No(),So.memoizedState,e)},useTransition:function(){return[Fo(Po)[0],No().memoizedState]},useMutableSource:Lo,useSyncExternalStore:Ro,useId:os,unstable_isNewReconciler:!1},hs={readContext:Ka,useCallback:ns,useContext:Ka,useEffect:Xo,useImperativeHandle:es,useInsertionEffect:Zo,useLayoutEffect:Qo,useMemo:rs,useReducer:Io,useRef:Ko,useState:function(){return Io(Po)},useDebugValue:ts,useDeferredValue:function(e){var t=No();return So===null?t.memoizedState=e:is(t,So.memoizedState,e)},useTransition:function(){return[Io(Po)[0],No().memoizedState]},useMutableSource:Lo,useSyncExternalStore:Ro,useId:os,unstable_isNewReconciler:!1};function gs(e,t){if(e&&e.defaultProps){for(var n in t=I({},t),e=e.defaultProps,e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function _s(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:I({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var vs={isMounted:function(e){return(e=e._reactInternals)?rt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pl(),i=ml(e),a=eo(r,i);a.payload=t,n!=null&&(a.callback=n),t=to(e,a,i),t!==null&&(hl(t,e,i,r),no(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pl(),i=ml(e),a=eo(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=to(e,a,i),t!==null&&(hl(t,e,i,r),no(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pl(),r=ml(e),i=eo(n,r);i.tag=2,t!=null&&(i.callback=t),t=to(e,i,r),t!==null&&(hl(t,e,r,n),no(t,e,r))}};function ys(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Dr(n,r)||!Dr(i,a):!0}function bs(e,t,n){var r=!1,i=Ui,a=t.contextType;return typeof a==`object`&&a?a=Ka(a):(i=Ji(t)?Ki:Wi.current,r=t.contextTypes,a=(r=r!=null)?qi(e,i):Ui),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=vs,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function xs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&vs.enqueueReplaceState(t,t.state,null)}function Ss(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},Qa(e);var a=t.contextType;typeof a==`object`&&a?i.context=Ka(a):(a=Ji(t)?Ki:Wi.current,i.context=qi(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a==`function`&&(_s(e,t,a,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps==`function`||typeof i.getSnapshotBeforeUpdate==`function`||typeof i.UNSAFE_componentWillMount!=`function`&&typeof i.componentWillMount!=`function`||(t=i.state,typeof i.componentWillMount==`function`&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount==`function`&&i.UNSAFE_componentWillMount(),t!==i.state&&vs.enqueueReplaceState(i,i.state,null),io(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount==`function`&&(e.flags|=4194308)}function Cs(e,t){try{var n=``,r=t;do n+=oe(r),r=r.return;while(r);var i=n}catch(e){i=`
|
|
7
|
+
Error generating stack: `+e.message+`
|
|
8
|
+
`+e.stack}return{value:e,source:t,stack:i,digest:null}}function ws(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Ts(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var Es=typeof WeakMap==`function`?WeakMap:Map;function Ds(e,t,n){n=eo(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){rl||(rl=!0,il=r),Ts(e,t)},n}function Os(e,t,n){n=eo(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r==`function`){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Ts(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){Ts(e,t),typeof r!=`function`&&(al===null?al=new Set([this]):al.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function ks(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Es;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=zl.bind(null,e,t,n),t.then(e,e))}function As(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t===null?!0:t.dehydrated!==null),t)return e;e=e.return}while(e!==null);return null}function js(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=eo(-1,1),t.tag=2,to(n,t,1))),n.lanes|=1),e)}var Ms=C.ReactCurrentOwner,Ns=!1;function Ps(e,t,n,r){t.child=e===null?La(t,null,n,r):Ia(t,e.child,n,r)}function Fs(e,t,n,r,i){n=n.render;var a=t.ref;return Ga(t,i),r=Ao(e,t,n,r,a,i),n=jo(),e!==null&&!Ns?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(J&&n&&_a(t),t.flags|=1,Ps(e,t,r,i),t.child)}function Is(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ql(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Ls(e,t,a,r,i)):(e=Xl(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,(e.lanes&i)===0){var o=a.memoizedProps;if(n=n.compare,n=n===null?Dr:n,n(o,r)&&e.ref===t.ref)return tc(e,t,i)}return t.flags|=1,e=Yl(a,r),e.ref=t.ref,e.return=t,t.child=e}function Ls(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Dr(a,r)&&e.ref===t.ref)if(Ns=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Ns=!0);else return t.lanes=e.lanes,tc(e,t,i)}return Bs(e,t,n,r,i)}function Rs(e,t,n){var r=t.pendingProps,i=r.children,a=e===null?null:e.memoizedState;if(r.mode===`hidden`)if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},q(Kc,Gc),Gc|=n;else{if(!(n&1073741824))return e=a===null?n:a.baseLanes|n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,q(Kc,Gc),Gc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,q(Kc,Gc),Gc|=r}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),q(Kc,Gc),Gc|=r;return Ps(e,t,i,n),t.child}function zs(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Bs(e,t,n,r,i){var a=Ji(n)?Ki:Wi.current;return a=qi(t,a),Ga(t,i),n=Ao(e,t,n,r,a,i),r=jo(),e!==null&&!Ns?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(J&&r&&_a(t),t.flags|=1,Ps(e,t,n,i),t.child)}function Vs(e,t,n,r,i){if(Ji(n)){var a=!0;Qi(t)}else a=!1;if(Ga(t,i),t.stateNode===null)ec(e,t),bs(t,n,r),Ss(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var c=o.context,l=n.contextType;typeof l==`object`&&l?l=Ka(l):(l=Ji(n)?Ki:Wi.current,l=qi(t,l));var u=n.getDerivedStateFromProps,d=typeof u==`function`||typeof o.getSnapshotBeforeUpdate==`function`;d||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==r||c!==l)&&xs(t,o,r,l),Za=!1;var f=t.memoizedState;o.state=f,io(t,r,o,i),c=t.memoizedState,s!==r||f!==c||Gi.current||Za?(typeof u==`function`&&(_s(t,n,u,r),c=t.memoizedState),(s=Za||ys(t,n,s,r,f,c,l))?(d||typeof o.UNSAFE_componentWillMount!=`function`&&typeof o.componentWillMount!=`function`||(typeof o.componentWillMount==`function`&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount==`function`&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount==`function`&&(t.flags|=4194308)):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=l,r=s):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,$a(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:gs(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=Ka(c):(c=Ji(n)?Ki:Wi.current,c=qi(t,c));var p=n.getDerivedStateFromProps;(u=typeof p==`function`||typeof o.getSnapshotBeforeUpdate==`function`)||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==d||f!==c)&&xs(t,o,r,c),Za=!1,f=t.memoizedState,o.state=f,io(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||Gi.current||Za?(typeof p==`function`&&(_s(t,n,p,r),m=t.memoizedState),(l=Za||ys(t,n,l,r,f,m,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!=`function`&&typeof o.componentWillUpdate!=`function`||(typeof o.componentWillUpdate==`function`&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate==`function`&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate==`function`&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=l):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Hs(e,t,n,r,a,i)}function Hs(e,t,n,r,i,a){zs(e,t);var o=(t.flags&128)!=0;if(!r&&!o)return i&&$i(t,n,!1),tc(e,t,a);r=t.stateNode,Ms.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Ia(t,e.child,null,a),t.child=Ia(t,null,s,a)):Ps(e,t,s,a),t.memoizedState=r.state,i&&$i(t,n,!0),t.child}function Us(e){var t=e.stateNode;t.pendingContext?Xi(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Xi(e,t.context,!1),fo(e,t.containerInfo)}function Ws(e,t,n,r,i){return ka(),Aa(i),t.flags|=256,Ps(e,t,n,r),t.child}var Gs={dehydrated:null,treeContext:null,retryLane:0};function Ks(e){return{baseLanes:e,cachePool:null,transitions:null}}function qs(e,t,n){var r=t.pendingProps,i=Y.current,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!=0),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),q(Y,i&1),e===null)return Ta(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data===`$!`?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:`hidden`,children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=Ql(o,r,0,null),e=Zl(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Ks(n),t.memoizedState=Gs,e):Js(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return Xs(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var c={mode:`hidden`,children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=Yl(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=Zl(a,o,n,null),a.flags|=2):a=Yl(s,a),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Ks(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Gs,r}return a=e.child,e=a.sibling,r=Yl(a,{mode:`visible`,children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Js(e,t){return t=Ql({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function Ys(e,t,n,r){return r!==null&&Aa(r),Ia(t,e.child,null,n),e=Js(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Xs(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=ws(Error(r(422))),Ys(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=Ql({mode:`visible`,children:i.children},a,0,null),o=Zl(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&Ia(t,e.child,null,s),t.child.memoizedState=Ks(s),t.memoizedState=Gs,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return Ys(e,t,s,null);if(a.data===`$!`){if(i=a.nextSibling&&a.nextSibling.dataset,i)var c=i.dgst;return i=c,o=Error(r(419)),i=ws(o,i,void 0),Ys(e,t,s,i)}if(c=(s&e.childLanes)!==0,Ns||c){if(i=Hc,i!==null){switch(s&-s){case 4:a=2;break;case 16:a=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=(a&(i.suspendedLanes|s))===0?a:0,a!==0&&a!==o.retryLane&&(o.retryLane=a,Xa(e,a),hl(i,e,a,-1))}return kl(),i=ws(Error(r(421))),Ys(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Vl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ba=Di(a.nextSibling),ya=t,J=!0,xa=null,e!==null&&(ua[da++]=pa,ua[da++]=ma,ua[da++]=fa,pa=e.id,ma=e.overflow,fa=t),t=Js(t,i.children),t.flags|=4096,t)}function Zs(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Wa(e.return,t,n)}function Qs(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function $s(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Ps(e,t,r.children,n),r=Y.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Zs(e,n,t);else if(e.tag===19)Zs(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(q(Y,r),!(t.mode&1))t.memoizedState=null;else switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&go(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Qs(t,!1,i,n,a);break;case`backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&go(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Qs(t,!0,n,null,a);break;case`together`:Qs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ec(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function tc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Yc|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Yl(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Yl(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function nc(e,t,n){switch(t.tag){case 3:Us(t),ka();break;case 5:mo(t);break;case 1:Ji(t.type)&&Qi(t);break;case 4:fo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;q(Ra,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(q(Y,Y.current&1),e=tc(e,t,n),e===null?null:e.sibling):qs(e,t,n):(q(Y,Y.current&1),t.flags|=128,null);q(Y,Y.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return $s(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),q(Y,Y.current),r)break;return null;case 22:case 23:return t.lanes=0,Rs(e,t,n)}return tc(e,t,n)}var rc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ic=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,uo(so.current);var o=null;switch(n){case`input`:i=pe(e,i),r=pe(e,r),o=[];break;case`select`:i=I({},i,{value:void 0}),r=I({},r,{value:void 0}),o=[];break;case`textarea`:i=xe(e,i),r=xe(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=_i)}Pe(n,r);var s;for(u in n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u===`style`){var c=i[u];for(s in c)c.hasOwnProperty(s)&&(n||={},n[s]=``)}else u!==`dangerouslySetInnerHTML`&&u!==`children`&&u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&u!==`autoFocus`&&(a.hasOwnProperty(u)?o||=[]:(o||=[]).push(u,null));for(u in r){var l=r[u];if(c=i?.[u],r.hasOwnProperty(u)&&l!==c&&(l!=null||c!=null))if(u===`style`)if(c){for(s in c)!c.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||={},n[s]=``);for(s in l)l.hasOwnProperty(s)&&c[s]!==l[s]&&(n||={},n[s]=l[s])}else n||(o||=[],o.push(u,n)),n=l;else u===`dangerouslySetInnerHTML`?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(o||=[]).push(u,l)):u===`children`?typeof l!=`string`&&typeof l!=`number`||(o||=[]).push(u,``+l):u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&(a.hasOwnProperty(u)?(l!=null&&u===`onScroll`&&G(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},ac=function(e,t,n,r){n!==r&&(t.flags|=4)};function oc(e,t){if(!J)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function sc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function cc(e,t,n){var i=t.pendingProps;switch(va(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return sc(t),null;case 1:return Ji(t.type)&&Yi(),sc(t),null;case 3:return i=t.stateNode,po(),K(Gi),K(Wi),vo(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Da(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,xa!==null&&(yl(xa),xa=null))),sc(t),null;case 5:ho(t);var o=uo(lo.current);if(n=t.type,e!==null&&t.stateNode!=null)ic(e,t,n,i,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(r(166));return sc(t),null}if(e=uo(so.current),Da(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[Ai]=t,i[ji]=s,e=(t.mode&1)!=0,n){case`dialog`:G(`cancel`,i),G(`close`,i);break;case`iframe`:case`object`:case`embed`:G(`load`,i);break;case`video`:case`audio`:for(o=0;o<ei.length;o++)G(ei[o],i);break;case`source`:G(`error`,i);break;case`img`:case`image`:case`link`:G(`error`,i),G(`load`,i);break;case`details`:G(`toggle`,i);break;case`input`:me(i,s),G(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},G(`invalid`,i);break;case`textarea`:Se(i,s),G(`invalid`,i)}for(var c in Pe(n,s),o=null,s)if(s.hasOwnProperty(c)){var l=s[c];c===`children`?typeof l==`string`?i.textContent!==l&&(!0!==s.suppressHydrationWarning&&gi(i.textContent,l,e),o=[`children`,l]):typeof l==`number`&&i.textContent!==``+l&&(!0!==s.suppressHydrationWarning&&gi(i.textContent,l,e),o=[`children`,``+l]):a.hasOwnProperty(c)&&l!=null&&c===`onScroll`&&G(`scroll`,i)}switch(n){case`input`:ue(i),_e(i,s,!0);break;case`textarea`:ue(i),B(i);break;case`select`:case`option`:break;default:typeof s.onClick==`function`&&(i.onclick=_i)}i=o,t.updateQueue=i,i!==null&&(t.flags|=4)}else{c=o.nodeType===9?o:o.ownerDocument,e===`http://www.w3.org/1999/xhtml`&&(e=we(n)),e===`http://www.w3.org/1999/xhtml`?n===`script`?(e=c.createElement(`div`),e.innerHTML=`<script><\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Ai]=t,e[ji]=i,rc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Fe(n,i),n){case`dialog`:G(`cancel`,e),G(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:G(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<ei.length;o++)G(ei[o],e);o=i;break;case`source`:G(`error`,e),o=i;break;case`img`:case`image`:case`link`:G(`error`,e),G(`load`,e),o=i;break;case`details`:G(`toggle`,e),o=i;break;case`input`:me(e,i),o=pe(e,i),G(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=I({},i,{value:void 0}),G(`invalid`,e);break;case`textarea`:Se(e,i),o=xe(e,i),G(`invalid`,e);break;default:o=i}for(s in Pe(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?Me(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&De(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&Oe(e,u):typeof u==`number`&&Oe(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&G(`scroll`,e):u!=null&&S(e,s,u,c))}switch(n){case`input`:ue(e),_e(e,i,!1);break;case`textarea`:ue(e),B(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+ce(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&be(e,!!i.multiple,i.defaultValue,!0):be(e,!!i.multiple,s,!1);break;default:typeof o.onClick==`function`&&(e.onclick=_i)}switch(n){case`button`:case`input`:case`select`:case`textarea`:i=!!i.autoFocus;break a;case`img`:i=!0;break a;default:i=!1}}i&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return sc(t),null;case 6:if(e&&t.stateNode!=null)ac(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=uo(lo.current),uo(so.current),Da(t)){if(i=t.stateNode,n=t.memoizedProps,i[Ai]=t,(s=i.nodeValue!==n)&&(e=ya,e!==null))switch(e.tag){case 3:gi(i.nodeValue,n,(e.mode&1)!=0);break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&gi(i.nodeValue,n,(e.mode&1)!=0)}s&&(t.flags|=4)}else i=(n.nodeType===9?n:n.ownerDocument).createTextNode(i),i[Ai]=t,t.stateNode=i}return sc(t),null;case 13:if(K(Y),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(J&&ba!==null&&t.mode&1&&!(t.flags&128))Oa(),ka(),t.flags|=98560,s=!1;else if(s=Da(t),i!==null&&i.dehydrated!==null){if(e===null){if(!s)throw Error(r(318));if(s=t.memoizedState,s=s===null?null:s.dehydrated,!s)throw Error(r(317));s[Ai]=t}else ka(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;sc(t),s=!1}else xa!==null&&(yl(xa),xa=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(t.child.flags|=8192,t.mode&1&&(e===null||Y.current&1?qc===0&&(qc=3):kl())),t.updateQueue!==null&&(t.flags|=4),sc(t),null);case 4:return po(),e===null&&oi(t.stateNode.containerInfo),sc(t),null;case 10:return Ua(t.type._context),sc(t),null;case 17:return Ji(t.type)&&Yi(),sc(t),null;case 19:if(K(Y),s=t.memoizedState,s===null)return sc(t),null;if(i=(t.flags&128)!=0,c=s.rendering,c===null)if(i)oc(s,!1);else{if(qc!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=go(e),c!==null){for(t.flags|=128,oc(s,!1),i=c.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=n,n=t.child;n!==null;)s=n,e=i,s.flags&=14680066,c=s.alternate,c===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return q(Y,Y.current&1|2),t.child}e=e.sibling}s.tail!==null&&U()>tl&&(t.flags|=128,i=!0,oc(s,!1),t.lanes=4194304)}else{if(!i)if(e=go(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),oc(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!J)return sc(t),null}else 2*U()-s.renderingStartTime>tl&&n!==1073741824&&(t.flags|=128,i=!0,oc(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(sc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=U(),t.sibling=null,n=Y.current,q(Y,i?n&1|2:n&1),t);case 22:case 23:return Tl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Gc&1073741824&&(sc(t),t.subtreeFlags&6&&(t.flags|=8192)):sc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function lc(e,t){switch(va(t),t.tag){case 1:return Ji(t.type)&&Yi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return po(),K(Gi),K(Wi),vo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return ho(t),null;case 13:if(K(Y),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ka()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(Y),null;case 4:return po(),null;case 10:return Ua(t.type._context),null;case 22:case 23:return Tl(),null;case 24:return null;default:return null}}var uc=!1,dc=!1,fc=typeof WeakSet==`function`?WeakSet:Set,Z=null;function pc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){$(e,t,n)}else n.current=null}function mc(e,t,n){try{n()}catch(n){$(e,t,n)}}var hc=!1;function gc(e,t){if(vi=un,e=jr(),Mr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(yi={focusedElem:e,selectionRange:n},un=!1,Z=t;Z!==null;)if(t=Z,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Z=e;else for(;Z!==null;){t=Z;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:gs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){$(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Z=e;break}Z=t.return}return h=hc,hc=!1,h}function _c(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&mc(t,n,a)}i=i.next}while(i!==r)}}function vc(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,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 yc(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 bc(e){var t=e.alternate;t!==null&&(e.alternate=null,bc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ai],delete t[ji],delete t[Ni],delete t[Pi],delete t[Fi])),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 xc(e){return e.tag===5||e.tag===3||e.tag===4}function Sc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||xc(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 a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Cc(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=_i));else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}function wc(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(wc(e,t,n),e=e.sibling;e!==null;)wc(e,t,n),e=e.sibling}var Tc=null,Ec=!1;function Dc(e,t,n){for(n=n.child;n!==null;)Oc(e,t,n),n=n.sibling}function Oc(e,t,n){if(bt&&typeof bt.onCommitFiberUnmount==`function`)try{bt.onCommitFiberUnmount(yt,n)}catch{}switch(n.tag){case 5:dc||pc(n,t);case 6:var r=Tc,i=Ec;Tc=null,Dc(e,t,n),Tc=r,Ec=i,Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tc.removeChild(n.stateNode));break;case 18:Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?Ei(e.parentNode,n):e.nodeType===1&&Ei(e,n),cn(e)):Ei(Tc,n.stateNode));break;case 4:r=Tc,i=Ec,Tc=n.stateNode.containerInfo,Ec=!0,Dc(e,t,n),Tc=r,Ec=i;break;case 0:case 11:case 14:case 15:if(!dc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&mc(n,t,o),i=i.next}while(i!==r)}Dc(e,t,n);break;case 1:if(!dc&&(pc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){$(n,t,e)}Dc(e,t,n);break;case 21:Dc(e,t,n);break;case 22:n.mode&1?(dc=(r=dc)||n.memoizedState!==null,Dc(e,t,n),dc=r):Dc(e,t,n);break;default:Dc(e,t,n)}}function kc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new fc),t.forEach(function(t){var r=Hl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Ac(e,t){var n=t.deletions;if(n!==null)for(var i=0;i<n.length;i++){var a=n[i];try{var o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 5:Tc=c.stateNode,Ec=!1;break a;case 3:Tc=c.stateNode.containerInfo,Ec=!0;break a;case 4:Tc=c.stateNode.containerInfo,Ec=!0;break a}c=c.return}if(Tc===null)throw Error(r(160));Oc(o,s,a),Tc=null,Ec=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){$(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)jc(t,e),t=t.sibling}function jc(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ac(t,e),Mc(e),i&4){try{_c(3,e,e.return),vc(3,e)}catch(t){$(e,e.return,t)}try{_c(5,e,e.return)}catch(t){$(e,e.return,t)}}break;case 1:Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return);break;case 5:if(Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return),e.flags&32){var a=e.stateNode;try{Oe(a,``)}catch(t){$(e,e.return,t)}}if(i&4&&(a=e.stateNode,a!=null)){var o=e.memoizedProps,s=n===null?o:n.memoizedProps,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c===`input`&&o.type===`radio`&&o.name!=null&&he(a,o),Fe(c,s);var u=Fe(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?Me(a,f):d===`dangerouslySetInnerHTML`?De(a,f):d===`children`?Oe(a,f):S(a,d,f,u)}switch(c){case`input`:ge(a,o);break;case`textarea`:Ce(a,o);break;case`select`:var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var m=o.value;m==null?p!==!!o.multiple&&(o.defaultValue==null?be(a,!!o.multiple,o.multiple?[]:``,!1):be(a,!!o.multiple,o.defaultValue,!0)):be(a,!!o.multiple,m,!1)}a[ji]=o}catch(t){$(e,e.return,t)}}break;case 6:if(Ac(t,e),Mc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){$(e,e.return,t)}}break;case 3:if(Ac(t,e),Mc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{cn(t.containerInfo)}catch(t){$(e,e.return,t)}break;case 4:Ac(t,e),Mc(e);break;case 13:Ac(t,e),Mc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||(el=U())),i&4&&kc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(dc=(u=dc)||d,Ac(t,e),dc=u):Ac(t,e),Mc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(Z=e,d=e.child;d!==null;){for(f=Z=d;Z!==null;){switch(p=Z,m=p.child,p.tag){case 0:case 11:case 14:case 15:_c(4,p,p.return);break;case 1:pc(p,p.return);var h=p.stateNode;if(typeof h.componentWillUnmount==`function`){i=p,n=p.return;try{t=i,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){$(i,n,e)}}break;case 5:pc(p,p.return);break;case 22:if(p.memoizedState!==null){Ic(f);continue}}m===null?Ic(f):(m.return=p,Z=m)}d=d.sibling}a:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(o=a.style,typeof o.setProperty==`function`?o.setProperty(`display`,`none`,`important`):o.display=`none`):(c=f.stateNode,l=f.memoizedProps.style,s=l!=null&&l.hasOwnProperty(`display`)?l.display:null,c.style.display=je(`display`,s))}catch(t){$(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){$(e,e.return,t)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break a;for(;f.sibling===null;){if(f.return===null||f.return===e)break a;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Ac(t,e),Mc(e),i&4&&kc(e);break;case 21:break;default:Ac(t,e),Mc(e)}}function Mc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(xc(n)){var i=n;break a}n=n.return}throw Error(r(160))}switch(i.tag){case 5:var a=i.stateNode;i.flags&32&&(Oe(a,``),i.flags&=-33),wc(e,Sc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Cc(e,Sc(e),o);break;default:throw Error(r(161))}}catch(t){$(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Nc(e,t,n){Z=e,Pc(e,t,n)}function Pc(e,t,n){for(var r=(e.mode&1)!=0;Z!==null;){var i=Z,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||uc;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||dc;s=uc;var l=dc;if(uc=o,(dc=c)&&!l)for(Z=i;Z!==null;)o=Z,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Lc(i):(c.return=o,Z=c);for(;a!==null;)Z=a,Pc(a,t,n),a=a.sibling;Z=i,uc=s,dc=l}Fc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,Z=a):Fc(e,t,n)}}function Fc(e){for(;Z!==null;){var t=Z;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:dc||vc(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!dc)if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:gs(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&ao(t,o,i);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}ao(t,s,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var l=t.memoizedProps;switch(t.type){case`button`:case`input`:case`select`:case`textarea`:l.autoFocus&&n.focus();break;case`img`:l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&cn(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}dc||t.flags&512&&yc(t)}catch(e){$(t,t.return,e)}}if(t===e){Z=null;break}if(n=t.sibling,n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Ic(e){for(;Z!==null;){var t=Z;if(t===e){Z=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Lc(e){for(;Z!==null;){var t=Z;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{vc(4,t)}catch(e){$(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){$(t,i,e)}}var a=t.return;try{yc(t)}catch(e){$(t,a,e)}break;case 5:var o=t.return;try{yc(t)}catch(e){$(t,o,e)}}}catch(e){$(t,t.return,e)}if(t===e){Z=null;break}var s=t.sibling;if(s!==null){s.return=t.return,Z=s;break}Z=t.return}}var Rc=Math.ceil,zc=C.ReactCurrentDispatcher,Bc=C.ReactCurrentOwner,Vc=C.ReactCurrentBatchConfig,Q=0,Hc=null,Uc=null,Wc=0,Gc=0,Kc=Hi(0),qc=0,Jc=null,Yc=0,Xc=0,Zc=0,Qc=null,$c=null,el=0,tl=1/0,nl=null,rl=!1,il=null,al=null,ol=!1,sl=null,cl=0,ll=0,ul=null,dl=-1,fl=0;function pl(){return Q&6?U():dl===-1?dl=U():dl}function ml(e){return e.mode&1?Q&2&&Wc!==0?Wc&-Wc:ja.transition===null?(e=W,e===0?(e=window.event,e=e===void 0?16:gn(e.type),e):e):(fl===0&&(fl=Nt()),fl):1}function hl(e,t,n,i){if(50<ll)throw ll=0,ul=null,Error(r(185));Ft(e,n,i),(!(Q&2)||e!==Hc)&&(e===Hc&&(!(Q&2)&&(Xc|=n),qc===4&&xl(e,Wc)),gl(e,i),n===1&&Q===0&&!(t.mode&1)&&(tl=U()+500,ta&&aa()))}function gl(e,t){var n=e.callbackNode;jt(e,t);var r=kt(e,e===Hc?Wc:0);if(r===0)n!==null&&ut(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&ut(n),t===1)e.tag===0?ia(Sl.bind(null,e)):ra(Sl.bind(null,e)),wi(function(){!(Q&6)&&aa()}),n=null;else{switch(Rt(r)){case 1:n=mt;break;case 4:n=ht;break;case 16:n=gt;break;case 536870912:n=vt;break;default:n=gt}n=Wl(n,_l.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function _l(e,t){if(dl=-1,fl=0,Q&6)throw Error(r(327));var n=e.callbackNode;if(Ll()&&e.callbackNode!==n)return null;var i=kt(e,e===Hc?Wc:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=Al(e,i);else{t=i;var a=Q;Q|=2;var o=Ol();(Hc!==e||Wc!==t)&&(nl=null,tl=U()+500,El(e,t));do try{Ml();break}catch(t){Dl(e,t)}while(1);Ha(),zc.current=o,Q=a,Uc===null?(Hc=null,Wc=0,t=qc):t=0}if(t!==0){if(t===2&&(a=Mt(e),a!==0&&(i=a,t=vl(e,a))),t===1)throw n=Jc,El(e,0),xl(e,i),gl(e,U()),n;if(t===6)xl(e,i);else{if(a=e.current.alternate,!(i&30)&&!bl(a)&&(t=Al(e,i),t===2&&(o=Mt(e),o!==0&&(i=o,t=vl(e,o))),t===1))throw n=Jc,El(e,0),xl(e,i),gl(e,U()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:Fl(e,$c,nl);break;case 3:if(xl(e,i),(i&130023424)===i&&(t=el+500-U(),10<t)){if(kt(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){pl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=xi(Fl.bind(null,e,$c,nl),t);break}Fl(e,$c,nl);break;case 4:if(xl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-St(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=U()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Rc(i/1960))-i,10<i){e.timeoutHandle=xi(Fl.bind(null,e,$c,nl),i);break}Fl(e,$c,nl);break;case 5:Fl(e,$c,nl);break;default:throw Error(r(329))}}}return gl(e,U()),e.callbackNode===n?_l.bind(null,e):null}function vl(e,t){var n=Qc;return e.current.memoizedState.isDehydrated&&(El(e,t).flags|=256),e=Al(e,t),e!==2&&(t=$c,$c=n,t!==null&&yl(t)),e}function yl(e){$c===null?$c=e:$c.push.apply($c,e)}function bl(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Er(a(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function xl(e,t){for(t&=~Zc,t&=~Xc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-St(t),r=1<<n;e[n]=-1,t&=~r}}function Sl(e){if(Q&6)throw Error(r(327));Ll();var t=kt(e,0);if(!(t&1))return gl(e,U()),null;var n=Al(e,t);if(e.tag!==0&&n===2){var i=Mt(e);i!==0&&(t=i,n=vl(e,i))}if(n===1)throw n=Jc,El(e,0),xl(e,t),gl(e,U()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Fl(e,$c,nl),gl(e,U()),null}function Cl(e,t){var n=Q;Q|=1;try{return e(t)}finally{Q=n,Q===0&&(tl=U()+500,ta&&aa())}}function wl(e){sl!==null&&sl.tag===0&&!(Q&6)&&Ll();var t=Q;Q|=1;var n=Vc.transition,r=W;try{if(Vc.transition=null,W=1,e)return e()}finally{W=r,Vc.transition=n,Q=t,!(Q&6)&&aa()}}function Tl(){Gc=Kc.current,K(Kc)}function El(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Si(n)),Uc!==null)for(n=Uc.return;n!==null;){var r=n;switch(va(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Yi();break;case 3:po(),K(Gi),K(Wi),vo();break;case 5:ho(r);break;case 4:po();break;case 13:K(Y);break;case 19:K(Y);break;case 10:Ua(r.type._context);break;case 22:case 23:Tl()}n=n.return}if(Hc=e,Uc=e=Yl(e.current,null),Wc=Gc=t,qc=0,Jc=null,Zc=Xc=Yc=0,$c=Qc=null,qa!==null){for(t=0;t<qa.length;t++)if(n=qa[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}qa=null}return e}function Dl(e,t){do{var n=Uc;try{if(Ha(),yo.current=fs,wo){for(var i=X.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}wo=!1}if(xo=0,Co=So=X=null,To=!1,Eo=0,Bc.current=null,n===null||n.return===null){qc=1,Jc=t,Uc=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=Wc,c.flags|=32768,typeof l==`object`&&l&&typeof l.then==`function`){var u=l,d=c,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=As(s);if(m!==null){m.flags&=-257,js(m,s,c,o,t),m.mode&1&&ks(o,u,t),t=m,l=u;var h=t.updateQueue;if(h===null){var g=new Set;g.add(l),t.updateQueue=g}else h.add(l);break a}else{if(!(t&1)){ks(o,u,t),kl();break a}l=Error(r(426))}}else if(J&&c.mode&1){var _=As(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),js(_,s,c,o,t),Aa(Cs(l,c));break a}}o=l=Cs(l,c),qc!==4&&(qc=2),Qc===null?Qc=[o]:Qc.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=Ds(o,l,t);ro(o,v);break a;case 1:c=l;var y=o.type,b=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError==`function`||b!==null&&typeof b.componentDidCatch==`function`&&(al===null||!al.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=Os(o,c,t);ro(o,x);break a}}o=o.return}while(o!==null)}Pl(n)}catch(e){t=e,Uc===n&&n!==null&&(Uc=n=n.return);continue}break}while(1)}function Ol(){var e=zc.current;return zc.current=fs,e===null?fs:e}function kl(){(qc===0||qc===3||qc===2)&&(qc=4),Hc===null||!(Yc&268435455)&&!(Xc&268435455)||xl(Hc,Wc)}function Al(e,t){var n=Q;Q|=2;var i=Ol();(Hc!==e||Wc!==t)&&(nl=null,El(e,t));do try{jl();break}catch(t){Dl(e,t)}while(1);if(Ha(),Q=n,zc.current=i,Uc!==null)throw Error(r(261));return Hc=null,Wc=0,qc}function jl(){for(;Uc!==null;)Nl(Uc)}function Ml(){for(;Uc!==null&&!dt();)Nl(Uc)}function Nl(e){var t=Ul(e.alternate,e,Gc);e.memoizedProps=e.pendingProps,t===null?Pl(e):Uc=t,Bc.current=null}function Pl(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=lc(n,t),n!==null){n.flags&=32767,Uc=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{qc=6,Uc=null;return}}else if(n=cc(n,t,Gc),n!==null){Uc=n;return}if(t=t.sibling,t!==null){Uc=t;return}Uc=t=e}while(t!==null);qc===0&&(qc=5)}function Fl(e,t,n){var r=W,i=Vc.transition;try{Vc.transition=null,W=1,Il(e,t,n,r)}finally{Vc.transition=i,W=r}return null}function Il(e,t,n,i){do Ll();while(sl!==null);if(Q&6)throw Error(r(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(It(e,o),e===Hc&&(Uc=Hc=null,Wc=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ol||(ol=!0,Wl(gt,function(){return Ll(),null})),o=(n.flags&15990)!=0,n.subtreeFlags&15990||o){o=Vc.transition,Vc.transition=null;var s=W;W=1;var c=Q;Q|=4,Bc.current=null,gc(e,n),jc(n,e),Nr(yi),un=!!vi,yi=vi=null,e.current=n,Nc(n,e,a),ft(),Q=c,W=s,Vc.transition=o}else e.current=n;if(ol&&(ol=!1,sl=e,cl=a),o=e.pendingLanes,o===0&&(al=null),xt(n.stateNode,i),gl(e,U()),t!==null)for(i=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],i(a.value,{componentStack:a.stack,digest:a.digest});if(rl)throw rl=!1,e=il,il=null,e;return cl&1&&e.tag!==0&&Ll(),o=e.pendingLanes,o&1?e===ul?ll++:(ll=0,ul=e):ll=0,aa(),null}function Ll(){if(sl!==null){var e=Rt(cl),t=Vc.transition,n=W;try{if(Vc.transition=null,W=16>e?16:e,sl===null)var i=!1;else{if(e=sl,sl=null,cl=0,Q&6)throw Error(r(331));var a=Q;for(Q|=4,Z=e.current;Z!==null;){var o=Z,s=o.child;if(Z.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(Z=u;Z!==null;){var d=Z;switch(d.tag){case 0:case 11:case 15:_c(8,d,o)}var f=d.child;if(f!==null)f.return=d,Z=f;else for(;Z!==null;){d=Z;var p=d.sibling,m=d.return;if(bc(d),d===u){Z=null;break}if(p!==null){p.return=m,Z=p;break}Z=m}}}var h=o.alternate;if(h!==null){var g=h.child;if(g!==null){h.child=null;do{var _=g.sibling;g.sibling=null,g=_}while(g!==null)}}Z=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,Z=s;else b:for(;Z!==null;){if(o=Z,o.flags&2048)switch(o.tag){case 0:case 11:case 15:_c(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,Z=v;break b}Z=o.return}}var y=e.current;for(Z=y;Z!==null;){s=Z;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,Z=b;else b:for(s=y;Z!==null;){if(c=Z,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:vc(9,c)}}catch(e){$(c,c.return,e)}if(c===s){Z=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,Z=x;break b}Z=c.return}}if(Q=a,aa(),bt&&typeof bt.onPostCommitFiberRoot==`function`)try{bt.onPostCommitFiberRoot(yt,e)}catch{}i=!0}return i}finally{W=n,Vc.transition=t}}return!1}function Rl(e,t,n){t=Cs(n,t),t=Ds(e,t,1),e=to(e,t,1),t=pl(),e!==null&&(Ft(e,1,t),gl(e,t))}function $(e,t,n){if(e.tag===3)Rl(e,e,n);else for(;t!==null;){if(t.tag===3){Rl(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(al===null||!al.has(r))){e=Cs(n,e),e=Os(t,e,1),t=to(t,e,1),e=pl(),t!==null&&(Ft(t,1,e),gl(t,e));break}}t=t.return}}function zl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=pl(),e.pingedLanes|=e.suspendedLanes&n,Hc===e&&(Wc&n)===n&&(qc===4||qc===3&&(Wc&130023424)===Wc&&500>U()-el?El(e,0):Zc|=n),gl(e,t)}function Bl(e,t){t===0&&(e.mode&1?(t=Dt,Dt<<=1,!(Dt&130023424)&&(Dt=4194304)):t=1);var n=pl();e=Xa(e,t),e!==null&&(Ft(e,t,n),gl(e,n))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Bl(e,n)}var Ul=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Gi.current)Ns=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ns=!1,nc(e,t,n);Ns=!!(e.flags&131072)}else Ns=!1,J&&t.flags&1048576&&ga(t,la,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;ec(e,t),e=t.pendingProps;var a=qi(t,Wi.current);Ga(t,n),a=Ao(null,t,i,e,a,n);var o=jo();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ji(i)?(o=!0,Qi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Qa(t),a.updater=vs,t.stateNode=a,a._reactInternals=t,Ss(t,i,e,n),t=Hs(null,t,i,!0,o,n)):(t.tag=0,J&&o&&_a(t),Ps(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch(ec(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Jl(i),e=gs(i,e),a){case 0:t=Bs(null,t,i,e,n);break a;case 1:t=Vs(null,t,i,e,n);break a;case 11:t=Fs(null,t,i,e,n);break a;case 14:t=Is(null,t,i,gs(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Bs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Vs(e,t,i,a,n);case 3:a:{if(Us(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,$a(e,t),io(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Cs(Error(r(423)),t),t=Ws(e,t,i,n,a);break a}else if(i!==a){a=Cs(Error(r(424)),t),t=Ws(e,t,i,n,a);break a}else for(ba=Di(t.stateNode.containerInfo.firstChild),ya=t,J=!0,xa=null,n=La(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ka(),i===a){t=tc(e,t,n);break a}Ps(e,t,i,n)}t=t.child}return t;case 5:return mo(t),e===null&&Ta(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,bi(i,a)?s=null:o!==null&&bi(i,o)&&(t.flags|=32),zs(e,t),Ps(e,t,s,n),t.child;case 6:return e===null&&Ta(t),null;case 13:return qs(e,t,n);case 4:return fo(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Ia(t,null,i,n):Ps(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Fs(e,t,i,a,n);case 7:return Ps(e,t,t.pendingProps,n),t.child;case 8:return Ps(e,t,t.pendingProps.children,n),t.child;case 12:return Ps(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,q(Ra,i._currentValue),i._currentValue=s,o!==null)if(Er(o.value,s)){if(o.children===a.children&&!Gi.current){t=tc(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=eo(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Wa(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Wa(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ps(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ga(t,n),a=Ka(a),i=i(a),t.flags|=1,Ps(e,t,i,n),t.child;case 14:return i=t.type,a=gs(i,t.pendingProps),a=gs(i.type,a),Is(e,t,i,a,n);case 15:return Ls(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),ec(e,t),t.tag=1,Ji(i)?(e=!0,Qi(t)):e=!1,Ga(t,n),bs(t,i,a),Ss(t,i,a,n),Hs(null,t,i,!0,e,n);case 19:return $s(e,t,n);case 22:return Rs(e,t,n)}throw Error(r(156,t.tag))};function Wl(e,t){return lt(e,t)}function Gl(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 Kl(e,t,n,r){return new Gl(e,t,n,r)}function ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jl(e){if(typeof e==`function`)return+!!ql(e);if(e!=null){if(e=e.$$typeof,e===ee)return 11;if(e===N)return 14}return 2}function Yl(e,t){var n=e.alternate;return n===null?(n=Kl(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 Xl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case E:return Zl(n.children,a,o,t);case D:s=8,a|=8;break;case O:return e=Kl(12,n,t,a|2),e.elementType=O,e.lanes=o,e;case j:return e=Kl(13,n,t,a),e.elementType=j,e.lanes=o,e;case M:return e=Kl(19,n,t,a),e.elementType=M,e.lanes=o,e;case F:return Ql(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case k:s=10;break a;case A:s=9;break a;case ee:s=11;break a;case N:s=14;break a;case P:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Kl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Zl(e,t,n,r){return e=Kl(7,e,r,t),e.lanes=n,e}function Ql(e,t,n,r){return e=Kl(22,e,r,t),e.elementType=F,e.lanes=n,e.stateNode={isHidden:!1},e}function $l(e,t,n){return e=Kl(6,e,null,t),e.lanes=n,e}function eu(e,t,n){return t=Kl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function tu(e,t,n,r,i){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=Pt(0),this.expirationTimes=Pt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nu(e,t,n,r,i,a,o,s,c){return e=new tu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Kl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Qa(a),e}function ru(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:T,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function iu(e){if(!e)return Ui;e=e._reactInternals;a:{if(rt(e)!==e||e.tag!==1)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break a;case 1:if(Ji(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break a}}t=t.return}while(t!==null);throw Error(r(171))}if(e.tag===1){var n=e.type;if(Ji(n))return Zi(e,n,t)}return t}function au(e,t,n,r,i,a,o,s,c){return e=nu(n,r,!0,e,i,a,o,s,c),e.context=iu(null),n=e.current,r=pl(),i=ml(n),a=eo(r,i),a.callback=t??null,to(n,a,i),e.current.lanes=i,Ft(e,i,r),gl(e,r),e}function ou(e,t,n,r){var i=t.current,a=pl(),o=ml(i);return n=iu(n),t.context===null?t.context=n:t.pendingContext=n,t=eo(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=to(i,t,o),e!==null&&(hl(e,i,o,a),no(e,i,o)),o}function su(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function cu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lu(e,t){cu(e,t),(e=e.alternate)&&cu(e,t)}function uu(){return null}var du=typeof reportError==`function`?reportError:function(e){console.error(e)};function fu(e){this._internalRoot=e}pu.prototype.render=fu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));ou(e,t,null,null)},pu.prototype.unmount=fu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;wl(function(){ou(null,e,null,null)}),t[Mi]=null}};function pu(e){this._internalRoot=e}pu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ht();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Zt.length&&t!==0&&t<Zt[n].priority;n++);Zt.splice(n,0,e),n===0&&nn(e)}};function mu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function hu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function gu(){}function _u(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=su(o);a.call(e)}}var o=au(t,r,e,0,null,!1,!1,``,gu);return e._reactRootContainer=o,e[Mi]=o.current,oi(e.nodeType===8?e.parentNode:e),wl(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=su(c);s.call(e)}}var c=nu(e,0,!1,null,null,!1,!1,``,gu);return e._reactRootContainer=c,e[Mi]=c.current,oi(e.nodeType===8?e.parentNode:e),wl(function(){ou(t,c,n,r)}),c}function vu(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i==`function`){var s=i;i=function(){var e=su(o);s.call(e)}}ou(t,o,e,i)}else o=_u(n,t,e,i,r);return su(o)}zt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Ot(t.pendingLanes);n!==0&&(Lt(t,n|1),gl(t,U()),!(Q&6)&&(tl=U()+500,aa()))}break;case 13:wl(function(){var t=Xa(e,1);t!==null&&hl(t,e,1,pl())}),lu(e,1)}},Bt=function(e){if(e.tag===13){var t=Xa(e,134217728);t!==null&&hl(t,e,134217728,pl()),lu(e,134217728)}},Vt=function(e){if(e.tag===13){var t=ml(e),n=Xa(e,t);n!==null&&hl(n,e,t,pl()),lu(e,t)}},Ht=function(){return W},Ut=function(e,t){var n=W;try{return W=e,t()}finally{W=n}},Re=function(e,t,n){switch(t){case`input`:if(ge(e,n),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name=`+JSON.stringify(``+t)+`][type="radio"]`),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var a=zi(i);if(!a)throw Error(r(90));de(i),ge(i,a)}}}break;case`textarea`:Ce(e,n);break;case`select`:t=n.value,t!=null&&be(e,!!n.multiple,t,!1)}},Ue=Cl,We=wl;var yu={usingClientEntryPoint:!1,Events:[Li,Ri,zi,V,He,Cl]},bu={findFiberByHostInstance:Ii,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},xu={bundleType:bu.bundleType,version:bu.version,rendererPackageName:bu.rendererPackageName,rendererConfig:bu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=st(e),e===null?null:e.stateNode},findFiberByHostInstance:bu.findFiberByHostInstance||uu,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:`18.3.1-next-f1338f8080-20240426`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Su=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Su.isDisabled&&Su.supportsFiber)try{yt=Su.inject(xu),bt=Su}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=yu,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!mu(t))throw Error(r(200));return ru(e,t,null,n)},e.createRoot=function(e,t){if(!mu(e))throw Error(r(299));var n=!1,i=``,a=du;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=nu(e,1,!1,null,null,n,!1,i,a),e[Mi]=t.current,oi(e.nodeType===8?e.parentNode:e),new fu(t)},e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=st(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return wl(e)},e.hydrate=function(e,t,n){if(!hu(t))throw Error(r(200));return vu(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!mu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=du;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=au(t,null,e,1,n??null,a,!1,o,s),e[Mi]=t.current,oi(e),i)for(e=0;e<i.length;e++)n=i[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new pu(t)},e.render=function(e,t,n){if(!hu(t))throw Error(r(200));return vu(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!hu(e))throw Error(r(40));return e._reactRootContainer?(wl(function(){vu(null,null,e,!1,function(){e._reactRootContainer=null,e[Mi]=null})}),!0):!1},e.unstable_batchedUpdates=Cl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!hu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return vu(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=m();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),g=c(u()),_=c(h()),v=`clef_ui_token`,y=null;function b(){let e=new URLSearchParams(window.location.search).get(`token`);if(e){y=e,sessionStorage.setItem(v,e);let t=new URL(window.location.href);t.searchParams.delete(`token`),window.history.replaceState({},``,t.pathname+t.hash)}else y=sessionStorage.getItem(v)}function x(e,t){let n=new Headers(t?.headers);return y&&n.set(`Authorization`,`Bearer ${y}`),fetch(e,{...t,headers:n})}var S=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),C=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),w={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},T=(0,g.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,g.createElement)(`svg`,{ref:c,...w,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:C(`lucide`,i),...s},[...o.map(([e,t])=>(0,g.createElement)(e,t)),...Array.isArray(a)?a:[a]])),E=(e,t)=>{let n=(0,g.forwardRef)(({className:n,...r},i)=>(0,g.createElement)(T,{ref:i,iconNode:t,className:C(`lucide-${S(e)}`,n),...r}));return n.displayName=`${e}`,n},D=E(`ArrowLeftRight`,[[`path`,{d:`M8 3 4 7l4 4`,key:`9rb6wj`}],[`path`,{d:`M4 7h16`,key:`6tx8e3`}],[`path`,{d:`m16 21 4-4-4-4`,key:`siv7j2`}],[`path`,{d:`M20 17H4`,key:`h6l3hr`}]]),O=E(`CircleCheck`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),k=E(`Clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16 14`,key:`68esgv`}]]),A=E(`FileText`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),ee=E(`Hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),j=E(`KeyRound`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),M=E(`LayoutGrid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),N=E(`Mail`,[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`,key:`1ocrg3`}]]),P=E(`RefreshCw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),F=E(`RotateCcw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),te=E(`Scale`,[[`path`,{d:`m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z`,key:`7g6ntu`}],[`path`,{d:`m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z`,key:`ijws7r`}],[`path`,{d:`M7 21h10`,key:`1b0cd5`}],[`path`,{d:`M12 3v18`,key:`108xh3`}],[`path`,{d:`M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2`,key:`3gwbw2`}]]),ne=E(`ScanSearch`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`m16 16-1.9-1.9`,key:`1dq9hf`}]]),I=E(`Table2`,[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`,key:`gugj83`}]]),re=E(`Upload`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),ie=E(`Users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`path`,{d:`M16 3.13a4 4 0 0 1 0 7.75`,key:`1da9ce`}]]),ae=o((e=>{var t=u(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),L=o(((e,t)=>{t.exports=ae()}))();function oe({activeView:e,setView:t,activeNs:n,setNs:r,manifest:i,matrixStatuses:a,gitStatus:o,lintErrorCount:s,scanIssueCount:c,policyOverdueCount:l}){let u=o?o.staged.length+o.unstaged.length+o.untracked.length:0,d=i?.namespaces??[];return(0,L.jsxs)(`div`,{className:`flex h-screen w-[220px] shrink-0 flex-col border-r border-edge bg-ink-850`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5 border-b border-edge px-5 pt-5 pb-4`,children:[(0,L.jsx)(`div`,{"aria-hidden":`true`,className:`flex h-[30px] w-[30px] items-center justify-center rounded-md border border-gold-500/30 bg-gold-500/[0.08]`,children:(0,L.jsx)(`img`,{src:`/clef.svg`,alt:``,width:12,height:20,className:`[filter:drop-shadow(0_0_8px_rgba(240,165,0,0.33))]`})}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`font-mono text-[18px] font-bold leading-none tracking-[-0.02em] text-bone`,children:`Clef`}),(0,L.jsxs)(`div`,{className:`mt-1 font-mono text-[9px] uppercase tracking-[0.12em] text-ash`,children:[i?.sops.default_backend??`local`,` / main`]})]})]}),(0,L.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overflow-x-hidden px-2.5 py-3`,children:[(0,L.jsx)(R,{icon:M,label:`Matrix`,active:e===`matrix`,onClick:()=>t(`matrix`)}),(0,L.jsx)(R,{icon:D,label:`Diff`,active:e===`diff`,onClick:()=>t(`diff`)}),(0,L.jsx)(R,{icon:O,label:`Lint`,active:e===`lint`,onClick:()=>t(`lint`),badge:s>0?String(s):void 0,badgeTone:`stop`}),(0,L.jsx)(R,{icon:ne,label:`Scan`,active:e===`scan`,onClick:()=>t(`scan`),badge:c>0?String(c):void 0,badgeTone:`warn`}),(0,L.jsx)(R,{icon:I,label:`Schema`,active:e===`schema`,onClick:()=>t(`schema`)}),(0,L.jsx)(R,{icon:te,label:`Policy`,active:e===`policy`,onClick:()=>t(`policy`),badge:l>0?String(l):void 0,badgeTone:`stop`}),(0,L.jsx)(R,{icon:re,label:`Import`,active:e===`import`,onClick:()=>t(`import`)}),(0,L.jsx)(R,{icon:ie,label:`Recipients`,active:e===`recipients`,onClick:()=>t(`recipients`)}),(0,L.jsx)(R,{icon:j,label:`Service IDs`,active:e===`identities`,onClick:()=>t(`identities`),badge:i?.service_identities?.length?String(i.service_identities.length):void 0,badgeTone:`purple`}),(0,L.jsx)(R,{icon:P,label:`Backend`,active:e===`backend`,onClick:()=>t(`backend`)}),(0,L.jsx)(R,{icon:F,label:`Reset`,active:e===`reset`,onClick:()=>t(`reset`)}),(0,L.jsx)(R,{icon:A,label:`Manifest`,active:e===`manifest`,onClick:()=>t(`manifest`)}),(0,L.jsx)(R,{icon:N,label:`Envelope`,active:e===`envelope`,onClick:()=>t(`envelope`)}),(0,L.jsx)(R,{icon:k,label:`History`,active:e===`history`,onClick:()=>t(`history`)}),(0,L.jsx)(`div`,{className:`mt-5 mb-1.5 px-2`,children:(0,L.jsx)(`span`,{className:`font-sans text-[10px] font-semibold uppercase tracking-[0.1em] text-ash-deep`,children:`Namespaces`})}),d.map(i=>{let o=a.some(e=>e.cell.namespace===i.name&&e.issues.length>0);return(0,L.jsx)(R,{icon:ee,label:i.name,active:e===`editor`&&n===i.name,onClick:()=>{t(`editor`),r(i.name)},badge:o?`!`:void 0,badgeTone:`warn`},i.name)})]}),(0,L.jsxs)(`div`,{className:`border-t border-edge px-4 py-3`,children:[(0,L.jsx)(`div`,{className:`flex items-center gap-1.5 text-ash`,children:(0,L.jsxs)(`span`,{className:`font-mono text-[10px]`,children:[u,` uncommitted`]})}),(0,L.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5 text-go-500`,children:[(0,L.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 rounded-full bg-go-500 shadow-[0_0_5px_var(--color-go-500)]`}),(0,L.jsxs)(`span`,{className:`font-mono text-[10px]`,children:[i?.sops.default_backend??`age`,` key loaded`]})]})]})]})}function R({icon:e,label:t,active:n,onClick:r,badge:i,badgeTone:a=`warn`}){let o=n?`bg-gold-500/10 text-gold-500 font-semibold border-l-4 border-gold-500 pl-[6px]`:`border-l-4 border-transparent text-bone hover:bg-ink-800`;return(0,L.jsxs)(`div`,{role:`button`,tabIndex:0,"data-testid":`nav-${t.toLowerCase()}`,onClick:r,onKeyDown:e=>{e.key===`Enter`&&r()},className:`relative flex items-center gap-2.5 rounded-md px-2.5 py-1.5 mb-0.5 cursor-pointer transition-colors ${o}`,children:[(0,L.jsx)(e,{size:14,strokeWidth:1.75,className:n?`text-gold-500`:`text-ash`,"aria-hidden":`true`}),(0,L.jsx)(`span`,{className:`flex-1 font-sans text-[13px]`,children:t}),i&&(0,L.jsx)(ce,{tone:a,children:i})]})}var se={stop:`text-stop-500 bg-stop-500/15 border-stop-500/40`,warn:`text-warn-500 bg-warn-500/15 border-warn-500/40`,purple:`text-purple-400 bg-purple-400/15 border-purple-400/40`};function ce({tone:e,children:t}){return(0,L.jsx)(`span`,{className:`rounded-sm border px-1.5 py-px font-mono text-[9px] font-bold ${se[e]}`,children:t})}var le={primary:`bg-gold-500 text-ink-950 border border-transparent hover:bg-gold-400`,ghost:`bg-transparent text-bone border border-edge-strong hover:bg-ink-800`,danger:`bg-stop-500/15 text-stop-500 border border-stop-500/40 hover:bg-stop-500/25`};function z({children:e,variant:t=`ghost`,onClick:n,icon:r,type:i=`button`,className:a,style:o,...s}){return(0,L.jsxs)(`button`,{type:i,onClick:n,...s,className:[`inline-flex items-center gap-1.5 rounded-md px-3 py-1 font-sans text-[12px] font-semibold cursor-pointer transition-colors disabled:cursor-not-allowed disabled:opacity-60`,le[t],a??``].join(` `).trim(),children:[r&&(0,L.jsx)(`span`,{className:`flex`,children:r}),e]})}var ue={dev:{text:`text-go-500`,bg:`bg-go-500/10`,border:`border-go-500/20`,label:`DEV`},staging:{text:`text-warn-500`,bg:`bg-warn-500/10`,border:`border-warn-500/20`,label:`STG`},production:{text:`text-stop-500`,bg:`bg-stop-500/10`,border:`border-stop-500/20`,label:`PRD`}};function de({env:e,small:t}){let n=ue[e]??{text:`text-ash`,bg:`bg-transparent`,border:`border-ash/20`,label:e.toUpperCase().slice(0,3)},r=t?`text-[9px] px-1.5 py-px`:`text-[10px] px-2 py-0.5`;return(0,L.jsx)(`span`,{className:`inline-block rounded-sm border font-mono font-bold tracking-[0.08em] ${n.text} ${n.bg} ${n.border} ${r}`,children:n.label})}var fe={ok:`bg-go-500 shadow-[0_0_6px_rgb(52_211_153_/_0.53)]`,missing_keys:`bg-stop-500 shadow-[0_0_6px_rgb(248_113_113_/_0.53)]`,schema_warn:`bg-warn-500 shadow-[0_0_6px_rgb(251_191_36_/_0.53)]`,sops_error:`bg-stop-500 shadow-[0_0_6px_rgb(248_113_113_/_0.53)]`};function pe({status:e}){return(0,L.jsx)(`span`,{"data-testid":`status-dot`,className:`inline-block h-[7px] w-[7px] rounded-full ${fe[e]??`bg-ash shadow-[0_0_6px_rgb(155_163_183_/_0.53)]`}`})}function me(...e){return e.filter(Boolean).join(` `)}var he=g.forwardRef(function({tone:e=`default`,interactive:t=!1,className:n,children:r,...i},a){return(0,L.jsx)(`div`,{ref:a,className:me(`bg-ink-850 border rounded-card`,e===`error`?`border-stop-500/40`:`border-edge`,t?`transition-shadow transition-colors hover:border-edge-strong hover:shadow-soft-drop`:``,n),...i,children:r})});function ge({title:e,subtitle:t,actions:n,className:r,...i}){return(0,L.jsxs)(`div`,{className:me(`flex items-center justify-between px-4 py-3 border-b border-edge`,r),...i,children:[(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsx)(`div`,{className:`font-sans text-[13px] font-bold text-bone`,children:e}),t?(0,L.jsx)(`div`,{className:`font-mono text-[10px] text-ash-dim mt-0.5`,children:t}):null]}),n?(0,L.jsx)(`div`,{className:`flex gap-2 shrink-0`,children:n}):null]})}function _e({className:e,children:t,...n}){return(0,L.jsx)(`div`,{className:me(`p-4`,e),...n,children:t})}var ve=he;ve.Header=ge,ve.Body=_e;function ye(...e){return e.filter(Boolean).join(` `)}var be=g.forwardRef(function({className:e,children:t,...n},r){return(0,L.jsx)(`div`,{ref:r,className:ye(`flex items-center justify-between px-7 py-5 border-b border-edge bg-ink-900`,e),...n,children:t})});function xe({className:e,children:t,...n}){return(0,L.jsx)(`h1`,{className:ye(`text-[20px] font-semibold text-bone tracking-[-0.015em] m-0`,e),...n,children:t})}function Se({className:e,children:t,...n}){return(0,L.jsx)(`div`,{className:ye(`font-mono text-[11px] text-ash-dim`,e),...n,children:t})}function Ce({className:e,children:t,...n}){return(0,L.jsx)(`div`,{className:ye(`flex gap-2`,e),...n,children:t})}var B=be;B.Title=xe,B.Subtitle=Se,B.Actions=Ce;function we(...e){return e.filter(Boolean).join(` `)}var Te={default:`bg-ash-deep`,go:`bg-go-500`,warn:`bg-warn-500`,stop:`bg-stop-500`,gold:`bg-gold-500`};g.forwardRef(function({label:e,value:t,tone:n=`default`,icon:r,className:i,...a},o){return(0,L.jsxs)(`div`,{ref:o,"data-tone":n,className:we(`bg-ink-850 border border-edge rounded-card p-4 relative overflow-hidden`,i),...a,children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:we(`absolute inset-y-0 left-0 w-[3px]`,Te[n])}),(0,L.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,L.jsx)(`div`,{className:`font-mono text-[10px] uppercase tracking-[0.08em] text-ash-dim`,children:e}),r?(0,L.jsx)(`div`,{className:`text-ash-dim`,children:r}):null]}),(0,L.jsx)(`div`,{className:`font-mono text-[28px] text-bone mt-2`,children:t})]})});var Ee=`w-full bg-ink-950 border border-edge rounded-md px-2.5 py-1.5 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500 placeholder:text-ash-dim disabled:text-ash-dim disabled:bg-ink-900`;function De(...e){return e.filter(Boolean).join(` `)}var Oe=g.forwardRef(function({className:e,...t},n){return(0,L.jsx)(`input`,{ref:n,className:De(Ee,e),...t})});g.forwardRef(function({className:e,...t},n){return(0,L.jsx)(`textarea`,{ref:n,className:De(Ee,e),...t})});function ke(...e){return e.filter(Boolean).join(` `)}function Ae({required:e,className:t,children:n,...r}){return(0,L.jsxs)(`label`,{className:ke(`font-sans text-[11px] font-medium text-ash uppercase tracking-[0.08em]`,t),...r,children:[n,e?(0,L.jsx)(`span`,{className:`text-stop-500`,children:` *`}):null]})}function je({className:e,children:t,...n}){return(0,L.jsx)(`div`,{className:ke(`font-sans text-[11px] text-ash-dim mt-1`,e),...n,children:t})}function Me({className:e,children:t,...n}){return(0,L.jsx)(`div`,{role:`alert`,className:ke(`font-sans text-[11px] text-stop-500 mt-1`,e),...n,children:t})}var Ne=g.forwardRef(function({label:e,hint:t,error:n,required:r,className:i,children:a,htmlFor:o,...s},c){return(0,L.jsxs)(`div`,{ref:c,className:ke(`flex flex-col gap-1.5`,i),...s,children:[(0,L.jsx)(Ae,{required:r,htmlFor:o,children:e}),(0,L.jsx)(`div`,{children:a}),n?(0,L.jsx)(Me,{children:n}):t?(0,L.jsx)(je,{children:t}):null]})});Ne.Label=Ae,Ne.Hint=je,Ne.Error=Me;function Pe(...e){return e.filter(Boolean).join(` `)}var Fe=g.forwardRef(function({icon:e,title:t,body:n,action:r,className:i,...a},o){return(0,L.jsxs)(`div`,{ref:o,className:Pe(`flex flex-col items-center justify-center border border-dashed border-edge rounded-md p-6 text-center`,i),...a,children:[e?(0,L.jsx)(`div`,{className:`text-ash-dim mb-3 text-[32px] leading-none`,"aria-hidden":!0,children:e}):null,(0,L.jsx)(`div`,{className:`font-sans text-[13px] font-semibold text-bone`,children:t}),n?(0,L.jsx)(`div`,{className:`font-sans text-[12px] text-ash-dim mt-1`,children:n}):null,r?(0,L.jsx)(`div`,{className:`mt-3`,children:r}):null]})});function Ie(...e){return e.filter(Boolean).join(` `)}var Le=g.forwardRef(function({className:e,children:t,...n},r){return(0,L.jsx)(`div`,{ref:r,className:Ie(`bg-ink-850 border border-edge rounded-card overflow-hidden`,e),...n,children:(0,L.jsx)(`table`,{className:`w-full border-collapse`,children:t})})});function Re({className:e,children:t,...n}){return(0,L.jsx)(`thead`,{className:Ie(`bg-ink-800 border-b border-edge`,e),...n,children:t})}function ze({className:e,children:t,...n}){return(0,L.jsx)(`th`,{className:Ie(`px-5 py-3 font-sans text-[11px] font-semibold text-ash-dim uppercase tracking-[0.08em] text-left`,e),...n,children:t})}function Be({interactive:e,tone:t,className:n,children:r,...i}){return(0,L.jsx)(`tr`,{className:Ie(`border-b border-edge last:border-0`,e?`hover:bg-ink-800 cursor-pointer transition-colors`:``,t===`drift`?`shadow-[inset_4px_0_0_0_var(--color-stop-500)]`:``,n),...i,children:r})}function Ve({className:e,children:t,...n}){return(0,L.jsx)(`td`,{className:Ie(`px-5 py-3 font-sans text-[12px] text-bone`,e),...n,children:t})}var V=Le;V.Header=Re,V.Row=Be,V.HeaderCell=ze,V.Cell=Ve;var He=(0,g.createContext)(null);function Ue(e){let t=(0,g.useContext)(He);if(!t)throw Error(`${e} must be used inside <Tabs>`);return t}function We({value:e,onChange:t,children:n}){return(0,L.jsx)(He.Provider,{value:{value:e,onChange:t},children:n})}function Ge({children:e,className:t,...n}){return(0,L.jsx)(`div`,{role:`tablist`,className:[`flex gap-1 border-b border-edge`,t].filter(Boolean).join(` `),...n,children:e})}function Ke({value:e,children:t,className:n,onClick:r,...i}){let a=Ue(`Tabs.Tab`),o=a.value===e;return(0,L.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":o,className:[`px-4 py-2 font-sans text-[12px] font-medium`,o?`text-gold-500 border-b-2 border-gold-500 -mb-px`:`text-ash hover:text-bone border-b-2 border-transparent`,n].filter(Boolean).join(` `),onClick:t=>{a.onChange(e),r&&r(t)},...i,children:t})}function qe({value:e,children:t,...n}){return Ue(`Tabs.Panel`).value===e?(0,L.jsx)(`div`,{role:`tabpanel`,...n,children:t}):null}var Je=We;Je.List=Ge,Je.Tab=Ke,Je.Panel=qe;function Ye(...e){return e.filter(Boolean).join(` `)}function Xe({open:e,onClose:t,children:n}){return(0,g.useEffect)(()=>{if(!e)return;function n(e){e.key===`Escape`&&t()}return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t]),e?(0,L.jsx)(`div`,{"data-testid":`dialog-scrim`,className:`fixed inset-0 z-50 bg-[rgba(4,5,8,0.72)] flex items-center justify-center`,onClick:t,children:(0,L.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,className:`bg-ink-850 border border-edge rounded-card shadow-plate w-full max-w-md p-5`,onClick:e=>e.stopPropagation(),children:n})}):null}function Ze({className:e,children:t,...n}){return(0,L.jsx)(`div`,{className:Ye(`font-sans text-[15px] font-semibold text-bone mb-3`,e),...n,children:t})}function Qe({className:e,children:t,...n}){return(0,L.jsx)(`div`,{className:Ye(`font-sans text-[13px] text-bone`,e),...n,children:t})}function $e({className:e,children:t,...n}){return(0,L.jsx)(`div`,{className:Ye(`flex gap-2 justify-end mt-4`,e),...n,children:t})}var H=Xe;H.Title=Ze,H.Body=Qe,H.Footer=$e,(0,g.createContext)(null);function et(...e){return e.filter(Boolean).join(` `)}function tt(e,t){switch(e){case`go`:return t===`solid`?`bg-go-500/15 text-go-500 border border-transparent`:`border border-go-500/40 text-go-500`;case`warn`:return t===`solid`?`bg-warn-500/15 text-warn-500 border border-transparent`:`border border-warn-500/40 text-warn-500`;case`stop`:return t===`solid`?`bg-stop-500/15 text-stop-500 border border-transparent`:`border border-stop-500/40 text-stop-500`;case`gold`:return t===`solid`?`bg-gold-500/15 text-gold-500 border border-transparent`:`border border-gold-500/40 text-gold-500`;case`blue`:return t===`solid`?`bg-blue-400/15 text-blue-400 border border-transparent`:`border border-blue-400/40 text-blue-400`;case`purple`:return t===`solid`?`bg-purple-400/15 text-purple-400 border border-transparent`:`border border-purple-400/40 text-purple-400`;default:return t===`solid`?`bg-edge text-ash border border-transparent`:`border border-edge text-ash-dim`}}var nt=g.forwardRef(function({tone:e=`default`,variant:t=`outline`,className:n,children:r,...i},a){return(0,L.jsx)(`span`,{ref:a,className:et(`inline-flex items-center font-mono text-[9px] font-bold uppercase tracking-[0.08em] rounded-sm px-1.5 py-0.5`,tt(e,t),n),...i,children:r})});function rt(e){if(!e.cell.exists)return`missing_keys`;let t=e.issues.some(e=>e.type===`missing_keys`||e.type===`sops_error`),n=e.issues.some(e=>e.type===`schema_warning`);return t?`missing_keys`:n?`schema_warn`:`ok`}function it(e){if(!e)return`never`;let t=new Date().getTime()-e.getTime(),n=Math.floor(t/(1e3*60*60));if(n<1)return`just now`;if(n<24)return`${n}h ago`;let r=Math.floor(n/24);return r<7?`${r}d ago`:`${Math.floor(r/7)}w ago`}function at({namespaces:e,environments:t,matrixStatuses:n,onNamespaceClick:r,onSyncClick:i,syncingNs:a}){return(0,L.jsxs)(V,{"data-testid":`matrix-table`,children:[(0,L.jsx)(V.Header,{children:(0,L.jsxs)(`tr`,{children:[(0,L.jsx)(V.HeaderCell,{className:`w-[180px]`,children:`Namespace`}),t.map(e=>(0,L.jsx)(V.HeaderCell,{className:`border-l border-edge`,children:(0,L.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,L.jsx)(de,{env:e.name}),(0,L.jsx)(`span`,{className:`font-sans text-[12px] font-medium text-bone normal-case tracking-normal`,children:e.name})]})},e.name))]})}),(0,L.jsx)(`tbody`,{children:e.map(e=>{let o=n.filter(t=>t.cell.namespace===e.name).some(e=>e.issues.some(e=>e.type===`missing_keys`));return(0,L.jsxs)(V.Row,{"data-testid":`matrix-row-${e.name}`,role:`button`,tabIndex:0,interactive:!!r,tone:o?`drift`:void 0,onClick:()=>r?.(e.name),onKeyDown:t=>{t.key===`Enter`&&r?.(e.name)},children:[(0,L.jsx)(V.Cell,{className:`px-5 py-4`,children:(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(ee,{size:11,strokeWidth:1.75,className:`text-ash-deep`,"aria-hidden":`true`}),(0,L.jsx)(`span`,{className:`flex-1 font-mono text-[13px] font-semibold text-bone`,children:e.name}),o&&a!==e.name&&i&&(0,L.jsx)(`button`,{"data-testid":`sync-btn-${e.name}`,onClick:t=>{t.stopPropagation(),i(e.name)},className:`rounded border border-gold-500/30 bg-gold-500/10 px-2 py-0.5 font-sans text-[10px] font-semibold text-gold-500 cursor-pointer hover:bg-gold-500/20`,children:`Sync`})]})}),t.map(t=>{let r=n.find(n=>n.cell.namespace===e.name&&n.cell.environment===t.name),i=r?rt(r):`ok`,a=r?.keyCount??0,o=r?.lastModified?it(r.lastModified instanceof Date?r.lastModified:new Date(r.lastModified)):`never`,s=r?new Set(r.issues.filter(e=>e.type===`missing_keys`&&e.key).map(e=>e.key)).size:0,c=r?r.issues.filter(e=>e.type===`schema_warning`).length:0,l=r?.pendingCount??0;return(0,L.jsx)(V.Cell,{className:`border-l border-edge px-5 py-3.5`,children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,L.jsx)(pe,{status:i}),(0,L.jsxs)(`span`,{className:`font-mono text-[11px] text-ash`,children:[a,` keys`]}),s>0&&(0,L.jsxs)(`span`,{className:`rounded-sm border border-stop-500/20 bg-stop-500/10 px-1.5 py-px font-mono text-[10px] text-stop-500`,children:[`-`,s,` missing`]}),c>0&&(0,L.jsxs)(`span`,{className:`rounded-sm border border-warn-500/20 bg-warn-500/10 px-1.5 py-px font-mono text-[10px] text-warn-500`,children:[c,` warn`]}),l>0&&(0,L.jsxs)(`span`,{className:`rounded-sm border border-gold-500/20 bg-gold-500/10 px-1.5 py-px font-mono text-[10px] text-gold-500`,children:[l,` pending`]})]}),(0,L.jsx)(`div`,{className:`font-mono text-[10px] text-ash-deep`,children:o})]})},t.name)})]},e.name)})})]})}function ot({namespace:e,onComplete:t,onCancel:n}){let[r,i]=(0,g.useState)(`loading`),[a,o]=(0,g.useState)(null),[s,c]=(0,g.useState)(null),[l,u]=(0,g.useState)(null);return(0,g.useEffect)(()=>{let t=!1;return(async()=>{try{let n=await x(`/api/sync/preview`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({namespace:e})});if(t)return;if(!n.ok){u((await n.json()).error||`Preview failed`),i(`error`);return}o(await n.json()),i(`preview`)}catch{t||(u(`Failed to load sync preview`),i(`error`))}})(),()=>{t=!0}},[e]),(0,L.jsxs)(`div`,{"data-testid":`sync-panel`,className:`my-2 rounded-lg border border-edge bg-ink-850 px-5 py-4`,children:[r===`loading`&&(0,L.jsx)(`div`,{className:`font-sans text-[13px] text-ash`,children:`Loading sync preview...`}),r===`preview`&&a&&(0,L.jsx)(L.Fragment,{children:a.totalKeys===0?(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{"data-testid":`sync-in-sync`,className:`font-sans text-[13px] text-go-500`,children:`All environments in sync`}),(0,L.jsx)(z,{onClick:n,children:`Close`})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`mb-2.5 font-sans text-[13px] font-semibold text-bone`,children:[`Sync `,e,` — `,a.totalKeys,` key`,a.totalKeys===1?``:`s`,` to scaffold`]}),a.hasProtectedEnvs&&(0,L.jsx)(`div`,{className:`mb-2.5 rounded border border-warn-500/20 bg-warn-500/10 px-3 py-1.5 font-sans text-[12px] text-warn-500`,children:`Includes protected environment(s)`}),(0,L.jsx)(`div`,{"data-testid":`sync-preview-list`,className:`mb-3`,children:a.cells.map(e=>(0,L.jsxs)(`div`,{className:`flex items-center gap-2 py-1`,children:[(0,L.jsx)(de,{env:e.environment}),(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-ash`,children:e.missingKeys.join(`, `)})]},`${e.namespace}/${e.environment}`))}),(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsx)(z,{variant:`primary`,"data-testid":`sync-execute-btn`,onClick:async()=>{i(`syncing`);try{let n=await x(`/api/sync`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({namespace:e})});if(!n.ok){u((await n.json()).error||`Sync failed`),i(`error`);return}c((await n.json()).result),i(`done`),setTimeout(t,1500)}catch{u(`Sync failed`),i(`error`)}},children:`Sync Now`}),(0,L.jsx)(z,{"data-testid":`sync-cancel-btn`,onClick:n,children:`Cancel`})]})]})}),r===`syncing`&&(0,L.jsx)(`div`,{className:`font-sans text-[13px] text-gold-500`,children:`Syncing...`}),r===`done`&&s&&(0,L.jsxs)(`div`,{"data-testid":`sync-done`,className:`font-sans text-[13px] text-go-500`,children:[`Synced `,s.totalKeysScaffolded,` key`,s.totalKeysScaffolded===1?``:`s`,` `,`across `,s.modifiedCells.length,` environment`,s.modifiedCells.length===1?``:`s`]}),r===`error`&&(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`font-sans text-[13px] text-stop-500`,children:l}),(0,L.jsx)(z,{onClick:n,children:`Close`})]})]})}function st({setView:e,setNs:t,setEnv:n,manifest:r,matrixStatuses:i,reloadMatrix:a}){let[o,s]=(0,g.useState)(null);if(!r)return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Secret Matrix`}),(0,L.jsx)(B.Subtitle,{children:`Loading...`})]})}),(0,L.jsx)(`div`,{className:`flex-1 p-7`,children:(0,L.jsx)(`p`,{className:`font-sans text-[13px] text-ash`,children:`Loading manifest...`})})]});let c=r.environments,l=r.namespaces,u=i.length===0&&l.length>0,d=i.filter(e=>e.cell.exists&&e.issues.length===0).length,f=i.filter(e=>!e.cell.exists||e.issues.some(e=>e.type===`missing_keys`)).length,p=i.filter(e=>e.issues.some(e=>e.type===`schema_warning`)).length,m=i.reduce((e,t)=>e+(t.pendingCount??0),0),h=l.length*c.length;return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Secret Matrix`}),(0,L.jsx)(B.Subtitle,{children:`${l.length} namespaces · ${c.length} environments · ${h} files`})]}),(0,L.jsxs)(B.Actions,{children:[(0,L.jsx)(z,{onClick:()=>e(`lint`),children:`Lint All`}),(0,L.jsx)(z,{onClick:()=>e(`manifest`),"data-testid":`matrix-add-environment-btn`,children:`+ Environment`}),(0,L.jsx)(z,{variant:`primary`,onClick:()=>e(`manifest`),"data-testid":`matrix-add-namespace-btn`,children:`+ Namespace`})]})]}),(0,L.jsxs)(`div`,{className:`relative flex-1 overflow-auto p-7`,children:[u&&(0,L.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-ink-950/85 rounded-lg`,children:(0,L.jsxs)(`div`,{className:`rounded-card border border-edge bg-ink-850 px-9 py-6 text-center`,children:[(0,L.jsx)(`div`,{className:`mb-2 text-[20px] text-gold-500`,children:`♪`}),(0,L.jsx)(`div`,{className:`font-sans text-[13px] text-ash`,children:`Loading...`})]})}),(0,L.jsx)(lt,{healthy:d,missing:f,warn:p,pending:m}),(0,L.jsx)(at,{namespaces:l,environments:c,matrixStatuses:i,onNamespaceClick:(r,i)=>{t(r),i&&n?.(i),e(`editor`)},onSyncClick:e=>s(e),syncingNs:o}),o&&(0,L.jsx)(ot,{namespace:o,onComplete:()=>{s(null),a?.()},onCancel:()=>s(null)}),(0,L.jsx)(`div`,{className:`mt-5 flex gap-2.5`,children:(0,L.jsx)(z,{"data-testid":`diff-environments-btn`,onClick:()=>e(`diff`),children:`Diff environments`})})]})]})}var ct=`rounded-pill border px-3.5 py-1 font-sans text-[12px] font-medium`;function lt({healthy:e,missing:t,warn:n,pending:r}){return(0,L.jsxs)(`div`,{className:`mb-7 flex gap-2.5`,children:[(0,L.jsxs)(`span`,{className:`${ct} text-go-500 bg-go-500/10 border-go-500/20`,children:[e,` healthy`]}),(0,L.jsxs)(`span`,{className:`${ct} text-stop-500 bg-stop-500/10 border-stop-500/20`,children:[t,` missing keys`]}),(0,L.jsxs)(`span`,{className:`${ct} text-warn-500 bg-warn-500/10 border-warn-500/20`,children:[n,` schema warning`,n===1?``:`s`]}),r>0&&(0,L.jsxs)(`span`,{className:`${ct} text-gold-500 bg-gold-500/10 border-gold-500/20`,children:[r,` pending value`,r===1?``:`s`]})]})}var ut={dev:`border-go-500`,staging:`border-warn-500`,production:`border-stop-500`},dt=`flex-1 rounded border border-edge-strong bg-ink-800 px-2.5 py-1 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500`,ft=`shrink-0 basis-[240px] rounded border border-gold-500/40 bg-ink-800 px-2.5 py-1.5 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500`,U=`flex-1 rounded border border-edge bg-ink-800 px-2.5 py-1.5 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500`;function pt({ns:e,initialEnv:t,manifest:n}){let[r,i]=(0,g.useState)(t??``),[a,o]=(0,g.useState)([]),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(`value`),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(``),[h,_]=(0,g.useState)(null),[v,y]=(0,g.useState)(null),[b,S]=(0,g.useState)(null),[C,w]=(0,g.useState)(!1),[T,E]=(0,g.useState)(null),[D,O]=(0,g.useState)(!1),[k,A]=(0,g.useState)(``),[ee,j]=(0,g.useState)([]),[M,N]=(0,g.useState)(null),P=(0,g.useRef)();(0,g.useEffect)(()=>()=>clearTimeout(P.current),[]);let F=n?.environments??[],te=F.find(e=>e.name===r)?.protected===!0;(0,g.useEffect)(()=>{F.length>0&&!r&&i(F[0].name)},[F,r]);let ne=(0,g.useCallback)(async()=>{if(!(!r||!e)){w(!0),E(null);try{let t=await x(`/api/namespace/${e}/${r}`);if(!t.ok){E((await t.json()).error||`Failed to load`),o([]);return}let n=await t.json(),i=new Set(n.pending??[]);o(Object.entries(n.values).map(([e,t])=>({key:e,value:String(t),type:`string`,required:!1,visible:!1,edited:!1,isNew:!1,pending:i.has(e)})));let a=n.metadata?.backend??`age`,s=n.metadata?.recipients?.length??0;A(`encrypted with ${a} · ${s} recipient${s===1?``:`s`}`)}catch{E(`Failed to load namespace data`),o([])}finally{w(!1)}}},[e,r]);(0,g.useEffect)(()=>{ne()},[ne]),(0,g.useEffect)(()=>{e&&x(`/api/lint/${e}`).then(e=>e.ok?e.json():{issues:[]}).then(e=>j(e.issues??[])).catch(()=>j([]))},[e]);let I=e=>{o(t=>t.map(t=>t.key===e?{...t,visible:!t.visible}:t)),clearTimeout(P.current),P.current=setTimeout(()=>{o(e=>e.map(e=>({...e,value:``,visible:!1})))},3e5)},re=(e,t)=>{o(n=>n.map(n=>n.key===e?{...n,value:t,edited:!0}:n))},ie=async t=>{let n=a.filter(e=>e.edited);if(n.length!==0){O(!0),E(null);try{let i=null;for(let a of n){let n={value:a.value};t&&(n.confirmed=!0);let o=await x(`/api/namespace/${e}/${r}/${a.key}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});if(!o.ok){i=(await o.json().catch(()=>({}))).error||`Failed to save ${a.key}`;break}}await ne(),i&&E(i)}catch{await ne(),E(`Failed to save changes`)}finally{O(!1)}}},ae=async t=>{if(!d.trim())return;let n=d.trim(),i=l===`random`?{random:!0}:{value:p};t&&(i.confirmed=!0);try{let t=await x(`/api/namespace/${e}/${r}/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(i)});if(!t.ok){E((await t.json()).error||`Failed to add key`);return}let a=await t.json();a.warning&&E(a.warning),o(e=>[...e,{key:n,value:l===`random`?``:p,type:`string`,required:!1,visible:!1,edited:!1,isNew:!0,pending:l===`random`}])}catch{E(`Failed to add key`)}finally{c(!1),u(`value`),f(``),m(``)}},oe=async t=>{try{let n=await x(`/api/namespace/${e}/${r}/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({random:!0,...te&&{confirmed:!0}})});if(!n.ok){E((await n.json()).error||`Failed to reset key`);return}o(e=>e.map(e=>e.key===t?{...e,pending:!0,value:``,edited:!1}:e))}catch{E(`Failed to reset key`)}finally{y(null),_(null)}},R=async t=>{try{let n=await x(`/api/namespace/${e}/${r}/${t}/accept`,{method:`POST`});if(!n.ok){E((await n.json()).error||`Failed to accept value`);return}let i=await n.json();o(e=>e.map(e=>e.key===t?{...e,pending:!1,value:i.value??e.value}:e))}catch{E(`Failed to accept value`)}},se=async t=>{try{let n=await x(`/api/namespace/${e}/${r}/${t}`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(te?{confirmed:!0}:{})});if(!n.ok){E((await n.json()).error||`Failed to delete key`);return}o(e=>e.filter(e=>e.key!==t))}catch{E(`Failed to delete key`)}finally{S(null)}},ce=a.some(e=>e.edited);return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`/${e}`}),(0,L.jsxs)(B.Subtitle,{children:[`Namespace · `,a.length,` keys`]})]}),(0,L.jsxs)(B.Actions,{children:[ce&&(0,L.jsx)(z,{variant:`primary`,disabled:D,onClick:()=>{te?N(`save`):ie()},children:D?`Saving...`:`Save`}),(0,L.jsx)(z,{variant:`primary`,"data-testid":`add-key-btn`,onClick:()=>c(!0),children:`+ Add key`})]})]}),(0,L.jsxs)(`div`,{className:`flex border-b border-edge bg-ink-800 px-6`,children:[F.map(e=>{let t=r===e.name,n=ut[e.name]??`border-ash`;return(0,L.jsxs)(`div`,{role:`tab`,tabIndex:0,onClick:()=>i(e.name),onKeyDown:t=>{t.key===`Enter`&&i(e.name)},className:`-mb-px flex cursor-pointer items-center gap-1.5 border-b-2 px-4 py-2.5 ${t?n:`border-transparent`}`,children:[(0,L.jsx)(de,{env:e.name,small:!0}),(0,L.jsx)(`span`,{className:`font-sans text-[13px] ${t?`font-semibold text-bone`:`font-normal text-ash`}`,children:e.name})]},e.name)}),(0,L.jsx)(`div`,{className:`flex-1`}),(0,L.jsx)(`div`,{className:`flex items-center py-2.5`,children:(0,L.jsx)(`span`,{className:`font-mono text-[10px] text-ash`,children:k})})]}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto p-6`,children:[te&&(0,L.jsxs)(`div`,{"data-testid":`production-warning`,className:`mb-5 flex items-center gap-2.5 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-2.5`,children:[(0,L.jsx)(`span`,{className:`text-[14px]`,children:`🔒`}),(0,L.jsxs)(`span`,{className:`font-sans text-[12px] text-stop-500`,children:[(0,L.jsx)(`strong`,{children:`Production environment.`}),` Changes will require confirmation before committing.`]})]}),C&&(0,L.jsx)(`p`,{className:`font-sans text-ash`,children:`Loading...`}),T&&(0,L.jsx)(`div`,{className:`mb-5 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-3 font-sans text-[12px] text-stop-500`,children:T}),!C&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`rounded-card border border-edge bg-ink-850`,children:[(0,L.jsx)(`div`,{className:`grid grid-cols-[260px_1fr_90px_36px] items-center rounded-t-card border-b border-edge bg-ink-800 px-5 py-2.5`,children:[`Key`,`Value`,`Type`,``].map(e=>(0,L.jsx)(`span`,{className:`font-sans text-[11px] font-semibold uppercase tracking-[0.07em] text-ash`,children:e},e||`actions`))}),a.map((e,t)=>(0,L.jsxs)(`div`,{className:`grid min-h-[48px] grid-cols-[260px_1fr_90px_36px] items-center px-5 ${e.pending?`bg-gold-500/[0.07]`:e.edited?`bg-gold-500/[0.03]`:`bg-transparent`} ${e.pending?`border-l-[3px] border-gold-500/55`:e.edited?`border-l-2 border-gold-500`:`border-l-2 border-transparent`} ${t<a.length-1?`border-b border-edge`:`border-b-0`}`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 pr-4`,children:[e.required&&(0,L.jsx)(`span`,{className:`text-[14px] leading-none text-gold-500`,children:`*`}),(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-bone`,children:e.key}),e.edited&&(0,L.jsx)(`span`,{"data-testid":`dirty-dot`,className:`inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-gold-500`})]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2 pr-4`,children:[e.pending&&!e.visible?(0,L.jsxs)(`span`,{className:`font-mono text-[11px] italic text-gold-500`,children:[`PENDING `,`—`,` not yet set`]}):e.visible?(0,L.jsx)(`input`,{type:`text`,"data-testid":`value-input-${e.key}`,value:e.value,onChange:t=>re(e.key,t.target.value),autoComplete:`off`,placeholder:e.pending?`Enter real value...`:void 0,className:dt}):(0,L.jsx)(`span`,{className:`font-mono text-[13px] tracking-[0.15em] text-ash`,children:`••••••••••••••••••••••••`}),e.pending&&!e.visible?(0,L.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,L.jsx)(`button`,{"data-testid":`set-value-${e.key}`,onClick:()=>I(e.key),className:`cursor-pointer rounded border border-gold-500/40 bg-gold-500/10 px-2.5 py-0.5 font-sans text-[11px] font-semibold text-gold-500 hover:bg-gold-500/20`,children:`Set value`}),(0,L.jsx)(`button`,{"data-testid":`accept-value-${e.key}`,onClick:()=>R(e.key),title:`Accept the random value as the final secret`,className:`cursor-pointer rounded border border-go-500/40 bg-go-500/10 px-2.5 py-0.5 font-sans text-[11px] font-semibold text-go-500 hover:bg-go-500/20`,children:`Accept random`})]}):(0,L.jsx)(`button`,{"data-testid":`eye-${e.key}`,onClick:()=>I(e.key),"aria-label":e.visible?`Hide value`:`Reveal value`,className:`flex cursor-pointer items-center bg-transparent p-1 text-[13px] ${e.visible?`text-gold-500`:`text-ash-dim`}`,children:`👁`})]}),(0,L.jsx)(`div`,{children:e.pending?(0,L.jsx)(`span`,{className:`rounded-sm border border-gold-500/20 bg-gold-500/10 px-1.5 py-0.5 font-mono text-[10px] font-bold text-gold-500`,children:`PENDING`}):(0,L.jsx)(`span`,{className:`rounded-sm border border-blue-400/20 bg-blue-400/10 px-1.5 py-0.5 font-mono text-[10px] text-blue-400`,children:e.type})}),(0,L.jsxs)(`div`,{className:`relative flex justify-center`,children:[(0,L.jsx)(`button`,{"data-testid":`overflow-${e.key}`,onClick:()=>_(h===e.key?null:e.key),className:`cursor-pointer bg-transparent p-1 text-[16px] text-ash-dim`,children:`⋯`}),h===e.key&&(0,L.jsxs)(`div`,{"data-testid":`overflow-menu-${e.key}`,className:`absolute right-0 top-full z-10 min-w-[200px] rounded-md border border-edge bg-ink-850 p-1 shadow-soft-drop`,children:[(0,L.jsx)(`button`,{"data-testid":`reset-random-${e.key}`,onClick:()=>{_(null),y(e.key)},title:`Use this to immediately invalidate a compromised secret while you arrange a replacement.`,className:`block w-full cursor-pointer rounded bg-transparent px-2.5 py-1.5 text-left font-sans text-[12px] text-gold-500 hover:bg-ink-800`,children:`Reset to random (pending)`}),(0,L.jsx)(`button`,{"data-testid":`delete-key-${e.key}`,onClick:()=>{_(null),S(e.key)},className:`block w-full cursor-pointer rounded bg-transparent px-2.5 py-1.5 text-left font-sans text-[12px] text-stop-500 hover:bg-ink-800`,children:`Delete key`})]})]})]},e.key)),s&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-2.5 border-t border-edge px-5 py-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(`input`,{"data-testid":`new-key-input`,placeholder:`KEY_NAME`,value:d,onChange:e=>f(e.target.value),className:ft}),(0,L.jsxs)(`div`,{role:`radiogroup`,className:`flex overflow-hidden rounded-md border border-edge`,children:[(0,L.jsx)(`button`,{"data-testid":`mode-set-value`,role:`radio`,"aria-checked":l===`value`,onClick:()=>{u(`value`),m(``)},className:`cursor-pointer border-r border-edge px-3.5 py-1 font-sans text-[11px] font-semibold ${l===`value`?`bg-gold-500/15 text-gold-500`:`bg-transparent text-ash`}`,children:`Set value`}),(0,L.jsx)(`button`,{"data-testid":`mode-random`,role:`radio`,"aria-checked":l===`random`,onClick:()=>{u(`random`),m(``)},className:`cursor-pointer px-3.5 py-1 font-sans text-[11px] font-semibold ${l===`random`?`bg-gold-500/15 text-gold-500`:`bg-transparent text-ash`}`,children:`Random (pending)`})]})]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[l===`value`?(0,L.jsx)(`input`,{"data-testid":`new-value-input`,type:`password`,placeholder:`value`,value:p,onChange:e=>m(e.target.value),autoComplete:`off`,className:U}):(0,L.jsx)(`div`,{className:`flex-1 px-2.5 py-1.5 font-mono text-[11px] italic text-gold-500`,children:`A cryptographically random placeholder will be generated server-side.`}),(0,L.jsx)(z,{variant:`primary`,"data-testid":`add-key-submit`,onClick:()=>{te?N(`add`):ae()},children:l===`random`?`Generate random value`:`Add`}),(0,L.jsx)(z,{onClick:()=>{c(!1),u(`value`),f(``),m(``)},children:`Cancel`})]})]})]}),v&&(0,L.jsxs)(`div`,{"data-testid":`confirm-reset-dialog`,className:`mt-4 rounded-lg border border-gold-500/30 bg-gold-500/[0.04] px-4 py-3.5 font-sans text-[12px]`,children:[(0,L.jsxs)(`p`,{className:`m-0 mb-2.5 text-bone`,children:[`Reset `,(0,L.jsx)(`strong`,{className:`font-mono`,children:v}),` to a random placeholder? The current value will be overwritten.`]}),te&&(0,L.jsxs)(`p`,{className:`m-0 mb-2.5 text-[12px] font-semibold text-stop-500`,children:[`🔒`,` This is a protected environment.`]}),(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsx)(z,{variant:`primary`,"data-testid":`confirm-reset-yes`,onClick:()=>oe(v),children:`Reset to random`}),(0,L.jsx)(z,{"data-testid":`confirm-reset-no`,onClick:()=>y(null),children:`Cancel`})]})]}),b&&(0,L.jsxs)(`div`,{"data-testid":`confirm-delete-dialog`,className:`mt-4 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-3.5 font-sans text-[12px]`,children:[(0,L.jsxs)(`p`,{className:`m-0 mb-2.5 text-bone`,children:[`Permanently delete `,(0,L.jsx)(`strong`,{className:`font-mono`,children:b}),` from`,` `,(0,L.jsx)(`strong`,{children:r}),`? This cannot be undone.`]}),te&&(0,L.jsxs)(`p`,{className:`m-0 mb-2.5 text-[12px] font-semibold text-stop-500`,children:[`🔒`,` This is a protected environment.`]}),(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsx)(z,{variant:`danger`,"data-testid":`confirm-delete-yes`,onClick:()=>se(b),children:`Delete`}),(0,L.jsx)(z,{"data-testid":`confirm-delete-no`,onClick:()=>S(null),children:`Cancel`})]})]}),M&&(0,L.jsxs)(`div`,{"data-testid":`confirm-protected-dialog`,className:`mt-4 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-3.5 font-sans text-[12px]`,children:[(0,L.jsxs)(`p`,{className:`m-0 mb-2.5 text-bone`,children:[`🔒`,` `,(0,L.jsx)(`strong`,{className:`text-stop-500`,children:`Protected environment.`}),` You are about to `,M===`save`?`commit changes to`:`add a key to`,` `,(0,L.jsx)(`strong`,{children:r}),`. Are you sure?`]}),(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsx)(z,{variant:`primary`,"data-testid":`confirm-protected-yes`,onClick:async()=>{let e=M;N(null),e===`save`?await ie(!0):await ae(!0)},children:`Confirm`}),(0,L.jsx)(z,{"data-testid":`confirm-protected-no`,onClick:()=>N(null),children:`Cancel`})]})]}),(0,L.jsxs)(`div`,{className:`mt-6`,children:[(0,L.jsxs)(`div`,{className:`mb-2.5 font-sans text-[11px] font-semibold uppercase tracking-[0.08em] text-ash`,children:[`Schema · schemas/`,e,`.yaml`]}),(0,L.jsx)(`div`,{"data-testid":`schema-summary`,className:`rounded-lg border border-edge bg-ink-850 px-4 py-3 font-mono text-[11px] leading-relaxed text-ash`,children:(()=>{let e=ee.filter(e=>e.severity===`error`),t=ee.filter(e=>e.severity===`warning`);return e.length===0&&t.length===0?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`text-go-500`,children:`✓`}),` All required keys present \xA0·\xA0`,(0,L.jsx)(`span`,{className:`text-go-500`,children:`✓`}),` All types valid \xA0·\xA0`,(0,L.jsx)(`span`,{className:`text-ash-dim`,children:`0 warnings`})]}):(0,L.jsxs)(L.Fragment,{children:[e.length>0&&(0,L.jsxs)(`span`,{className:`text-stop-500`,children:[e.length,` error`,e.length===1?``:`s`]}),e.length>0&&t.length>0&&(0,L.jsx)(`span`,{children:` \xA0·\xA0 `}),t.length>0&&(0,L.jsxs)(`span`,{className:`text-warn-500`,children:[t.length,` warning`,t.length===1?``:`s`]})]})})()})]})]})]})]})}var mt=[`string`,`integer`,`boolean`],ht=`rounded border border-edge bg-ink-950 px-2 py-1 font-sans text-[12px] text-bone outline-none focus-visible:border-gold-500 placeholder:text-ash-dim disabled:text-ash`,gt=`rounded border border-edge bg-ink-950 px-2 py-1 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500 placeholder:text-ash-dim disabled:text-ash`;function _t({ns:e,manifest:t}){let[n,r]=(0,g.useState)([]),[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)({}),[f,p]=(0,g.useState)(!1),[m,h]=(0,g.useState)(!1),[_,v]=(0,g.useState)(null),[y,b]=(0,g.useState)(null),[S,C]=(0,g.useState)(null),w=t?.environments??[];(0,g.useEffect)(()=>{!c&&w.length>0&&l((w.find(e=>!e.protected)??w[0]).name)},[w,c]);let T=(0,g.useCallback)(async()=>{if(e){p(!0),v(null);try{let t=await x(`/api/namespaces/${e}/schema`),n=await t.json();if(!t.ok){v(n.error||`Failed to load schema`),r([]);return}let i=n;a(i.attached),s(i.path),r(St(i.schema))}catch{v(`Failed to load schema`)}finally{p(!1)}}},[e]),E=(0,g.useCallback)(async()=>{if(!(!e||!c))try{let t=await x(`/api/namespace/${e}/${c}`);if(!t.ok){d({});return}d((await t.json()).values??{})}catch{d({})}},[e,c]);(0,g.useEffect)(()=>{T()},[T]),(0,g.useEffect)(()=>{E()},[E]);let D=async()=>{h(!0),v(null),b(null);try{let t=Ct(n),i=await x(`/api/namespaces/${e}/schema`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({schema:t})}),o=await i.json();if(!i.ok){v(o.error||`Failed to save schema`);return}let c=o;a(c.attached),s(c.path),C(c.path),b(new Date().toLocaleTimeString()),r(St(c.schema))}catch(e){v(e instanceof Error?e.message:`Failed to save schema`)}finally{h(!1)}},O=()=>{r(e=>[...e,{originalName:null,name:``,type:`string`,required:!0,pattern:``,description:``}])},k=e=>{r(t=>t.filter((t,n)=>n!==e))},A=(e,t)=>{r(n=>n.map((n,r)=>r===e?{...n,...t}:n))},ee=(0,g.useMemo)(()=>wt(n),[n]);return(0,L.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Schema · ${e||`(no namespace selected)`}`}),(0,L.jsx)(B.Subtitle,{children:i&&o?o:e?`no schema attached yet — saving will create one at schemas/${e}.yaml`:``})]}),(0,L.jsxs)(B.Actions,{children:[(0,L.jsx)(z,{onClick:O,disabled:!e||f,children:`+ Add key`}),(0,L.jsx)(z,{variant:`primary`,onClick:D,disabled:!e||m||!ee.ok,children:m?`Saving…`:`Save`})]})]}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto px-6 py-4 font-sans text-bone`,children:[_&&(0,L.jsx)(`div`,{className:`mb-3 rounded-md border border-stop-500/30 bg-stop-500/10 px-3 py-2 text-[12px] text-stop-500`,children:_}),y&&S&&!_&&(0,L.jsxs)(`div`,{className:`mb-3 rounded-md border border-edge bg-ink-850 px-3 py-2 text-[12px] text-ash`,children:[`Saved at `,y,` · `,S]}),f&&(0,L.jsx)(`div`,{className:`text-[12px] text-ash`,children:`Loading…`}),!f&&n.length===0&&(0,L.jsx)(Fe,{title:`No keys declared yet`,body:`Click + Add key to start building the schema.`}),!f&&n.length>0&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,L.jsx)(vt,{environments:w.map(e=>e.name),value:c,onChange:l}),n.map((e,t)=>(0,L.jsx)(yt,{row:e,error:ee.rowErrors[t],sampleValue:e.name?u[e.name]:void 0,onChange:e=>A(t,e),onRemove:()=>k(t)},`${e.originalName??`new`}-${t}`))]})]})]})}function vt(e){return e.environments.length===0?null:(0,L.jsxs)(`div`,{className:`mb-1 flex items-center gap-2 text-[11px] text-ash`,children:[(0,L.jsx)(`span`,{children:`Pattern preview against:`}),(0,L.jsx)(`select`,{value:e.value,onChange:t=>e.onChange(t.target.value),className:`rounded border border-edge bg-ink-850 px-1.5 py-0.5 font-mono text-[11px] text-bone`,children:e.environments.map(e=>(0,L.jsx)(`option`,{value:e,children:e},e))})]})}function yt(e){let{row:t,error:n,sampleValue:r,onChange:i,onRemove:a}=e,o=xt(t.pattern,r),[s,c]=(0,g.useState)(!1);(0,g.useEffect)(()=>{if(!t.pattern||t.type!==`string`)return;c(!0);let e=setTimeout(()=>c(!1),180);return()=>clearTimeout(e)},[t.pattern,r,t.type]);let l=s?`text-ash`:o===`match`?`text-go-500`:o===`miss`?`text-stop-500`:`text-ash`;return(0,L.jsxs)(`div`,{className:`grid grid-cols-[minmax(140px,1fr)_110px_auto_1fr_auto] items-center gap-x-2 gap-y-2 rounded-md border bg-ink-850 p-3 ${n?`border-stop-500`:`border-edge`}`,children:[(0,L.jsx)(`input`,{placeholder:`KEY_NAME`,value:t.name,onChange:e=>i({name:e.target.value}),className:gt}),(0,L.jsx)(`select`,{value:t.type,onChange:e=>i({type:e.target.value}),className:ht,children:mt.map(e=>(0,L.jsx)(`option`,{value:e,children:e},e))}),(0,L.jsxs)(`label`,{className:`flex items-center gap-1.5 text-[11px] text-bone`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:t.required,onChange:e=>i({required:e.target.checked}),className:`accent-gold-500`}),`required`]}),(0,L.jsx)(`input`,{placeholder:t.type===`string`?`pattern: ^regex$ (optional)`:`— (strings only)`,value:t.pattern,disabled:t.type!==`string`,onChange:e=>i({pattern:e.target.value}),className:`${gt} ${t.type===`string`?``:`opacity-60`}`}),(0,L.jsx)(z,{variant:`danger`,onClick:a,children:`Remove`}),(0,L.jsx)(`input`,{placeholder:`description (optional)`,value:t.description,onChange:e=>i({description:e.target.value}),className:`${ht} col-span-5`}),n&&(0,L.jsx)(`div`,{className:`col-span-5 text-[11px] text-stop-500`,children:n}),t.type===`string`&&t.pattern&&(0,L.jsx)(`div`,{className:`col-span-5 flex items-center gap-2 font-mono text-[11px] ${l}`,children:s?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(bt,{}),(0,L.jsx)(`span`,{children:`testing…`})]}):r===void 0?(0,L.jsx)(`span`,{children:`No sample value in the selected env.`}):o===`invalid`?(0,L.jsx)(`span`,{children:`Invalid regex.`}):o===`match`?(0,L.jsx)(`span`,{"data-testid":`pattern-result`,children:`✔ matches sample value`}):(0,L.jsx)(`span`,{"data-testid":`pattern-result`,children:`✖ did not match`})})]})}function bt(){return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`inline-block h-2.5 w-2.5 rounded-full border-[1.5px] border-edge border-t-bone animate-[clef-schema-spin_0.6s_linear_infinite]`})}function xt(e,t){if(!e||t===void 0)return`no-sample`;let n;try{n=new RegExp(e)}catch{return`invalid`}return n.test(t)?`match`:`miss`}function St(e){return Object.entries(e.keys).map(([e,t])=>({originalName:e,name:e,type:t.type,required:t.required,pattern:t.pattern??``,description:t.description??``}))}function Ct(e){let t={};for(let n of e)n.name&&(t[n.name]={type:n.type,required:n.required,...n.pattern&&n.type===`string`?{pattern:n.pattern}:{},...n.description?{description:n.description}:{}});return{keys:t}}function wt(e){let t={},n=new Map;return e.forEach((e,r)=>{if(!e.name.trim()){t[r]=`Key name is required.`;return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e.name)){t[r]=`Key name must start with a letter or underscore and contain only letters, digits, and underscores.`;return}let i=n.get(e.name);if(i!==void 0){t[r]=`Duplicate key name (also row ${i+1}).`;return}if(n.set(e.name,r),e.type===`string`&&e.pattern)try{new RegExp(e.pattern)}catch(e){t[r]=`Pattern is not a valid regex: ${e.message}.`}}),{ok:Object.keys(t).length===0,rowErrors:t}}function Tt({text:e}){let[t,n]=(0,g.useState)(!1);return(0,L.jsx)(`button`,{"data-testid":`copy-button`,onClick:(0,g.useCallback)(()=>{navigator.clipboard?.writeText(e),n(!0),setTimeout(()=>n(!1),1800)},[e]),className:`cursor-pointer rounded-sm border px-2 py-0.5 font-mono text-[10px] transition-colors ${t?`border-go-500/40 bg-go-500/10 text-go-500`:`border-edge-strong bg-transparent text-ash-dim hover:bg-ink-800`}`,children:t?`copied!`:`copy`})}function Et(e,t){return e.length>t?e.slice(0,t)+`…`:e}var Dt=`rounded-md border border-edge bg-ink-850 px-2.5 py-1 font-mono text-[12px] text-bone cursor-pointer focus:outline-none focus:border-edge-strong`;function Ot({manifest:e}){let t=e?.environments??[],n=e?.namespaces??[],[r,i]=(0,g.useState)(n[0]?.name??``),[a,o]=(0,g.useState)(t[0]?.name??``),[s,c]=(0,g.useState)(t[t.length-1]?.name??``),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(null),[h,_]=(0,g.useState)(!1),[v,y]=(0,g.useState)(!1);(0,g.useEffect)(()=>{n.length>0&&!r&&i(n[0].name),t.length>0&&!a&&o(t[0].name),t.length>1&&!s&&c(t[t.length-1].name)},[n,t,r,a,s]);let b=(0,g.useCallback)(async()=>{if(!(!r||!a||!s||a===s)){_(!0);try{let e=await x(`/api/diff/${r}/${a}/${s}${d?`?showValues=true`:``}`);e.ok?m(await e.json()):m(null)}catch{m(null)}finally{_(!1)}}},[r,a,s,d]);(0,g.useEffect)(()=>{b()},[b]);let S=p?.rows??[],C=S.filter(e=>l||e.status!==`identical`),w=S.filter(e=>e.status===`changed`).length,T=S.filter(e=>e.status===`missing_a`).length,E=S.filter(e=>e.status===`missing_b`).length,D=S.filter(e=>e.status===`identical`).length,O=S.filter(e=>e.status===`missing_a`||e.status===`missing_b`),k={changed:{label:`Changed`,text:`text-warn-500`,bg:`bg-warn-500/10`,border:`border-warn-500/30`},identical:{label:`Identical`,text:`text-ash`,bg:`bg-ash/10`,border:`border-ash/20`},missing_a:{label:`Missing in ${a}`,text:`text-stop-500`,bg:`bg-stop-500/10`,border:`border-stop-500/30`},missing_b:{label:`Missing in ${s}`,text:`text-stop-500`,bg:`bg-stop-500/10`,border:`border-stop-500/30`}},A=[{label:`${w} changed`,text:`text-warn-500`,bg:`bg-warn-500/10`,border:`border-warn-500/30`},...T>0?[{label:`${T} missing in ${a}`,text:`text-stop-500`,bg:`bg-stop-500/10`,border:`border-stop-500/30`}]:[],...E>0?[{label:`${E} missing in ${s}`,text:`text-stop-500`,bg:`bg-stop-500/10`,border:`border-stop-500/30`}]:[],{label:`${D} identical`,text:`text-ash`,bg:`bg-ash/10`,border:`border-ash/20`}];return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Environment Diff`}),(0,L.jsx)(B.Subtitle,{children:`Compare secrets across environments`})]}),(0,L.jsx)(B.Actions,{children:(0,L.jsxs)(z,{variant:`primary`,"data-testid":`sync-missing-btn`,onClick:()=>{y(!0),setTimeout(()=>y(!1),2e3)},children:[`Sync missing keys `,`→`]})})]}),v&&(0,L.jsx)(`div`,{"data-testid":`coming-soon-toast`,className:`fixed right-5 top-5 z-[1000] rounded-md border border-gold-500/30 bg-ink-850 px-4 py-2.5 font-sans text-[12px] text-gold-500`,children:`Coming soon`}),(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b border-edge bg-ink-800 px-6 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`font-sans text-[12px] text-ash`,children:`Namespace`}),(0,L.jsx)(`select`,{value:r,onChange:e=>i(e.target.value),className:Dt,children:n.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`font-sans text-[12px] text-ash`,children:`Compare`}),(0,L.jsx)(`select`,{value:a,onChange:e=>o(e.target.value),className:Dt,children:t.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))}),(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-ash-dim`,children:`→`}),(0,L.jsx)(`select`,{value:s,onChange:e=>c(e.target.value),className:Dt,children:t.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),(0,L.jsx)(`div`,{className:`flex-1`}),(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked),"data-testid":`show-values-toggle`,className:`accent-gold-500`}),(0,L.jsx)(`span`,{className:`font-sans text-[12px] text-ash`,children:`Show values`})]}),(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>u(e.target.checked),className:`accent-gold-500`}),(0,L.jsx)(`span`,{className:`font-sans text-[12px] text-ash`,children:`Show identical`})]})]}),(0,L.jsx)(`div`,{className:`flex gap-2.5 border-b border-edge px-6 py-2.5`,children:A.map(e=>(0,L.jsx)(`span`,{className:`rounded-pill border px-2.5 py-px font-mono text-[11px] ${e.text} ${e.bg} ${e.border}`,children:e.label},e.label))}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto p-6`,children:[h&&(0,L.jsx)(Fe,{title:`Loading...`,body:`Computing diff between environments`}),!h&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(V,{"data-testid":`diff-table`,children:[(0,L.jsx)(V.Header,{children:(0,L.jsxs)(`tr`,{children:[(0,L.jsx)(V.HeaderCell,{className:`w-[220px]`,children:`Key`}),(0,L.jsx)(V.HeaderCell,{children:(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(de,{env:a,small:!0}),(0,L.jsx)(`span`,{children:a})]})}),(0,L.jsx)(V.HeaderCell,{children:(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(de,{env:s,small:!0}),(0,L.jsx)(`span`,{children:s})]})}),(0,L.jsx)(V.HeaderCell,{className:`w-[120px]`,children:`Status`})]})}),(0,L.jsx)(`tbody`,{children:C.map(e=>{let t=e.status,n=k[t],r=t===`changed`,i=t===`missing_a`||t===`missing_b`,a=r?`bg-warn-500/[0.025]`:i?`bg-stop-500/[0.025]`:``;return(0,L.jsxs)(V.Row,{tone:i?`drift`:void 0,className:a,children:[(0,L.jsx)(V.Cell,{className:`font-mono text-[12px] text-bone`,children:e.key}),(0,L.jsx)(V.Cell,{children:e.valueA===null?(0,L.jsxs)(`span`,{className:`font-mono text-[11px] italic text-ash-dim`,children:[`—`,` not set `,`—`]}):(0,L.jsx)(`span`,{className:`font-mono text-[11px] ${r?`rounded-sm bg-warn-500/15 px-1.5 py-0.5 text-warn-500`:`text-ash`}`,children:Et(e.valueA,36)})}),(0,L.jsx)(V.Cell,{children:e.valueB===null?(0,L.jsxs)(`span`,{className:`font-mono text-[11px] italic text-ash-dim`,children:[`—`,` not set `,`—`]}):(0,L.jsx)(`span`,{className:`font-mono text-[11px] ${r?`rounded-sm bg-blue-400/15 px-1.5 py-0.5 text-blue-400`:`text-ash`}`,children:Et(e.valueB,36)})}),(0,L.jsx)(V.Cell,{children:(0,L.jsx)(`span`,{className:`inline-block rounded-sm border px-2 py-0.5 font-mono text-[10px] font-semibold ${n.text} ${n.bg} ${n.border}`,children:n.label})})]},e.key)})})]}),O.length>0&&(0,L.jsx)(`div`,{"data-testid":`fix-hint`,className:`mt-5 flex flex-col gap-2.5 rounded-md border border-edge bg-ink-850 px-[18px] py-3.5`,children:O.map(e=>{let t=e.status===`missing_a`?a:s,n=`clef set ${r}/${t} ${e.key}`;return(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`span`,{className:`text-[16px]`,children:`💡`}),(0,L.jsxs)(`span`,{className:`flex-1 font-sans text-[12px] text-ash`,children:[(0,L.jsx)(`strong`,{className:`text-bone`,children:e.key}),` is missing in`,` `,(0,L.jsx)(de,{env:t,small:!0}),`. Run`,` `,(0,L.jsx)(`code`,{className:`rounded-sm bg-gold-500/15 px-1.5 py-px font-mono text-[11px] text-gold-500`,children:n}),` `,`to add it.`]}),(0,L.jsx)(Tt,{text:n})]},e.key)})})]})]})]})}var kt={error:{label:`Error`,icon:`✕`,text:`text-stop-500`,bg:`bg-stop-500/10`,border:`border-stop-500/30`,rowStripe:`border-l-[3px] border-l-stop-500/40`},warning:{label:`Warning`,icon:`⚠`,text:`text-warn-500`,bg:`bg-warn-500/10`,border:`border-warn-500/30`,rowStripe:`border-l-[3px] border-l-warn-500/40`},info:{label:`Info`,icon:`i`,text:`text-blue-400`,bg:`bg-blue-400/10`,border:`border-blue-400/30`,rowStripe:`border-l-[3px] border-l-blue-400/40`}},At={matrix:{label:`Matrix`,tone:`gold`},schema:{label:`Schema`,tone:`blue`},sops:{label:`SOPS`,tone:`purple`}},jt={all:{text:`text-ash`,bgActive:`bg-ash/15`,borderActive:`border-ash/30`},error:{text:`text-stop-500`,bgActive:`bg-stop-500/15`,borderActive:`border-stop-500/40`},warning:{text:`text-warn-500`,bgActive:`bg-warn-500/15`,borderActive:`border-warn-500/40`},info:{text:`text-blue-400`,bgActive:`bg-blue-400/15`,borderActive:`border-blue-400/40`}};function Mt({setView:e,setNs:t}){let[n,r]=(0,g.useState)(`all`),[i,a]=(0,g.useState)([]),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(!1),u=(0,g.useCallback)(async()=>{l(!0);try{let e=await x(`/api/lint`);e.ok&&s(await e.json())}catch{}finally{l(!1)}},[]);(0,g.useEffect)(()=>{u()},[u]);let d=o?.issues??[],f=o?.fileCount??0,p=d.filter(e=>e.severity===`error`),m=d.filter(e=>e.severity===`warning`),h=d.filter(e=>e.severity===`info`),_=d.map((e,t)=>({...e,_idx:t})).filter(e=>!i.includes(e._idx)).filter(e=>n===`all`||e.severity===n||e.category===n),v=n=>{if(n.file){let r=n.file.split(`/`);t(r[r.length-2]??r[0]),e(`editor`)}},y=_.length===0,b=[{key:`all`,label:`All issues`,count:d.length},{key:`error`,label:`Errors`,count:p.length},{key:`warning`,label:`Warnings`,count:m.length},{key:`info`,label:`Info`,count:h.length}];return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Lint`}),(0,L.jsx)(B.Subtitle,{children:`clef lint — full repo health check`})]}),(0,L.jsxs)(B.Actions,{children:[(0,L.jsxs)(z,{onClick:u,children:[(0,L.jsx)(P,{size:12,className:`mr-1 inline-block align-[-2px]`}),`Re-run`]}),p.length===0&&(0,L.jsx)(z,{variant:`primary`,children:`All clear — commit`})]})]}),!c&&!y&&(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2.5 border-b border-edge bg-ink-800 px-6 py-3.5`,children:[b.map(e=>{let t=jt[e.key],i=n===e.key?`${t.text} ${t.bgActive} ${t.borderActive} font-semibold`:`text-ash border-edge font-normal hover:border-edge-strong`;return(0,L.jsxs)(`button`,{"data-testid":`filter-${e.key}`,onClick:()=>r(e.key),className:`flex items-center gap-1.5 rounded-pill border px-3 py-1 font-sans text-[12px] transition-colors ${i}`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] font-bold ${t.text}`,children:e.count}),e.label]},e.key)}),(0,L.jsx)(`div`,{className:`flex-1`}),[`matrix`,`schema`,`sops`].map(e=>{let t=At[e],i=n===e;return(0,L.jsx)(`button`,{onClick:()=>r(i?`all`:e),className:`rounded-sm border px-2.5 py-1 font-mono text-[10px] font-semibold uppercase tracking-[0.06em] transition-colors ${i?`bg-ink-800 border-edge-strong text-bone`:`border-edge-strong text-ash-dim hover:text-ash`}`,children:(0,L.jsx)(nt,{tone:t.tone,variant:i?`solid`:`outline`,children:t.label})},e)})]}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto p-6`,children:[c&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`style`,{children:`
|
|
9
|
+
@keyframes clef-scan-line {
|
|
10
|
+
0% { transform: scaleX(0); opacity: 0; }
|
|
11
|
+
10% { opacity: 1; }
|
|
12
|
+
50% { transform: scaleX(1); opacity: 1; }
|
|
13
|
+
80% { transform: scaleX(1); opacity: 0.3; }
|
|
14
|
+
100% { transform: scaleX(0); opacity: 0; }
|
|
15
|
+
}
|
|
16
|
+
@keyframes clef-scan-glow {
|
|
17
|
+
0%, 100% { opacity: 0.4; }
|
|
18
|
+
50% { opacity: 1; }
|
|
19
|
+
}
|
|
20
|
+
.clef-scan-line { animation: clef-scan-line 1.8s ease-in-out infinite; transform-origin: left; opacity: 0; }
|
|
21
|
+
.clef-scan-line-0 { animation-delay: 0s; width: 120px; }
|
|
22
|
+
.clef-scan-line-1 { animation-delay: 0.3s; width: 90px; }
|
|
23
|
+
.clef-scan-line-2 { animation-delay: 0.6s; width: 105px; }
|
|
24
|
+
.clef-scan-glow { animation: clef-scan-glow 1.8s ease-in-out infinite; }
|
|
25
|
+
`}),(0,L.jsx)(`div`,{className:`flex items-center justify-center px-6 py-12`,children:(0,L.jsxs)(`div`,{className:`min-w-[200px] rounded-card border border-edge bg-ink-850 px-10 py-7 text-center`,children:[(0,L.jsx)(`div`,{className:`mb-4 flex flex-col gap-1.5`,children:[0,1,2].map(e=>(0,L.jsx)(`div`,{className:`h-[3px] rounded-sm bg-gold-500 clef-scan-line clef-scan-line-${e}`},e))}),(0,L.jsx)(`div`,{className:`font-mono text-[11px] text-ash clef-scan-glow`,children:`Linting...`})]})})]}),!c&&y&&(0,L.jsx)(Fe,{"data-testid":`all-clear`,icon:(0,L.jsx)(`span`,{className:`text-go-500`,children:`✓`}),title:`All clear`,body:`No issues found across ${f} files`}),!c&&!y&&[`error`,`warning`,`info`].map(e=>{let t=_.filter(t=>t.severity===e);if(!t.length)return null;let n=kt[e];return(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsxs)(`div`,{className:`mb-2.5 flex items-center gap-2.5`,children:[(0,L.jsx)(`div`,{className:`flex h-[22px] w-[22px] items-center justify-center rounded-full border font-mono text-[11px] font-bold ${n.bg} ${n.border} ${n.text}`,children:n.icon}),(0,L.jsxs)(`span`,{className:`font-sans text-[13px] font-semibold ${n.text}`,children:[n.label,`s`]}),(0,L.jsx)(`span`,{className:`rounded-pill border px-2 py-px font-mono text-[10px] ${n.bg} ${n.border} ${n.text}`,children:t.length})]}),(0,L.jsx)(ve,{children:t.map((e,r)=>{let i=At[e.category??`matrix`]??{label:e.category,tone:`default`},o=e.file?.split(`/`)??[],s=o.length>=2?o[o.length-1]?.replace(`.enc.yaml`,``):void 0,c=r===t.length-1;return(0,L.jsxs)(`div`,{className:`flex items-start gap-3.5 px-[18px] py-3.5 ${n.rowStripe} ${c?``:`border-b border-edge`}`,children:[(0,L.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,L.jsx)(nt,{tone:i.tone,children:i.label})}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxs)(`div`,{className:`mb-1 flex flex-wrap items-center gap-2`,children:[(0,L.jsx)(`span`,{"data-testid":`file-ref-${e.file}`,role:`link`,tabIndex:0,onClick:()=>v(e),onKeyDown:t=>{t.key===`Enter`&&v(e)},className:`font-mono text-[12px] font-semibold text-gold-500 ${e.file?`cursor-pointer underline decoration-gold-500/40 decoration-dotted`:`cursor-default no-underline`}`,children:e.file}),e.key&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] text-ash-dim`,children:`→`}),(0,L.jsx)(`span`,{className:`rounded-sm border border-edge-strong bg-ink-900 px-[7px] py-px font-mono text-[11px] text-bone`,children:e.key})]}),s&&(0,L.jsx)(de,{env:s,small:!0})]}),(0,L.jsx)(`div`,{className:`font-sans text-[12px] text-ash ${e.fixCommand?`mb-2.5`:``}`,children:e.message}),e.fixCommand&&(0,L.jsxs)(`div`,{className:`flex w-fit items-center gap-2 rounded-md border border-edge-strong bg-ink-800 px-2.5 py-1.5`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] text-go-500`,children:`$`}),(0,L.jsx)(`span`,{className:`font-mono text-[11px] text-bone`,children:e.fixCommand}),(0,L.jsx)(Tt,{text:e.fixCommand})]})]}),(0,L.jsx)(`button`,{onClick:()=>a(t=>[...t,e._idx]),title:`Dismiss`,"aria-label":`Dismiss issue`,className:`shrink-0 cursor-pointer border-none bg-transparent px-1 text-[16px] leading-none text-ash-dim transition-colors hover:text-bone`,children:`×`})]},e._idx)})})]},e)}),!c&&!y&&(0,L.jsxs)(`div`,{className:`mt-2 flex items-center gap-3 rounded-md border border-edge bg-ink-850 px-4 py-3`,children:[(0,L.jsx)(`span`,{className:`text-[14px]`,children:`💡`}),(0,L.jsxs)(`span`,{className:`font-sans text-[12px] text-ash`,children:[`Fix all errors before committing. Warnings and info items won't block commits but should be reviewed. Run`,` `,(0,L.jsx)(`code`,{className:`rounded-sm bg-gold-500/15 px-1.5 py-px font-mono text-[11px] text-gold-500`,children:`clef lint --fix`}),` `,`to auto-resolve safe issues.`]})]})]})]})}function Nt(){let[e,t]=(0,g.useState)(`idle`),[n,r]=(0,g.useState)(`all`),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)([]),[u,d]=(0,g.useState)(`all`);(0,g.useEffect)(()=>{x(`/api/scan/status`).then(e=>e.ok?e.json():null).then(e=>{e?.lastRun&&(a(e.lastRun),s(e.lastRunAt),t(e.lastRun.matches.length>0||e.lastRun.unencryptedMatrixFiles.length>0?`issues`:`clean`))}).catch(()=>{})},[]);let f=(0,g.useCallback)(async()=>{t(`scanning`),l([]);try{let e=await x(`/api/scan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({severity:n})});if(!e.ok)throw Error(`Scan failed`);let r=await e.json();a(r),s(new Date().toISOString()),t(r.matches.length>0||r.unencryptedMatrixFiles.length>0?`issues`:`clean`)}catch{t(`idle`)}},[n]),p=async e=>{try{await x(`/api/editor/open`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({file:e})})}catch{}},m=e=>{if(!e)return``;let t=Date.now()-new Date(e).getTime();return t<6e4?`just now`:`${Math.floor(t/6e4)}m ago`},h=(i?.matches??[]).map((e,t)=>({...e,_idx:t})).filter(e=>!c.includes(e._idx)).filter(e=>u===`pattern`?e.matchType===`pattern`:u===`entropy`?e.matchType===`entropy`:!0),_=c.length,v=(i?.matches.length??0)+(i?.unencryptedMatrixFiles.length??0),y=i?(i.durationMs/1e3).toFixed(1):`0.0`;return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Scan`}),(0,L.jsx)(B.Subtitle,{children:`clef scan — detect plaintext secrets`})]}),(e===`issues`||e===`clean`)&&(0,L.jsx)(B.Actions,{children:(0,L.jsx)(z,{onClick:f,children:`↺ Scan again`})})]}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto p-6`,children:[e===`idle`&&(0,L.jsxs)(`div`,{"data-testid":`scan-idle`,className:`mx-auto max-w-[520px] pt-10`,children:[(0,L.jsxs)(`div`,{className:`mb-6 flex flex-col items-center gap-3 text-center`,children:[(0,L.jsx)(ne,{className:`text-ash-dim`,size:40,"aria-hidden":!0}),(0,L.jsx)(`div`,{className:`font-sans text-[14px] leading-relaxed text-ash`,children:`Scans your repository for secrets that have escaped the Clef matrix — plaintext values in files that should be encrypted.`})]}),(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsx)(`div`,{className:`mb-2.5 font-sans text-[12px] font-semibold uppercase tracking-[0.05em] text-ash`,children:`Severity`}),[`all`,`high`].map(e=>(0,L.jsxs)(`label`,{className:`mb-2 flex cursor-pointer items-center gap-2.5 font-sans text-[13px] ${n===e?`text-bone`:`text-ash`}`,children:[(0,L.jsx)(`input`,{type:`radio`,name:`severity`,value:e,checked:n===e,onChange:()=>r(e),className:`accent-gold-500`,"data-testid":`severity-${e}`}),e===`all`?`All (patterns + entropy)`:`High (patterns only)`]},e))]}),(0,L.jsx)(z,{variant:`primary`,onClick:f,"data-testid":`scan-button`,children:`Scan repository`}),(0,L.jsxs)(`div`,{className:`mt-6 rounded-md border border-edge bg-ink-850 px-4 py-3 font-sans text-[12px] text-ash`,children:[`ℹ️ `,(0,L.jsx)(`code`,{className:`font-mono`,children:`clef scan`}),` runs automatically on every commit via the pre-commit hook.`]})]}),e===`scanning`&&(0,L.jsxs)(`div`,{"data-testid":`scan-scanning`,className:`flex flex-col items-center justify-center gap-4 pt-20`,children:[(0,L.jsx)(`div`,{className:`h-10 w-10 animate-spin rounded-full border-[3px] border-gold-500/30 border-t-gold-500`}),(0,L.jsx)(`div`,{className:`font-sans text-[14px] text-ash`,children:`Scanning...`})]}),e===`clean`&&i&&(0,L.jsxs)(`div`,{"data-testid":`scan-clean`,className:`flex flex-col items-center justify-center gap-3.5 pt-14`,children:[(0,L.jsx)(`div`,{className:`flex h-14 w-14 items-center justify-center rounded-full border border-go-500/30 bg-go-500/15 text-[24px] text-go-500`,children:`✓`}),(0,L.jsx)(`div`,{className:`font-sans text-[16px] font-semibold text-go-500`,children:`No issues found`}),(0,L.jsxs)(`div`,{className:`font-mono text-[12px] text-ash`,children:[i.filesScanned,` files scanned in `,y,`s`]}),(0,L.jsxs)(`div`,{className:`font-mono text-[11px] text-ash-dim`,children:[`Last run: `,m(o)]})]}),e===`issues`&&i&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`mb-5 flex flex-wrap items-center gap-3`,children:[(0,L.jsxs)(`span`,{className:`font-sans text-[14px] font-semibold text-bone`,children:[v,` issue`,v===1?``:`s`,` found in `,i.filesScanned,` `,`files (`,y,`s)`]}),(0,L.jsx)(`div`,{className:`flex-1`}),[{key:`all`,label:`All`},{key:`unencrypted`,label:`Unencrypted`},{key:`pattern`,label:`Pattern`},{key:`entropy`,label:`Entropy`}].map(({key:e,label:t})=>{let n=u===e;return(0,L.jsx)(`button`,{"data-testid":`filter-${e}`,onClick:()=>d(e),className:`cursor-pointer rounded-md border px-2.5 py-1 font-mono text-[11px] ${n?`border-gold-500/30 bg-gold-500/10 font-semibold text-gold-500`:`border-edge-strong bg-transparent text-ash`}`,children:t},e)})]}),(u===`all`||u===`unencrypted`)&&i.unencryptedMatrixFiles.map(e=>(0,L.jsx)(Pt,{type:`error`,typeLabel:`UNENCRYPTED FILE`,file:e,message:`Missing SOPS metadata — file is in plaintext.`,fixCommand:`clef encrypt ${e.replace(/\.enc\.(yaml|json)$/,``)}`,onViewFile:()=>p(e)},`unenc-${e}`)),h.map(e=>(0,L.jsx)(Pt,{type:`warning`,typeLabel:e.matchType===`pattern`?(e.patternName??`Pattern match`).toUpperCase():`HIGH ENTROPY (${e.entropy?.toFixed(1)})`,file:`${e.file}:${e.line}`,message:e.preview,fixCommand:e.matchType===`pattern`?`clef set <namespace>/<env> <KEY>`:`clef set <namespace>/<env> ${e.preview.split(`=`)[0]}`,onViewFile:()=>p(e.file),onDismiss:()=>l(t=>[...t,e._idx])},`match-${e._idx}`)),_>0&&(0,L.jsxs)(`div`,{className:`mt-3 font-mono text-[11px] text-ash-dim`,children:[_,` dismissed`]})]})]})]})}function Pt({type:e,typeLabel:t,file:n,message:r,fixCommand:i,onViewFile:a,onDismiss:o}){let s=e===`error`?`border-l-stop-500/40`:`border-l-warn-500/40`,c=e===`error`?`text-stop-500 bg-stop-500/15 border-stop-500/30`:`text-warn-500 bg-warn-500/15 border-warn-500/30`;return(0,L.jsxs)(`div`,{className:`mb-3 flex items-start gap-3.5 rounded-md border border-edge border-l-[3px] bg-ink-850 px-4.5 py-3.5 ${s}`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxs)(`div`,{className:`mb-1.5 flex flex-wrap items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`rounded-sm border px-1.5 py-0.5 font-mono text-[9px] font-bold tracking-[0.07em] ${c}`,children:t}),(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-gold-500 ${a?`cursor-pointer`:``}`,onClick:a,role:a?`button`:void 0,tabIndex:a?0:void 0,onKeyDown:a?e=>{e.key===`Enter`&&a()}:void 0,children:n})]}),(0,L.jsx)(`div`,{className:`mb-2.5 font-mono text-[12px] text-bone`,"data-testid":`match-preview`,children:r}),(0,L.jsxs)(`div`,{className:`flex w-fit items-center gap-2 rounded-md border border-edge-strong bg-ink-800 px-2.5 py-1.5`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] text-go-500`,children:`$`}),(0,L.jsx)(`span`,{className:`font-mono text-[11px] text-bone`,children:i}),(0,L.jsx)(Tt,{text:i})]}),a&&(0,L.jsx)(`button`,{"data-testid":`view-file-button`,onClick:a,className:`mt-2 cursor-pointer rounded-md border border-edge-strong bg-transparent px-2 py-0.5 font-sans text-[11px] text-ash`,children:`View file`})]}),o&&(0,L.jsx)(`button`,{"data-testid":`dismiss-button`,onClick:o,title:`Dismiss`,"aria-label":`Dismiss issue`,className:`shrink-0 cursor-pointer border-none bg-transparent px-1 text-[16px] leading-none text-ash-dim`,children:`×`})]})}var Ft=864e5,It={overdue:{label:`Overdue`,icon:`✕`,textClass:`text-stop-500`,bgClass:`bg-stop-500/15`,borderClass:`border-stop-500/40`,stripeClass:`border-l-stop-500/40`,badgeTone:`stop`},unknown:{label:`Unknown`,icon:`?`,textClass:`text-warn-500`,bgClass:`bg-warn-500/15`,borderClass:`border-warn-500/40`,stripeClass:`border-l-warn-500/40`,badgeTone:`warn`},ok:{label:`OK`,icon:`✓`,textClass:`text-go-500`,bgClass:`bg-go-500/15`,borderClass:`border-go-500/40`,stripeClass:`border-l-go-500/40`,badgeTone:`go`}},Lt={dev:{text:`text-go-500`,bg:`bg-go-500/10`,border:`border-go-500/20`},staging:{text:`text-warn-500`,bg:`bg-warn-500/10`,border:`border-warn-500/20`},production:{text:`text-stop-500`,bg:`bg-stop-500/10`,border:`border-stop-500/20`}};function W(e){return e.last_rotated_known?e.rotation_overdue?`overdue`:`ok`:`unknown`}function Rt(e){return Math.floor((Date.now()-new Date(e).getTime())/Ft)}function zt(e){if(!e.last_rotated_at||!e.rotation_due)return null;let t=new Date(e.rotation_due).getTime(),n=new Date(e.last_rotated_at).getTime();return Math.round((t-n)/Ft)}var Bt=[{key:`all`,label:`All keys`,textClass:`text-ash`,bgClass:`bg-ash/10`,borderClass:`border-ash/30`},{key:`overdue`,label:`Overdue`,textClass:`text-stop-500`,bgClass:`bg-stop-500/15`,borderClass:`border-stop-500/40`},{key:`unknown`,label:`Unknown`,textClass:`text-warn-500`,bgClass:`bg-warn-500/15`,borderClass:`border-warn-500/40`},{key:`ok`,label:`Compliant`,textClass:`text-go-500`,bgClass:`bg-go-500/15`,borderClass:`border-go-500/40`}];function Vt({setView:e,setNs:t}){let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(`all`),[u,d]=(0,g.useState)(!1),f=(0,g.useCallback)(async()=>{s(!0);try{let[e,t]=await Promise.all([x(`/api/policy/check`),x(`/api/policy`)]);e.ok&&r(await e.json()),t.ok&&a((await t.json()).rawYaml)}catch{}finally{s(!1)}},[]);(0,g.useEffect)(()=>{f()},[f]);let p=e=>{let t=e.split(`/`);return t.length>=2?t[t.length-2]:t[0]},m=n=>{let r=p(n.path);r&&(t(r),e(`editor`))},h=n?.files??[],_=n?.summary,v=n?.policy,y=n?.source,b=(0,g.useMemo)(()=>h.flatMap(e=>e.keys.map(t=>({file:e,key:t}))),[h]),S=(0,g.useMemo)(()=>c===`all`?b:b.filter(e=>W(e.key)===c),[b,c]),C=(0,g.useMemo)(()=>{let e=0,t=0,n=0;for(let r of b){let i=W(r.key);i===`overdue`?e++:i===`unknown`?t++:n++}return{overdue:e,unknown:t,ok:n,total:b.length}},[b]),w=C.total>0&&C.overdue===0&&C.unknown===0,T=!o&&h.length===0,E={all:C.total,overdue:C.overdue,unknown:C.unknown,ok:C.ok};return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Policy`}),(0,L.jsx)(B.Subtitle,{children:`clef policy check — rotation verdicts`})]}),(0,L.jsx)(B.Actions,{children:(0,L.jsxs)(z,{onClick:f,children:[`↻`,` Re-run`]})})]}),v&&(0,L.jsxs)(`div`,{className:`border-b border-edge bg-ink-850 px-6 py-4`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,L.jsx)(`span`,{className:`font-sans text-[11px] font-semibold uppercase tracking-[0.08em] text-ash-dim`,children:`Default`}),(0,L.jsxs)(`span`,{className:`font-mono text-[13px] text-bone`,children:[v.rotation?.max_age_days??`—`,(0,L.jsx)(`span`,{className:`ml-0.5 text-ash`,children:`d`})]}),v.rotation?.environments&&Object.entries(v.rotation.environments).map(([e,t])=>{let n=Lt[e]??{text:`text-ash`,bg:`bg-transparent`,border:`border-ash/20`};return(0,L.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-sm border px-2 py-0.5 font-mono text-[11px] ${n.text} ${n.bg} ${n.border}`,children:[(0,L.jsx)(`span`,{className:`font-bold tracking-[0.06em]`,children:e.toUpperCase()}),(0,L.jsxs)(`span`,{children:[t.max_age_days,`d`]})]},e)}),(0,L.jsx)(`div`,{className:`flex-1`}),(0,L.jsx)(`span`,{"data-testid":`policy-source`,className:`rounded-sm border px-2 py-0.5 font-mono text-[10px] ${y===`file`?`border-go-500/30 bg-go-500/10 text-go-500`:`border-edge bg-transparent text-ash`}`,children:y===`file`?`.clef/policy.yaml`:`Built-in default`}),i&&(0,L.jsx)(`button`,{"data-testid":`toggle-yaml`,onClick:()=>d(e=>!e),className:`cursor-pointer rounded-md border border-gold-500/30 bg-transparent px-2 py-0.5 font-sans text-[11px] text-gold-500 hover:bg-gold-500/10`,children:u?`Hide YAML`:`View YAML`})]}),u&&i&&(0,L.jsx)(`pre`,{"data-testid":`raw-yaml`,className:`mt-3 max-h-[200px] overflow-auto rounded-md border border-edge-strong bg-ink-800 px-3.5 py-3 font-mono text-[11px] text-bone`,children:i})]}),!o&&C.total>0&&(0,L.jsx)(`div`,{className:`flex flex-wrap items-center gap-2.5 border-b border-edge bg-ink-800 px-6 py-3.5`,children:Bt.map(e=>{let t=c===e.key,n=E[e.key];return(0,L.jsxs)(`button`,{"data-testid":`filter-${e.key}`,onClick:()=>l(e.key),className:`flex cursor-pointer items-center gap-1.5 rounded-pill border px-3 py-1 font-sans text-[12px] transition-colors ${t?`${e.textClass} ${e.bgClass} ${e.borderClass} font-semibold`:`border-edge bg-transparent text-ash hover:text-bone`}`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] font-bold ${e.textClass}`,children:n}),e.label]},e.key)})}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto p-6`,children:[o&&(0,L.jsx)(Fe,{title:`Evaluating policy...`}),!o&&T&&(0,L.jsx)(Fe,{"data-testid":`no-files`,title:`No matrix files to evaluate.`,body:`Add a namespace to your manifest to start tracking rotation policy.`}),!o&&w&&(0,L.jsxs)(`div`,{"data-testid":`all-compliant`,className:`flex flex-col items-center justify-center gap-3.5 py-14`,children:[(0,L.jsx)(`div`,{className:`flex h-14 w-14 items-center justify-center rounded-full border border-go-500/30 bg-go-500/15 text-[24px] text-go-500`,children:`✓`}),(0,L.jsx)(`div`,{className:`font-sans text-[16px] font-semibold text-go-500`,children:`All compliant`}),(0,L.jsxs)(`div`,{className:`font-mono text-[12px] text-ash`,children:[C.total,` key`,C.total===1?``:`s`,` within rotation window across`,` `,_?.total_files??0,` file`,_?.total_files===1?``:`s`]})]}),!o&&!w&&!T&&v&&[`overdue`,`unknown`,`ok`].map(e=>{if(c!==`all`&&c!==e)return null;let t=S.filter(t=>W(t.key)===e);if(!t.length)return null;let n=It[e];return(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsxs)(`div`,{className:`mb-2.5 flex items-center gap-2.5`,children:[(0,L.jsx)(`div`,{className:`flex h-[22px] w-[22px] items-center justify-center rounded-full border font-mono text-[11px] font-bold ${n.borderClass} ${n.bgClass} ${n.textClass}`,children:n.icon}),(0,L.jsx)(`span`,{className:`font-sans text-[13px] font-semibold ${n.textClass}`,children:n.label}),(0,L.jsx)(`span`,{className:`rounded-pill border px-2 py-px font-mono text-[10px] ${n.borderClass} ${n.bgClass} ${n.textClass}`,children:t.length})]}),(0,L.jsx)(ve,{className:`overflow-hidden`,children:t.map((r,i)=>{let{file:a,key:o}=r,s=zt(o),c=p(a.path)??`<namespace>`,l=e===`unknown`?`No rotation record · run clef set ${c}/${a.environment} ${o.key} to establish`:o.last_rotated_at?`Last rotated ${Rt(o.last_rotated_at)}d ago · limit ${s??`?`}d · ${o.rotation_count} rotation${o.rotation_count===1?``:`s`}`:`Rotation state inconsistent`,u=e===`overdue`?`${n.label} ${o.days_overdue}d`:n.label;return(0,L.jsxs)(`div`,{className:`flex items-start gap-3.5 border-l-[3px] px-4.5 py-3.5 transition-colors ${n.stripeClass} ${i<t.length-1?`border-b border-edge`:``}`,children:[(0,L.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,L.jsx)(nt,{tone:n.badgeTone,variant:`solid`,children:u})}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxs)(`div`,{className:`mb-1 flex flex-wrap items-center gap-2`,children:[(0,L.jsx)(`span`,{"data-testid":`key-ref-${o.key}`,className:`font-mono text-[13px] font-bold text-bone`,children:o.key}),(0,L.jsx)(`span`,{className:`font-mono text-[10px] text-ash`,children:`←`}),(0,L.jsx)(`span`,{"data-testid":`file-ref-${a.path}`,role:`link`,tabIndex:0,onClick:()=>m(a),onKeyDown:e=>{e.key===`Enter`&&m(a)},className:`cursor-pointer font-mono text-[11px] font-medium text-gold-500 underline decoration-gold-500/40 decoration-dotted`,children:a.path}),(0,L.jsx)(de,{env:a.environment,small:!0})]}),(0,L.jsx)(`div`,{className:`font-sans text-[12px] text-ash`,children:l})]})]},`${a.path}-${o.key}-${i}`)})})]},e)}),!o&&_&&_.total_files>0&&(0,L.jsxs)(`div`,{className:`mt-2 flex items-center gap-3 rounded-md border border-edge bg-ink-850 px-4 py-3`,children:[(0,L.jsx)(`span`,{className:`text-[14px]`,children:`💡`}),(0,L.jsxs)(`span`,{className:`font-sans text-[12px] text-ash`,children:[`Edit`,` `,(0,L.jsx)(`code`,{className:`rounded-sm bg-gold-500/10 px-1.5 py-px font-mono text-[11px] text-gold-500`,children:`.clef/policy.yaml`}),` `,`to change rotation limits. Run`,` `,(0,L.jsx)(`code`,{className:`rounded-sm bg-gold-500/10 px-1.5 py-px font-mono text-[11px] text-gold-500`,children:`clef policy check`}),` `,`locally to reproduce this verdict.`]})]})]})]})}var Ht=`w-full rounded-md border border-edge bg-ink-850 px-2.5 py-1.5 font-sans text-[13px] text-bone outline-none cursor-pointer focus-visible:border-gold-500`,Ut=`w-full box-border rounded-lg border border-edge bg-ink-850 p-3.5 font-mono text-[12px] text-bone outline-none resize-y focus-visible:border-gold-500`;function Wt({manifest:e,setView:t}){let[n,r]=(0,g.useState)(1),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(`auto`),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)([]),[_,v]=(0,g.useState)(null),[y,b]=(0,g.useState)(!1),[S,C]=(0,g.useState)(null);(0,g.useEffect)(()=>{e&&(!i&&e.namespaces.length>0&&a(e.namespaces[0].name),!o&&e.environments.length>0&&s(e.environments[0].name))},[e,i,o]);let w=e?.namespaces??[],T=e?.environments??[],E=async()=>{if(!i||!o||!c.trim()){C(`Please select a namespace, environment, and paste content.`);return}b(!0),C(null);try{let e=await x(`/api/import/preview`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({target:`${i}/${o}`,content:c,format:u===`auto`?void 0:u,overwriteKeys:m})});if(!e.ok){C((await e.json()).error??`Preview failed`);return}p(await e.json()),h([]),r(2)}catch(e){C(e instanceof Error?e.message:`Preview failed`)}finally{b(!1)}},D=async()=>{if(!f)return;b(!0),C(null);let e=[...f.wouldImport,...f.wouldSkip.filter(e=>m.includes(e.key)).map(e=>e.key)];try{let t=await x(`/api/import/apply`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({target:`${i}/${o}`,content:c,format:u===`auto`?void 0:u,keys:e,overwriteKeys:m})});if(!t.ok){C((await t.json()).error??`Import failed`);return}v(await t.json()),l(``),r(3)}catch(e){C(e instanceof Error?e.message:`Import failed`)}finally{b(!1)}},O=()=>{r(1),l(``),p(null),v(null),h([]),C(null)},k=e=>{h(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},A=(f?.wouldImport.length??0)+m.filter(e=>f?.wouldSkip.some(t=>t.key===e)).length;return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Import`}),(0,L.jsx)(B.Subtitle,{children:`clef import — bulk migrate secrets`})]})}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[620px]`,children:[(0,L.jsx)(`div`,{className:`mb-8 flex items-center`,children:[1,2,3].map((e,t)=>(0,L.jsxs)(g.Fragment,{children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`div`,{className:`flex h-6 w-6 items-center justify-center rounded-full font-mono text-[11px] font-bold ${n>=e?`bg-gold-500 border border-gold-500 text-ink-950`:`bg-ink-850 border border-edge text-ash-dim`}`,children:e}),(0,L.jsx)(`span`,{className:`font-sans text-[12px] ${n>=e?`text-bone`:`text-ash-dim`} ${n===e?`font-semibold`:`font-normal`}`,children:e===1?`Source`:e===2?`Preview`:`Done`})]}),t<2&&(0,L.jsx)(`div`,{className:`mx-3 h-px min-w-[40px] flex-1 ${n>e?`bg-gold-500`:`bg-edge`}`})]},e))}),S&&(0,L.jsx)(`div`,{className:`mb-4 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-3 font-sans text-[13px] text-stop-500`,children:S}),n===1&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(Gt,{children:`Target`}),(0,L.jsxs)(`div`,{className:`flex gap-3`,children:[(0,L.jsxs)(`div`,{className:`flex-1`,children:[(0,L.jsx)(Kt,{children:`Namespace`}),(0,L.jsx)(`select`,{value:i,onChange:e=>a(e.target.value),className:Ht,children:w.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),(0,L.jsxs)(`div`,{className:`flex-1`,children:[(0,L.jsx)(Kt,{children:`Environment`}),(0,L.jsx)(`select`,{value:o,onChange:e=>s(e.target.value),className:Ht,children:T.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))})]})]})]}),(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(Gt,{children:`Format`}),(0,L.jsx)(`div`,{className:`flex gap-4`,children:[`auto`,`dotenv`,`json`,`yaml`].map(e=>(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 font-sans text-[13px] ${u===e?`text-bone`:`text-ash`}`,children:[(0,L.jsx)(`input`,{type:`radio`,name:`format`,value:e,checked:u===e,onChange:()=>d(e),className:`accent-gold-500`}),e===`auto`?`Auto`:e]},e))})]}),(0,L.jsxs)(`div`,{className:`mb-2`,children:[(0,L.jsx)(Gt,{children:`Paste secrets`}),(0,L.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),placeholder:u===`json`?`{
|
|
26
|
+
"DB_HOST": "localhost",
|
|
27
|
+
"DB_PORT": "5432"
|
|
28
|
+
}`:u===`yaml`?`DB_HOST: localhost
|
|
29
|
+
DB_PORT: '5432'`:`DB_HOST=localhost
|
|
30
|
+
DB_PORT=5432
|
|
31
|
+
# Comments are ignored`,rows:12,className:Ut})]}),(0,L.jsx)(`div`,{className:`mb-6 rounded-md border border-edge bg-ink-850 px-3.5 py-2.5 font-sans text-[11px] leading-relaxed text-ash`,children:`Values are sent directly to the local Clef server (127.0.0.1) and encrypted immediately. They are never stored in browser memory beyond this session.`}),(0,L.jsx)(z,{variant:`primary`,onClick:E,disabled:y||!c.trim(),children:y?`Previewing...`:`Next: Preview`})]}),n===2&&f&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`mb-5 font-sans text-[13px] text-ash`,children:[`Importing to`,` `,(0,L.jsxs)(`span`,{className:`font-semibold text-gold-500`,children:[i,`/`,o]}),`. `,f.totalKeys,` key`,f.totalKeys===1?``:`s`,` parsed.`]}),f.warnings.length>0&&(0,L.jsx)(`div`,{className:`mb-4`,children:f.warnings.map((e,t)=>(0,L.jsxs)(`div`,{className:`mb-1 font-mono text-[11px] text-warn-500`,children:[`⚠ `,e]},t))}),f.wouldImport.length>0&&(0,L.jsxs)(`div`,{className:`mb-4`,children:[(0,L.jsxs)(qt,{toneClass:`text-go-500`,children:[`New keys (`,f.wouldImport.length,`)`]}),f.wouldImport.map(e=>(0,L.jsx)(Jt,{icon:`→`,iconClass:`text-go-500`,label:e},e))]}),f.wouldSkip.length>0&&(0,L.jsxs)(`div`,{className:`mb-4`,children:[(0,L.jsxs)(qt,{toneClass:`text-warn-500`,children:[`Already exists (`,f.wouldSkip.length,`) — toggle to overwrite`]}),f.wouldSkip.map(({key:e,reason:t})=>{let n=m.includes(e);return(0,L.jsxs)(`div`,{className:`mb-1 flex items-center gap-2.5 rounded-md border px-2.5 py-1.5 ${n?`border-warn-500/30 bg-warn-500/10`:`border-edge bg-transparent`}`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:n,onChange:()=>k(e),className:`accent-warn-500`,id:`overwrite-${e}`}),(0,L.jsx)(`label`,{htmlFor:`overwrite-${e}`,className:`flex-1 cursor-pointer font-mono text-[12px] ${n?`text-warn-500`:`text-ash`}`,children:e}),(0,L.jsx)(`span`,{className:`font-sans text-[11px] text-ash-dim`,children:t})]},e)})]}),f.wouldImport.length===0&&f.wouldSkip.length===0&&(0,L.jsx)(`div`,{className:`py-6 text-center font-sans text-[13px] text-ash`,children:`No importable keys found.`}),(0,L.jsxs)(`div`,{className:`mt-6 flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`ghost`,onClick:()=>r(1),children:`Back`}),(0,L.jsx)(z,{variant:`primary`,onClick:D,disabled:y||A===0,children:y?`Importing...`:`Import ${A} key${A===1?``:`s`}`})]})]}),n===3&&_&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`flex flex-col items-center pt-5 pb-8`,children:[(0,L.jsx)(`div`,{className:`mb-4 flex h-14 w-14 items-center justify-center rounded-full text-[24px] ${_.failed.length>0?`border border-stop-500/30 bg-stop-500/10 text-stop-500`:`border border-go-500/30 bg-go-500/10 text-go-500`}`,children:_.failed.length>0?`⚠`:`✓`}),(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[16px] font-semibold ${_.failed.length>0?`text-warn-500`:`text-go-500`}`,children:_.failed.length>0?`Import completed with errors`:`Import complete`}),(0,L.jsxs)(`div`,{className:`font-mono text-[12px] text-ash`,children:[_.imported.length,` imported, `,_.skipped.length,` skipped,`,` `,_.failed.length,` failed`]})]}),_.imported.length>0&&(0,L.jsxs)(`div`,{className:`mb-4`,children:[(0,L.jsxs)(qt,{toneClass:`text-go-500`,children:[`Imported (`,_.imported.length,`)`]}),_.imported.map(e=>(0,L.jsx)(Jt,{icon:`✓`,iconClass:`text-go-500`,label:e},e))]}),_.failed.length>0&&(0,L.jsxs)(`div`,{className:`mb-4`,children:[(0,L.jsxs)(qt,{toneClass:`text-stop-500`,children:[`Failed (`,_.failed.length,`)`]}),_.failed.map(({key:e,error:t})=>(0,L.jsx)(Jt,{icon:`✗`,iconClass:`text-stop-500`,label:e,note:t},e))]}),(0,L.jsxs)(`div`,{className:`mt-6 flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`primary`,onClick:()=>t(`matrix`),children:`View in Matrix`}),(0,L.jsx)(z,{variant:`ghost`,onClick:O,children:`Import more`})]})]})]})})]})}function Gt({children:e}){return(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[12px] font-semibold uppercase tracking-[0.05em] text-ash`,children:e})}function Kt({children:e}){return(0,L.jsx)(`div`,{className:`mb-1 font-sans text-[11px] text-ash-dim`,children:e})}function qt({children:e,toneClass:t}){return(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[11px] font-semibold uppercase tracking-[0.06em] ${t}`,children:e})}function Jt({icon:e,iconClass:t,label:n,note:r}){return(0,L.jsxs)(`div`,{className:`mb-px flex items-center gap-2.5 rounded-md px-2.5 py-1`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[13px] ${t}`,children:e}),(0,L.jsx)(`span`,{className:`flex-1 font-mono text-[12px] text-bone`,children:n}),r&&(0,L.jsx)(`span`,{className:`font-sans text-[11px] text-ash-dim`,children:r})]})}function Yt({manifest:e,reloadManifest:t}){let[n,r]=(0,g.useState)({kind:`none`}),[i,a]=(0,g.useState)(null),o=(0,g.useCallback)(()=>{r({kind:`none`}),a(null)},[]);if(!e)return(0,L.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Manifest`}),(0,L.jsx)(B.Subtitle,{children:`Loading...`})]})})});let s=e.namespaces,c=e.environments;return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Manifest`}),(0,L.jsx)(B.Subtitle,{children:`${s.length} namespaces · ${c.length} environments`})]})}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto p-7`,children:[(0,L.jsx)(Xt,{title:`Namespaces`,actionLabel:`+ Namespace`,onAction:()=>r({kind:`addNamespace`}),actionTestId:`add-namespace-btn`,children:s.length===0?(0,L.jsx)(en,{message:`No namespaces declared yet.`}):(0,L.jsx)(Zt,{children:s.map(e=>(0,L.jsx)($t,{testId:`namespace-row-${e.name}`,name:e.name,description:e.description,badges:e.schema?[{label:`schema: ${e.schema}`,tone:`purple`}]:[],onEdit:()=>r({kind:`editNamespace`,ns:e}),onDelete:()=>r({kind:`removeNamespace`,ns:e})},e.name))})}),(0,L.jsx)(`div`,{className:`mt-9`,children:(0,L.jsx)(Xt,{title:`Environments`,actionLabel:`+ Environment`,onAction:()=>r({kind:`addEnvironment`}),actionTestId:`add-environment-btn`,children:c.length===0?(0,L.jsx)(en,{message:`No environments declared yet.`}):(0,L.jsx)(Zt,{children:c.map(e=>(0,L.jsx)($t,{testId:`environment-row-${e.name}`,name:e.name,description:e.description,badges:e.protected?[{label:`protected`,tone:`stop`}]:[],onEdit:()=>r({kind:`editEnvironment`,env:e}),onDelete:()=>r({kind:`removeEnvironment`,env:e})},e.name))})})})]}),(0,L.jsx)(an,{open:n.kind===`addNamespace`,onClose:o,onSubmit:async e=>{let n=await x(`/api/namespaces`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return n.ok?(t(),o(),!0):(a((await n.json()).error??`Failed to add namespace`),!1)},existingNames:s.map(e=>e.name),error:i,setError:a}),n.kind===`editNamespace`&&(0,L.jsx)(on,{ns:n.ns,existingNames:s.map(e=>e.name),onClose:o,onSubmit:async e=>{let r=await x(`/api/namespaces/${encodeURIComponent(n.ns.name)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return r.ok?(t(),o(),!0):(a((await r.json()).error??`Failed to edit namespace`),!1)},error:i,setError:a}),n.kind===`removeNamespace`&&(0,L.jsx)(ln,{title:`Delete namespace`,subjectKind:`namespace`,subjectName:n.ns.name,impactDescription:`This will delete every encrypted cell file under '${n.ns.name}/' across all environments and remove '${n.ns.name}' from any service identity that references it.`,onClose:o,onConfirm:async()=>{let e=await x(`/api/namespaces/${encodeURIComponent(n.ns.name)}`,{method:`DELETE`});return e.ok?(t(),o(),!0):(a((await e.json()).error??`Failed to remove namespace`),!1)},error:i}),(0,L.jsx)(sn,{open:n.kind===`addEnvironment`,existingNames:c.map(e=>e.name),onClose:o,onSubmit:async e=>{let n=await x(`/api/environments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return n.ok?(t(),o(),!0):(a((await n.json()).error??`Failed to add environment`),!1)},error:i,setError:a}),n.kind===`editEnvironment`&&(0,L.jsx)(cn,{env:n.env,existingNames:c.map(e=>e.name),onClose:o,onSubmit:async e=>{let r=await x(`/api/environments/${encodeURIComponent(n.env.name)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return r.ok?(t(),o(),!0):(a((await r.json()).error??`Failed to edit environment`),!1)},error:i,setError:a}),n.kind===`removeEnvironment`&&(0,L.jsx)(ln,{title:`Delete environment`,subjectKind:`environment`,subjectName:n.env.name,impactDescription:n.env.protected?`'${n.env.name}' is a protected environment and will be refused. Run "Edit" first and unprotect it before removing.`:`This will delete every encrypted cell file for '${n.env.name}' across all namespaces and remove the '${n.env.name}' entry from every service identity.`,onClose:o,onConfirm:async()=>{let e=await x(`/api/environments/${encodeURIComponent(n.env.name)}`,{method:`DELETE`});return e.ok?(t(),o(),!0):(a((await e.json()).error??`Failed to remove environment`),!1)},error:i})]})}function Xt(e){return(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between mb-3.5`,children:[(0,L.jsx)(`h2`,{className:`font-sans text-[14px] font-semibold text-bone tracking-[-0.01em] m-0`,children:e.title}),(0,L.jsx)(z,{variant:`primary`,onClick:e.onAction,"data-testid":e.actionTestId,children:e.actionLabel})]}),e.children]})}function Zt(e){return(0,L.jsx)(`div`,{className:`border border-edge rounded-lg bg-ink-850 overflow-hidden`,children:e.children})}var Qt={purple:`text-purple-400 bg-purple-400/10 border-purple-400/20`,stop:`text-stop-500 bg-stop-500/10 border-stop-500/20`};function $t(e){return(0,L.jsxs)(`div`,{"data-testid":e.testId,className:`flex items-center px-4 py-3 border-b border-edge last:border-0 gap-3`,children:[(0,L.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,L.jsxs)(`div`,{className:`font-mono text-[13px] font-semibold text-bone flex items-center gap-2`,children:[e.name,e.badges.map(e=>(0,L.jsx)(`span`,{className:`font-sans text-[10px] font-medium border rounded-pill px-2 py-px ${Qt[e.tone]}`,children:e.label},e.label))]}),e.description&&(0,L.jsx)(`div`,{className:`font-sans text-[12px] text-ash mt-0.5`,children:e.description})]}),(0,L.jsx)(z,{onClick:e.onEdit,"data-testid":`${e.testId}-edit`,children:`Edit`}),(0,L.jsx)(z,{onClick:e.onDelete,"data-testid":`${e.testId}-delete`,children:`Delete`})]})}function en(e){return(0,L.jsx)(`div`,{className:`p-6 border border-dashed border-edge rounded-lg text-center font-sans text-[12px] text-ash`,children:e.message})}function tn(e){return(0,L.jsx)(H.Title,{children:(0,L.jsx)(`h3`,{className:`font-sans text-[16px] font-semibold text-bone m-0`,children:e.children})})}function nn(e){return(0,L.jsx)(`div`,{"data-testid":`manifest-modal-error`,className:`px-3 py-2 bg-stop-500/10 border border-stop-500/20 rounded-md text-stop-500 font-sans text-[12px] mb-3`,children:e.message})}function rn(e){return/^[A-Za-z0-9._-]+$/.test(e)}function an(e){let[t,n]=(0,g.useState)(``),[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(!1);g.useEffect(()=>{e.open&&(n(``),i(``),o(``),c(!1))},[e.open]);let l=t.trim(),u=e.existingNames.includes(l),d=l.length>0&&rn(l)&&!u,f=l?rn(l)?u?`A namespace named '${l}' already exists.`:null:`Use letters, numbers, '.', '_', or '-' only.`:null;return(0,L.jsxs)(H,{open:e.open,onClose:e.onClose,children:[(0,L.jsx)(tn,{children:`Add namespace`}),(0,L.jsxs)(H.Body,{children:[e.error&&(0,L.jsx)(nn,{message:e.error}),(0,L.jsxs)(`div`,{className:`flex flex-col gap-3.5`,children:[(0,L.jsx)(Ne,{label:`Name`,hint:f??void 0,children:(0,L.jsx)(Oe,{value:t,onChange:t=>{n(t.target.value),e.setError(null)},placeholder:`payments`,"data-testid":`namespace-name-input`,autoFocus:!0})}),(0,L.jsx)(Ne,{label:`Description`,children:(0,L.jsx)(Oe,{value:r,onChange:e=>i(e.target.value),placeholder:`Payment processing secrets`,"data-testid":`namespace-description-input`})}),(0,L.jsx)(Ne,{label:`Schema (optional)`,hint:`Path to a YAML schema file in the repo.`,children:(0,L.jsx)(Oe,{value:a,onChange:e=>o(e.target.value),placeholder:`schemas/payments.yaml`,"data-testid":`namespace-schema-input`})})]})]}),(0,L.jsxs)(H.Footer,{children:[(0,L.jsx)(z,{onClick:e.onClose,"data-testid":`namespace-add-cancel`,children:`Cancel`}),(0,L.jsx)(z,{variant:`primary`,disabled:!d||s,"data-testid":`namespace-add-submit`,onClick:async()=>{c(!0),await e.onSubmit({name:l,description:r.trim()||void 0,schema:a.trim()||void 0}),c(!1)},children:s?`Adding...`:`Add namespace`})]})]})}function on(e){let[t,n]=(0,g.useState)(e.ns.name),[r,i]=(0,g.useState)(e.ns.description??``),[a,o]=(0,g.useState)(e.ns.schema??``),[s,c]=(0,g.useState)(!1),l=t.trim(),u=l!==e.ns.name,d=u&&e.existingNames.includes(l),f=!u||rn(l)&&!d,p=l?f?null:d?`A namespace named '${l}' already exists.`:`Use letters, numbers, '.', '_', or '-' only.`:`Name cannot be empty.`,m=u||r!==(e.ns.description??``)||a!==(e.ns.schema??``);return(0,L.jsxs)(H,{open:!0,onClose:e.onClose,children:[(0,L.jsx)(tn,{children:`Edit namespace '${e.ns.name}'`}),(0,L.jsxs)(H.Body,{children:[e.error&&(0,L.jsx)(nn,{message:e.error}),(0,L.jsxs)(`div`,{className:`flex flex-col gap-3.5`,children:[(0,L.jsx)(Ne,{label:`Name`,hint:p??void 0,children:(0,L.jsx)(Oe,{value:t,onChange:t=>{n(t.target.value),e.setError(null)},"data-testid":`namespace-rename-input`,autoFocus:!0})}),(0,L.jsx)(Ne,{label:`Description`,children:(0,L.jsx)(Oe,{value:r,onChange:e=>i(e.target.value),"data-testid":`namespace-description-input`})}),(0,L.jsx)(Ne,{label:`Schema (optional)`,hint:`Empty to clear.`,children:(0,L.jsx)(Oe,{value:a,onChange:e=>o(e.target.value),"data-testid":`namespace-schema-input`})})]})]}),(0,L.jsxs)(H.Footer,{children:[(0,L.jsx)(z,{onClick:e.onClose,"data-testid":`namespace-edit-cancel`,children:`Cancel`}),(0,L.jsx)(z,{variant:`primary`,disabled:!m||!!p||s,"data-testid":`namespace-edit-submit`,onClick:async()=>{c(!0);let t={};u&&(t.rename=l),r!==(e.ns.description??``)&&(t.description=r),a!==(e.ns.schema??``)&&(t.schema=a),await e.onSubmit(t),c(!1)},children:s?`Saving...`:`Save changes`})]})]})}function sn(e){let[t,n]=(0,g.useState)(``),[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(!1),[s,c]=(0,g.useState)(!1);g.useEffect(()=>{e.open&&(n(``),i(``),o(!1),c(!1))},[e.open]);let l=t.trim(),u=e.existingNames.includes(l),d=l.length>0&&rn(l)&&!u,f=l?rn(l)?u?`An environment named '${l}' already exists.`:null:`Use letters, numbers, '.', '_', or '-' only.`:null;return(0,L.jsxs)(H,{open:e.open,onClose:e.onClose,children:[(0,L.jsx)(tn,{children:`Add environment`}),(0,L.jsxs)(H.Body,{children:[e.error&&(0,L.jsx)(nn,{message:e.error}),(0,L.jsxs)(`div`,{className:`flex flex-col gap-3.5`,children:[(0,L.jsx)(Ne,{label:`Name`,hint:f??void 0,children:(0,L.jsx)(Oe,{value:t,onChange:t=>{n(t.target.value),e.setError(null)},placeholder:`staging`,"data-testid":`environment-name-input`,autoFocus:!0})}),(0,L.jsx)(Ne,{label:`Description`,children:(0,L.jsx)(Oe,{value:r,onChange:e=>i(e.target.value),placeholder:`Pre-production`,"data-testid":`environment-description-input`})}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 font-sans text-[12px] text-bone cursor-pointer`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:a,onChange:e=>o(e.target.checked),"data-testid":`environment-protected-checkbox`}),`Mark as protected`]})]})]}),(0,L.jsxs)(H.Footer,{children:[(0,L.jsx)(z,{onClick:e.onClose,"data-testid":`environment-add-cancel`,children:`Cancel`}),(0,L.jsx)(z,{variant:`primary`,disabled:!d||s,"data-testid":`environment-add-submit`,onClick:async()=>{c(!0),await e.onSubmit({name:l,description:r.trim()||void 0,protected:a||void 0}),c(!1)},children:s?`Adding...`:`Add environment`})]})]})}function cn(e){let[t,n]=(0,g.useState)(e.env.name),[r,i]=(0,g.useState)(e.env.description??``),[a,o]=(0,g.useState)(e.env.protected===!0),[s,c]=(0,g.useState)(!1),l=t.trim(),u=l!==e.env.name,d=u&&e.existingNames.includes(l),f=!u||rn(l)&&!d,p=l?f?null:d?`An environment named '${l}' already exists.`:`Use letters, numbers, '.', '_', or '-' only.`:`Name cannot be empty.`,m=a!==(e.env.protected===!0),h=u||r!==(e.env.description??``)||m;return(0,L.jsxs)(H,{open:!0,onClose:e.onClose,children:[(0,L.jsx)(tn,{children:`Edit environment '${e.env.name}'`}),(0,L.jsxs)(H.Body,{children:[e.error&&(0,L.jsx)(nn,{message:e.error}),(0,L.jsxs)(`div`,{className:`flex flex-col gap-3.5`,children:[(0,L.jsx)(Ne,{label:`Name`,hint:p??void 0,children:(0,L.jsx)(Oe,{value:t,onChange:t=>{n(t.target.value),e.setError(null)},"data-testid":`environment-rename-input`,autoFocus:!0})}),(0,L.jsx)(Ne,{label:`Description`,children:(0,L.jsx)(Oe,{value:r,onChange:e=>i(e.target.value),"data-testid":`environment-description-input`})}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 font-sans text-[12px] text-bone cursor-pointer`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:a,onChange:e=>o(e.target.checked),"data-testid":`environment-protected-checkbox`}),`Protected (write operations require confirmation)`]})]})]}),(0,L.jsxs)(H.Footer,{children:[(0,L.jsx)(z,{onClick:e.onClose,"data-testid":`environment-edit-cancel`,children:`Cancel`}),(0,L.jsx)(z,{variant:`primary`,disabled:!h||!!p||s,"data-testid":`environment-edit-submit`,onClick:async()=>{c(!0);let t={};u&&(t.rename=l),r!==(e.env.description??``)&&(t.description=r),m&&(t.protected=a),await e.onSubmit(t),c(!1)},children:s?`Saving...`:`Save changes`})]})]})}function ln(e){let[t,n]=(0,g.useState)(``),[r,i]=(0,g.useState)(!1),a=t===e.subjectName;return(0,L.jsxs)(H,{open:!0,onClose:e.onClose,children:[(0,L.jsx)(tn,{children:e.title}),(0,L.jsxs)(H.Body,{children:[e.error&&(0,L.jsx)(nn,{message:e.error}),(0,L.jsx)(`p`,{className:`font-sans text-[12px] text-bone m-0 mb-3 leading-relaxed`,children:e.impactDescription}),(0,L.jsx)(Ne,{label:`Type the ${e.subjectKind} name to confirm`,children:(0,L.jsx)(Oe,{value:t,onChange:e=>n(e.target.value),placeholder:e.subjectName,"data-testid":`${e.subjectKind}-remove-confirm-input`,autoFocus:!0})})]}),(0,L.jsxs)(H.Footer,{children:[(0,L.jsx)(z,{onClick:e.onClose,"data-testid":`${e.subjectKind}-remove-cancel`,children:`Cancel`}),(0,L.jsx)(z,{variant:`primary`,disabled:!a||r,"data-testid":`${e.subjectKind}-remove-submit`,onClick:async()=>{i(!0),await e.onConfirm(),i(!1)},children:r?`Deleting...`:`Delete ${e.subjectKind}`})]})]})}var un=`w-full box-border rounded-md bg-ink-950 px-3 py-2 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500 placeholder:text-ash-dim`,dn=`w-full box-border rounded-md border border-edge bg-ink-950 px-3 py-2 font-sans text-[13px] text-bone outline-none focus-visible:border-gold-500 placeholder:text-ash-dim`;function fn({manifest:e,setView:t}){let[n,r]=(0,g.useState)([]),[i,a]=(0,g.useState)(0),[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(!1),[_,v]=(0,g.useState)(null),[y,b]=(0,g.useState)(null),[S,C]=(0,g.useState)(0),[w,T]=(0,g.useState)(!1),[E,D]=(0,g.useState)(null),O=(0,g.useRef)(null),k=(0,g.useCallback)(async()=>{try{let e=await x(`/api/recipients`);if(e.ok){let t=await e.json();r(t.recipients),a(t.totalFiles)}}catch{}},[]);(0,g.useEffect)(()=>{k()},[k]),(0,g.useEffect)(()=>{if(!c.trim()){p(null);return}return O.current&&clearTimeout(O.current),O.current=setTimeout(async()=>{try{let e=await x(`/api/recipients/validate?key=${encodeURIComponent(c.trim())}`);e.ok&&p(await e.json())}catch{}},300),()=>{O.current&&clearTimeout(O.current)}},[c]);let A=async()=>{if(f?.valid){h(!0),v(null);try{let e=await x(`/api/recipients/add`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({key:c.trim(),label:u.trim()||void 0})});if(!e.ok){v((await e.json()).error??`Failed to add recipient`);return}r((await e.json()).recipients),s(!1),l(``),d(``),p(null)}catch(e){v(e instanceof Error?e.message:`Failed to add recipient`)}finally{h(!1)}}},ee=e=>{b(e),C(1),T(!1)},j=()=>{b(null),C(0),T(!1)},M=async()=>{if(y){h(!0),v(null);try{let e=await x(`/api/recipients/remove`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({key:y.key})});if(!e.ok){v((await e.json()).error??`Failed to remove recipient`);return}let t=await e.json();r(t.recipients),D({name:y.label??y.preview,targets:t.rotationReminder??[]}),j()}catch(e){v(e instanceof Error?e.message:`Failed to remove recipient`)}finally{h(!1)}}},N=f?f.valid?`border border-go-500/40`:`border border-stop-500/40`:`border border-edge`;return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Recipients`}),(0,L.jsx)(B.Subtitle,{children:`clef recipients -- manage age encryption keys`})]}),!o&&S===0&&(0,L.jsx)(B.Actions,{children:(0,L.jsx)(z,{variant:`primary`,onClick:()=>s(!0),children:`+ Add recipient`})})]}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[620px]`,children:[_&&(0,L.jsx)(`div`,{className:`mb-4 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-3 font-sans text-[13px] text-stop-500`,children:_}),E&&(0,L.jsxs)(`div`,{"data-testid":`rotation-banner`,className:`mb-5 rounded-lg border border-warn-500/30 bg-warn-500/10 px-4 py-3.5`,children:[(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[13px] font-semibold text-warn-500`,children:`Rotation reminder`}),(0,L.jsxs)(`div`,{className:`mb-2.5 font-sans text-[13px] leading-relaxed text-bone`,children:[(0,L.jsx)(`strong`,{children:E.name}),` has been removed and files re-encrypted. However, the removed key may still decrypt old versions of these files from git history. Rotate secret values in the following targets to complete revocation:`]}),E.targets.length>0&&(0,L.jsx)(`div`,{className:`mb-3 pl-3 font-mono text-[11px] text-ash`,children:E.targets.map(e=>(0,L.jsx)(`div`,{className:`mb-px`,children:e},e))}),(0,L.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`primary`,onClick:()=>t(`matrix`),children:`Go to Matrix to rotate`}),(0,L.jsx)(z,{variant:`ghost`,onClick:()=>D(null),children:`Dismiss`})]})]}),o&&(0,L.jsxs)(`div`,{"data-testid":`add-form`,className:`mb-6 rounded-lg border border-edge bg-ink-850 p-5`,children:[(0,L.jsx)(`div`,{className:`mb-4 font-sans text-[14px] font-semibold text-bone`,children:`Add recipient`}),(0,L.jsxs)(`div`,{className:`mb-3.5`,children:[(0,L.jsx)(pn,{children:`Age public key`}),(0,L.jsx)(`input`,{type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:`age1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq`,"data-testid":`add-key-input`,className:`${un} ${N}`}),f&&!f.valid&&(0,L.jsx)(`div`,{className:`mt-1 font-sans text-[11px] text-stop-500`,children:f.error}),f?.valid&&(0,L.jsx)(`div`,{className:`mt-1 font-sans text-[11px] text-go-500`,children:`Valid age public key`})]}),(0,L.jsxs)(`div`,{className:`mb-3.5`,children:[(0,L.jsx)(pn,{children:`Label (optional)`}),(0,L.jsx)(`input`,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`e.g. alice@example.com`,"data-testid":`add-label-input`,className:dn})]}),(0,L.jsxs)(`div`,{className:`mb-4 rounded-md border border-warn-500/30 bg-warn-500/10 px-3.5 py-2.5 font-sans text-[12px] leading-relaxed text-warn-500`,children:[`Adding a recipient will re-encrypt `,i,` file`,i===1?``:`s`,`. This may take a moment.`]}),(0,L.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`ghost`,onClick:()=>{s(!1),l(``),d(``),p(null),v(null)},children:`Cancel`}),(0,L.jsx)(z,{variant:`primary`,onClick:A,disabled:m||!f?.valid,children:m?`Re-encrypting...`:`Add and re-encrypt`})]})]}),S===1&&y&&(0,L.jsxs)(`div`,{"data-testid":`remove-dialog`,className:`mb-6 rounded-lg border border-stop-500/30 bg-ink-850 p-5`,children:[(0,L.jsx)(`div`,{className:`mb-3 font-sans text-[14px] font-semibold text-stop-500`,children:`Remove recipient`}),(0,L.jsxs)(`div`,{className:`mb-4 font-sans text-[13px] leading-relaxed text-bone`,children:[`You are about to remove`,` `,(0,L.jsx)(`strong`,{className:`text-gold-500`,children:y.label??y.preview}),` `,`(`,y.preview,`). All `,i,` encrypted file`,i===1?``:`s`,` will be re-encrypted without this key.`]}),(0,L.jsxs)(`div`,{className:`mb-4 rounded-md border border-stop-500/30 bg-stop-500/10 px-3.5 py-3 font-sans text-[12px] leading-relaxed text-stop-500`,children:[`Re-encryption only removes `,(0,L.jsx)(`em`,{children:`future`}),` access. The removed key can still decrypt old versions from git history. You must rotate all secret values after removal.`]}),(0,L.jsxs)(`label`,{className:`mb-4 flex cursor-pointer items-start gap-2.5 font-sans text-[13px] text-bone`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:w,onChange:e=>T(e.target.checked),"data-testid":`acknowledge-checkbox`,className:`mt-0.5 accent-stop-500`}),`I understand — I will rotate secrets after removal`]}),(0,L.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`ghost`,onClick:j,children:`Cancel`}),(0,L.jsx)(z,{variant:`danger`,onClick:()=>C(2),disabled:!w,children:`Continue`})]})]}),S===2&&y&&(0,L.jsxs)(`div`,{"data-testid":`remove-confirm-dialog`,className:`mb-6 rounded-lg border border-stop-500/30 bg-ink-850 p-5`,children:[(0,L.jsx)(`div`,{className:`mb-3 font-sans text-[14px] font-semibold text-stop-500`,children:`Confirm removal`}),(0,L.jsxs)(`div`,{className:`mb-4 font-sans text-[13px] leading-relaxed text-bone`,children:[`This will remove`,` `,(0,L.jsx)(`strong`,{className:`text-gold-500`,children:y.label??y.preview}),` `,`and re-encrypt all `,i,` file`,i===1?``:`s`,`. This cannot be undone.`]}),(0,L.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`ghost`,onClick:j,children:`Cancel`}),(0,L.jsx)(z,{variant:`danger`,onClick:M,disabled:m,children:m?`Re-encrypting...`:`Remove and re-encrypt`})]})]}),n.length===0&&!o&&(0,L.jsx)(Fe,{title:`No recipients configured`,body:`Add an age public key to get started.`}),n.length>0&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`mb-2.5 font-sans text-[12px] font-semibold uppercase tracking-[0.05em] text-ash`,children:[`Recipients (`,n.length,`)`]}),n.map(e=>(0,L.jsxs)(`div`,{"data-testid":`recipient-row`,className:`mb-2 flex items-center gap-3.5 rounded-lg border border-edge bg-ink-850 px-4 py-3`,children:[(0,L.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-gold-500/30 bg-gold-500/10 text-[14px]`,children:`🔑`}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e.label&&(0,L.jsx)(`div`,{className:`mb-0.5 font-sans text-[13px] font-semibold text-bone`,children:e.label}),(0,L.jsx)(`div`,{className:`overflow-hidden text-ellipsis whitespace-nowrap font-mono text-[11px] text-ash`,children:e.preview})]}),(0,L.jsx)(z,{variant:`ghost`,onClick:()=>ee(e),disabled:S!==0||m,children:`Remove`})]},e.key)),(0,L.jsxs)(`div`,{className:`mt-3 font-mono text-[11px] text-ash-dim`,children:[i,` encrypted file`,i===1?``:`s`,` in the matrix`]})]})]})})]})}function pn({children:e}){return(0,L.jsx)(`div`,{className:`mb-1.5 font-sans text-[12px] font-semibold uppercase tracking-[0.05em] text-ash`,children:e})}var mn=`w-full box-border rounded-md border border-edge bg-ink-850 px-3 py-2 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500 placeholder:text-ash-dim`,hn=`rounded-md border border-edge bg-ink-850 px-2 py-1.5 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500`,gn=`cursor-pointer rounded-md border border-edge-strong bg-transparent px-3 py-1 font-sans text-[12px] text-ash hover:bg-ink-800`;function _n({manifest:e}){let[t,n]=(0,g.useState)(`list`),[r,i]=(0,g.useState)([]),[a,o]=(0,g.useState)(null),[s,c]=(0,g.useState)(``),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(new Set),[h,_]=(0,g.useState)({}),[v,y]=(0,g.useState)(`ci`),[b,S]=(0,g.useState)(!0),[C,w]=(0,g.useState)(!1),[T,E]=(0,g.useState)(!1),[D,O]=(0,g.useState)(``),[k,A]=(0,g.useState)({}),[ee,j]=(0,g.useState)(``),[M,N]=(0,g.useState)(!1),[P,F]=(0,g.useState)({}),[te,ne]=(0,g.useState)(!1),[I,re]=(0,g.useState)(``),[ie,ae]=(0,g.useState)(void 0),[oe,R]=(0,g.useState)({}),[se,ce]=(0,g.useState)(!1),[le,ue]=(0,g.useState)(``),fe=(0,g.useCallback)(async()=>{try{let e=await x(`/api/service-identities`);e.ok&&i((await e.json()).identities)}catch{}},[]);(0,g.useEffect)(()=>{fe()},[fe]);let pe=r.find(e=>e.name===a),me=(0,g.useCallback)(()=>{u(``),f(``),m(new Set);let t={};for(let n of e?.environments??[])t[n.name]={type:`age`,provider:`aws`,keyId:``};_(t),y(`ci`),S(!0),w(!1),O(``),n(`create`)},[e]),he=(0,g.useCallback)(e=>{let t={};for(let[n,r]of Object.entries(e.environments)){let e=r.type===`kms`?`kms`:`age`;t[n]={type:e,provider:r.kms?.provider??`aws`,keyId:r.kms?.keyId??``,originalType:e,originalKeyId:r.kms?.keyId??``}}F(t),re(``),n(`update`)},[]),ge=(0,g.useCallback)(()=>{o(null),c(``),n(`list`)},[]),_e=(0,g.useCallback)(()=>{c(``),ue(``),n(`detail`)},[]);async function ve(){E(!0),O(``);try{let e={};for(let[t,n]of Object.entries(h))n.type===`kms`&&(e[t]={provider:n.provider,keyId:n.keyId});let t={name:l.trim(),description:d.trim(),namespaces:Array.from(p)};v===`runtime`&&(t.packOnly=!0),b?t.sharedRecipient=!0:Object.keys(e).length>0&&(t.kmsEnvConfigs=e);let r=await x(`/api/service-identities`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),i=await r.json();if(!r.ok){O(i.error??`Failed to create service identity.`);return}j(i.identity.name),A(i.privateKeys??{}),N(i.sharedRecipient===!0),n(`keys`)}catch{O(`Network error. Check that the UI server is running.`)}finally{E(!1)}}async function ye(){if(a){ne(!0),re(``);try{let e={};for(let[t,n]of Object.entries(P))n.type===`kms`&&(n.originalType!==`kms`||n.keyId!==n.originalKeyId)&&(e[t]={provider:n.provider,keyId:n.keyId});if(Object.keys(e).length===0){re(`No changes to apply.`);return}let t=await x(`/api/service-identities/${encodeURIComponent(a)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kmsEnvConfigs:e})}),n=await t.json();if(!t.ok){re(n.error??`Failed to update service identity.`);return}await fe(),_e()}catch{re(`Network error. Check that the UI server is running.`)}finally{ne(!1)}}}async function be(e){if(a){ae(e),c(``);try{let t=await x(`/api/service-identities/${encodeURIComponent(a)}/rotate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({environment:e})}),r=await t.json();if(!t.ok){c(r.error??`Failed to rotate key.`);return}R(r.privateKeys??{}),await fe(),n(`rotate-keys`)}catch{c(`Network error. Check that the UI server is running.`)}finally{ae(void 0)}}}async function xe(){if(a){ce(!0),ue(``);try{let e=await x(`/api/service-identities/${encodeURIComponent(a)}`,{method:`DELETE`});if(!e.ok){ue((await e.json()).error??`Failed to delete service identity.`);return}await fe(),ge()}catch{ue(`Network error. Check that the UI server is running.`)}finally{ce(!1)}}}if(t===`list`)return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Service Identities`}),(0,L.jsx)(B.Subtitle,{children:`Per-service cryptographic access scoping`})]}),e&&(0,L.jsx)(B.Actions,{children:(0,L.jsx)(z,{variant:`primary`,onClick:me,children:`+ New identity`})})]}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[620px]`,children:[s&&(0,L.jsx)(bn,{children:s}),r.length===0&&(0,L.jsxs)(`div`,{className:`px-6 py-12 text-center font-sans text-[13px] text-ash`,children:[(0,L.jsx)(`div`,{className:`mb-3 text-[28px] opacity-40`,children:`🔑`}),`No service identities configured.`,e&&(0,L.jsx)(`div`,{className:`mt-4 flex justify-center`,children:(0,L.jsx)(z,{variant:`primary`,onClick:me,children:`Create the first one`})})]}),r.map(e=>(0,L.jsxs)(`div`,{role:`button`,tabIndex:0,"data-testid":`si-${e.name}`,onClick:()=>{o(e.name),c(``),n(`detail`)},onKeyDown:t=>{t.key===`Enter`&&(o(e.name),n(`detail`))},className:`mb-2 cursor-pointer rounded-lg border border-edge bg-ink-850 px-5 py-4 transition-colors hover:border-edge-strong`,children:[(0,L.jsxs)(`div`,{className:`mb-2 flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`font-sans text-[14px] font-semibold text-bone`,children:e.name}),e.packOnly&&(0,L.jsx)(`span`,{"data-testid":`si-runtime-badge-${e.name}`,className:`rounded-sm border border-warn-500/20 bg-warn-500/10 px-1.5 py-px font-mono text-[9px] text-warn-500`,children:`runtime`})]}),(0,L.jsxs)(`div`,{className:`mb-2.5 font-sans text-[12px] text-ash`,children:[`Scoped to: `,(0,L.jsx)(`span`,{className:`text-bone`,children:e.namespaces.join(`, `)})]}),(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:Object.entries(e.environments).map(([e,t])=>(0,L.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,L.jsx)(de,{env:e,small:!0}),(0,L.jsx)(`span`,{className:`font-mono text-[9px] ${t.type===`kms`?`text-purple-400`:`text-ash-dim`}`,children:t.type===`kms`?`KMS`:`age`})]},e))})]},e.name))]})})]});if(t===`detail`)return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:pe?.name??a??``}),pe?.description&&(0,L.jsx)(B.Subtitle,{children:pe.description})]}),(0,L.jsxs)(B.Actions,{children:[pe&&(0,L.jsx)(z,{"data-testid":`update-backends-btn`,variant:`ghost`,onClick:()=>he(pe),children:`Update backends`}),(0,L.jsxs)(`button`,{"data-testid":`back-button`,onClick:ge,className:gn,children:[`←`,` Back`]})]})]}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[620px]`,children:[s&&(0,L.jsx)(bn,{children:s}),pe&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(vn,{children:`Scoped namespaces`}),(0,L.jsx)(`div`,{className:`flex gap-1.5`,children:pe.namespaces.map(e=>(0,L.jsx)(`span`,{className:`rounded border border-gold-500/20 bg-gold-500/[0.08] px-2 py-0.5 font-mono text-[11px] text-gold-500`,children:e},e))})]}),pe.packOnly&&(0,L.jsx)(`div`,{"data-testid":`runtime-info-banner`,className:`mb-5 rounded-lg border border-warn-500/20 bg-warn-500/10 px-4 py-2.5 font-sans text-[12px] leading-relaxed text-warn-500`,children:`Runtime identity — keys are not registered on encrypted files. This identity can only decrypt packed artifacts.`}),(0,L.jsx)(vn,{children:`Environment keys`}),e?.environments.map(e=>{let t=pe.environments[e.name];if(!t)return null;let n=t.protected??!1,r=ie===e.name;return(0,L.jsxs)(`div`,{"data-testid":`env-${e.name}`,className:`mb-2.5 rounded-lg border border-edge bg-ink-850 px-5 py-4`,children:[(0,L.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(de,{env:e.name}),n&&(0,L.jsx)(`span`,{className:`text-[12px] text-stop-500`,children:`🔒`}),t.type===`kms`&&(0,L.jsx)(`span`,{className:`rounded-sm border border-purple-400/20 bg-purple-400/10 px-1.5 py-px font-mono text-[10px] text-purple-400`,children:`KMS`})]}),t.type===`age`&&(0,L.jsx)(`button`,{"data-testid":`rotate-${e.name}`,disabled:r,onClick:()=>be(e.name),className:`rounded border border-edge-strong px-2.5 py-0.5 font-sans text-[11px] ${r?`cursor-default text-ash-dim opacity-50`:`cursor-pointer text-ash hover:bg-ink-800`}`,children:r?`Rotating…`:`Rotate key`})]}),t.type===`kms`&&t.kms&&(0,L.jsxs)(`div`,{className:`font-mono text-[11px] text-ash`,children:[(0,L.jsxs)(`div`,{className:`mb-2`,children:[`Authentication: `,(0,L.jsx)(`span`,{className:`text-purple-400`,children:`IAM + KMS`})]}),(0,L.jsxs)(`div`,{children:[`Provider: `,(0,L.jsx)(`span`,{className:`text-bone`,children:t.kms.provider})]}),(0,L.jsxs)(`div`,{className:`mt-1`,children:[`Key ID: `,(0,L.jsx)(`span`,{className:`break-all text-bone`,children:t.kms.keyId})]}),(0,L.jsx)(`div`,{className:`mt-2.5 rounded border border-purple-400/20 bg-purple-400/10 px-3 py-2 font-sans text-[11px] text-purple-400`,children:`No keys to provision. CI and runtime authenticate via IAM role with kms:Decrypt permission.`})]}),t.type===`age`&&(0,L.jsxs)(`div`,{className:`font-mono text-[11px] text-ash`,children:[(0,L.jsxs)(`div`,{className:`mb-2`,children:[`Authentication: `,(0,L.jsx)(`span`,{className:`text-go-500`,children:`age key`})]}),(0,L.jsxs)(`div`,{children:[`Public key:`,` `,(0,L.jsx)(`span`,{className:`text-bone`,children:t.publicKey?`${t.publicKey.slice(0,12)}...${t.publicKey.slice(-6)}`:`unknown`})]})]})]},e.name)}),(0,L.jsx)(`div`,{className:`mt-8 flex justify-end border-t border-edge pt-5`,children:(0,L.jsx)(z,{"data-testid":`delete-identity-btn`,variant:`danger`,onClick:()=>{ue(``),n(`delete-confirm`)},children:`Delete identity`})})]})]})})]});if(t===`delete-confirm`)return(0,L.jsxs)(`div`,{"data-testid":`delete-confirm-view`,className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Delete service identity`}),(0,L.jsx)(B.Subtitle,{children:`This action cannot be undone`})]})}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[560px]`,children:[le&&(0,L.jsx)(bn,{children:le}),(0,L.jsxs)(`div`,{className:`mb-6 rounded-lg border border-stop-500/40 bg-stop-500/[0.06] px-5 py-4 font-sans text-[13px] text-stop-500`,children:[(0,L.jsxs)(`div`,{className:`mb-2 font-semibold`,children:[`Delete `,(0,L.jsx)(`span`,{className:`font-mono`,children:a}),`?`]}),(0,L.jsxs)(`div`,{className:`text-[12px] leading-relaxed text-ash`,children:[`This will remove the identity from `,(0,L.jsx)(`span`,{className:`font-mono`,children:`clef.yaml`}),` and de-register its recipients from all scoped encrypted files. Any runtimes currently using this identity's private key will lose access on the next artifact refresh.`]})]}),(0,L.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,L.jsx)(z,{"data-testid":`cancel-delete-btn`,variant:`ghost`,onClick:_e,disabled:se,children:`Cancel`}),(0,L.jsx)(z,{"data-testid":`confirm-delete-btn`,variant:`danger`,onClick:xe,disabled:se,children:se?`Deleting…`:`Delete identity`})]})]})})]});if(t===`rotate-keys`)return(0,L.jsxs)(`div`,{"data-testid":`rotate-keys-view`,className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Key rotated`}),(0,L.jsx)(B.Subtitle,{children:`New keys for ${a}`})]})}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[620px]`,children:[(0,L.jsxs)(`div`,{className:`mb-5 flex items-start gap-2.5 rounded-lg border border-warn-500/40 bg-warn-500/[0.06] px-4 py-3.5 font-sans text-[13px] text-warn-500`,children:[(0,L.jsx)(`span`,{className:`shrink-0 text-[16px]`,children:`⚠`}),(0,L.jsx)(`span`,{children:`Copy the new private key now — it will not be shown again. Provision it to the runtime and invalidate the old key.`})]}),(0,L.jsx)(vn,{children:`New private keys`}),Object.entries(oe).map(([e,t])=>(0,L.jsxs)(`div`,{className:`mb-2.5 rounded-lg border border-edge bg-ink-850 px-4 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`mb-2.5 flex items-center justify-between`,children:[(0,L.jsx)(de,{env:e}),(0,L.jsx)(Tt,{text:t})]}),(0,L.jsx)(`div`,{className:`break-all rounded bg-ink-950 px-2.5 py-2 font-mono text-[11px] text-ash`,children:t})]},e)),(0,L.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,L.jsx)(z,{"data-testid":`rotate-done-btn`,variant:`primary`,onClick:_e,children:`Done`})})]})})]});if(t===`update`){let t=e?.environments??[],n=Object.values(P).filter(e=>e.type===`kms`?e.originalType!==`kms`||e.keyId!==e.originalKeyId:!1).length>0&&Object.entries(P).every(([,e])=>e.type===`kms`?e.keyId.trim()!==``:!0);return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Update backends`}),(0,L.jsx)(B.Subtitle,{children:`Environment backends for ${a}`})]}),(0,L.jsx)(B.Actions,{children:(0,L.jsxs)(`button`,{onClick:_e,className:gn,children:[`←`,` Cancel`]})})]}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[560px]`,children:[I&&(0,L.jsx)(bn,{children:I}),(0,L.jsx)(`div`,{className:`mb-4 font-sans text-[12px] leading-relaxed text-ash`,children:`Switch age environments to KMS, or update an existing KMS key ID. To revert KMS to age, delete and recreate the identity.`}),(0,L.jsx)(`div`,{className:`mb-7 flex flex-col gap-2`,children:t.map(e=>{let t=P[e.name];return t?(0,L.jsxs)(`div`,{className:`rounded-lg border border-edge bg-ink-850 px-4 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between ${t.type===`kms`?`mb-3`:``}`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(de,{env:e.name}),e.protected&&(0,L.jsx)(`span`,{className:`text-[11px] text-stop-500`,children:`🔒`})]}),(0,L.jsx)(`div`,{className:`flex gap-1`,children:[`age`,`kms`].map(n=>{let r=t.originalType===`kms`&&n===`age`,i=t.type===n?n===`kms`?`bg-purple-400 border-purple-400 text-ghost`:`bg-gold-500 border-gold-500 text-ink-950`:`bg-transparent border-edge text-ash`;return(0,L.jsx)(`button`,{"data-testid":n===`kms`?`update-kms-toggle-${e.name}`:void 0,disabled:r,onClick:()=>{r||F(r=>({...r,[e.name]:{...t,type:n}}))},title:r?`KMS → age requires delete and recreate`:void 0,className:`rounded border px-2.5 py-0.5 font-mono text-[11px] transition-colors ${i} ${r?`cursor-not-allowed opacity-40`:`cursor-pointer`}`,children:n.toUpperCase()},n)})})]}),t.type===`kms`&&(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsxs)(`select`,{value:t.provider,onChange:n=>F(r=>({...r,[e.name]:{...t,provider:n.target.value}})),className:`${hn} w-[90px] shrink-0`,children:[(0,L.jsx)(`option`,{value:`aws`,children:`AWS`}),(0,L.jsx)(`option`,{value:`gcp`,children:`GCP`}),(0,L.jsx)(`option`,{value:`azure`,children:`Azure`})]}),(0,L.jsx)(`input`,{"data-testid":`update-keyid-${e.name}`,value:t.keyId,onChange:n=>F(r=>({...r,[e.name]:{...t,keyId:n.target.value}})),placeholder:`arn:aws:kms:… or key resource ID`,className:`${hn} flex-1`})]})]},e.name):null})}),(0,L.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,L.jsx)(z,{"data-testid":`update-cancel-btn`,variant:`ghost`,onClick:_e,disabled:te,children:`Cancel`}),(0,L.jsx)(z,{"data-testid":`update-submit-btn`,variant:`primary`,onClick:ye,disabled:!n||te,children:te?`Saving…`:`Save changes`})]})]})})]})}if(t===`keys`){let e=Object.keys(k).length>0,t=M?Object.values(k)[0]:void 0,n=M?Object.keys(k):[];return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`${ee} created`}),(0,L.jsx)(B.Subtitle,{children:`Service identity ready`})]})}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[620px]`,children:[e&&(0,L.jsxs)(`div`,{className:`mb-5 flex items-start gap-2.5 rounded-lg border border-warn-500/40 bg-warn-500/[0.06] px-4 py-3.5 font-sans text-[13px] text-warn-500`,children:[(0,L.jsx)(`span`,{className:`shrink-0 text-[16px]`,children:`⚠`}),(0,L.jsx)(`span`,{children:M?`Copy this key now — it will not be shown again. Set it as CLEF_AGE_KEY in your CI. It decrypts: ${n.join(`, `)}.`:`Copy these private keys now — they will not be shown again. Store each key securely and provision it to the relevant runtime.`})]}),!e&&(0,L.jsx)(`div`,{className:`mb-5 rounded-lg border border-purple-400/30 bg-purple-400/10 px-4 py-3.5 font-sans text-[13px] text-purple-400`,children:`All environments use KMS. No private keys to provision — runtimes authenticate via IAM role.`}),(0,L.jsx)(vn,{children:`Private keys`}),M&&t?(0,L.jsxs)(`div`,{className:`mb-2.5 rounded-lg border border-gold-500/30 bg-ink-850 px-4 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`mb-2.5 flex items-center justify-between`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] font-semibold text-gold-500`,children:`CLEF_AGE_KEY`}),(0,L.jsx)(`span`,{className:`font-sans text-[11px] text-ash-dim`,children:`—`}),n.map(e=>(0,L.jsx)(de,{env:e,small:!0},e))]}),(0,L.jsx)(Tt,{text:t})]}),(0,L.jsx)(`div`,{className:`break-all rounded bg-ink-950 px-2.5 py-2 font-mono text-[11px] text-ash`,children:t})]}):Object.entries(k).map(([e,t])=>(0,L.jsxs)(`div`,{className:`mb-2.5 rounded-lg border border-edge bg-ink-850 px-4 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`mb-2.5 flex items-center justify-between`,children:[(0,L.jsx)(de,{env:e}),(0,L.jsx)(Tt,{text:t})]}),(0,L.jsx)(`div`,{className:`break-all rounded bg-ink-950 px-2.5 py-2 font-mono text-[11px] text-ash`,children:t})]},e)),(0,L.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,L.jsx)(z,{variant:`primary`,onClick:()=>{fe(),ge()},children:`Done`})})]})})]})}let Se=e?.namespaces??[],Ce=e?.environments??[],we=l.trim()&&r.some(e=>e.name===l.trim())?`A service identity with this name already exists.`:``,Te=l.trim()!==``&&!we&&p.size>0&&Ce.every(e=>{let t=h[e.name];return t?.type===`age`||t?.type===`kms`&&t.provider&&t.keyId.trim()});return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`New service identity`}),(0,L.jsx)(B.Subtitle,{children:`Scope cryptographic access to specific namespaces`})]}),(0,L.jsx)(B.Actions,{children:(0,L.jsxs)(`button`,{onClick:ge,className:gn,children:[`←`,` Cancel`]})})]}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[560px]`,children:[D&&(0,L.jsx)(bn,{children:D}),(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(yn,{children:`Name`}),(0,L.jsx)(`input`,{"data-testid":`si-name-input`,value:l,onChange:e=>u(e.target.value),placeholder:`e.g. api-gateway`,className:mn}),we&&(0,L.jsx)(`div`,{className:`mt-1.5 font-sans text-[12px] text-stop-500`,children:we})]}),(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsx)(yn,{children:`Description (optional)`}),(0,L.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:`e.g. API gateway service account`,className:mn})]}),(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsx)(yn,{children:`Role`}),(0,L.jsx)(`div`,{className:`mb-2 flex w-fit overflow-hidden rounded-md border border-edge`,children:[`ci`,`runtime`].map(e=>(0,L.jsx)(`button`,{"data-testid":`role-${e}`,onClick:()=>{y(e),S(e===`ci`),w(!1)},className:`cursor-pointer border-none px-4 py-1.5 font-sans text-[12px] transition-colors ${v===e?`bg-gold-500 font-semibold text-ink-950`:`bg-transparent font-normal text-ash`}`,children:e===`ci`?`CI`:`Runtime`},e))}),(0,L.jsx)(`div`,{className:`font-sans text-[12px] leading-relaxed text-ash`,children:v===`ci`?`Decrypts files directly. Keys are registered on encrypted SOPS files. Use for CI pipelines and local tools.`:`Decrypts packed artifacts only. Keys are NOT added to encrypted files — smaller blast radius for deployment targets (Lambda, ECS, containers).`})]}),(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsx)(yn,{children:`Namespaces`}),(0,L.jsx)(`div`,{className:`mb-2.5 font-sans text-[12px] text-ash`,children:`This identity can decrypt secrets only from the selected namespaces.`}),Se.length===0&&(0,L.jsx)(`div`,{className:`font-sans text-[12px] text-ash-dim`,children:`No namespaces defined in manifest.`}),(0,L.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:Se.map(e=>{let t=p.has(e.name);return(0,L.jsxs)(`label`,{"data-testid":`ns-checkbox-${e.name}`,className:`flex cursor-pointer items-center gap-2.5 rounded-md border px-3.5 py-2.5 transition-colors ${t?`border-gold-500/40 bg-gold-500/[0.08]`:`border-edge bg-ink-850`}`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:t,onChange:t=>{let n=new Set(p);t.target.checked?n.add(e.name):n.delete(e.name),m(n)},className:`accent-gold-500`}),(0,L.jsx)(`span`,{className:`font-mono text-[12px] ${t?`text-gold-500`:`text-bone`}`,children:e.name}),e.description&&(0,L.jsxs)(`span`,{className:`font-sans text-[11px] text-ash`,children:[`— `,e.description]})]},e.name)})})]}),(0,L.jsxs)(`div`,{className:`mb-7`,children:[(0,L.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,L.jsx)(yn,{children:`Environment backends`}),(0,L.jsxs)(`label`,{"data-testid":`shared-recipient-toggle`,className:`flex cursor-pointer select-none items-center gap-1.5 font-sans text-[11px] ${b?`text-gold-500`:`text-ash`}`,children:[(0,L.jsxs)(`div`,{className:`relative h-4 w-7 shrink-0 rounded-full transition-colors ${b?`bg-gold-500`:`bg-edge`}`,children:[(0,L.jsx)(`div`,{className:`absolute top-0.5 h-3 w-3 rounded-full bg-white transition-all ${b?`left-3.5`:`left-0.5`}`}),(0,L.jsx)(`input`,{type:`checkbox`,checked:b,onChange:e=>{S(e.target.checked);let t=v===`ci`;w(e.target.checked!==t)},className:`absolute h-0 w-0 opacity-0`})]}),`Shared age key`]})]}),(0,L.jsx)(`div`,{className:`mb-2.5 font-sans text-[12px] text-ash`,children:b?`One age key pair for all environments — one CI secret, easier to provision.`:`Age generates a key pair per environment. KMS uses your cloud provider — no key material is provisioned.`}),C&&(0,L.jsx)(`div`,{"data-testid":`shared-recipient-warning`,className:`mb-2.5 rounded-md border border-warn-500/40 bg-warn-500/[0.06] px-3.5 py-2.5 font-sans text-[12px] leading-relaxed text-warn-500`,children:v===`ci`&&!b?`Most CI pipelines use a single key. Per-environment keys are useful when your CI environments have separate secret access controls (e.g. GitHub environment protection rules).`:`Runtime workloads typically use per-environment keys for isolation. A shared key means a compromised key in any environment decrypts artifacts for all environments.`}),(0,L.jsx)(`div`,{className:`flex flex-col gap-2`,children:b?(0,L.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-gold-500/30 bg-gold-500/[0.08] px-4 py-3.5`,children:[(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:Ce.map(e=>(0,L.jsx)(de,{env:e.name,small:!0},e.name))}),(0,L.jsx)(`span`,{className:`ml-auto font-mono text-[11px] text-gold-500`,children:`age (shared)`})]}):Ce.map(e=>{let t=h[e.name]??{type:`age`,provider:`aws`,keyId:``};return(0,L.jsxs)(`div`,{className:`rounded-lg border border-edge bg-ink-850 px-4 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between ${t.type===`kms`?`mb-3`:``}`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(de,{env:e.name}),e.protected&&(0,L.jsx)(`span`,{className:`text-[11px] text-stop-500`,children:`🔒`})]}),(0,L.jsx)(`div`,{className:`flex gap-1`,children:[`age`,`kms`].map(n=>(0,L.jsx)(`button`,{onClick:()=>_(r=>({...r,[e.name]:{...t,type:n}})),className:`cursor-pointer rounded border px-2.5 py-0.5 font-mono text-[11px] transition-colors ${t.type===n?n===`kms`?`bg-purple-400 border-purple-400 text-ghost`:`bg-gold-500 border-gold-500 text-ink-950`:`bg-transparent border-edge text-ash`}`,children:n.toUpperCase()},n))})]}),t.type===`kms`&&(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsxs)(`select`,{value:t.provider,onChange:n=>_(r=>({...r,[e.name]:{...t,provider:n.target.value}})),className:`${hn} w-[90px] shrink-0`,children:[(0,L.jsx)(`option`,{value:`aws`,children:`AWS`}),(0,L.jsx)(`option`,{value:`gcp`,children:`GCP`}),(0,L.jsx)(`option`,{value:`azure`,children:`Azure`})]}),(0,L.jsx)(`input`,{value:t.keyId,onChange:n=>_(r=>({...r,[e.name]:{...t,keyId:n.target.value}})),placeholder:`arn:aws:kms:… or key resource ID`,className:`${hn} flex-1`})]})]},e.name)})})]}),(0,L.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,L.jsx)(z,{variant:`ghost`,onClick:ge,disabled:T,children:`Cancel`}),(0,L.jsx)(z,{"data-testid":`create-si-submit`,variant:`primary`,onClick:ve,disabled:!Te||T,children:T?`Creating…`:`Create identity`})]})]})})]})}function vn({children:e}){return(0,L.jsx)(`div`,{className:`mb-1.5 font-sans text-[12px] font-semibold uppercase tracking-[0.05em] text-ash`,children:e})}function yn({children:e}){return(0,L.jsx)(`div`,{className:`mb-1.5 font-sans text-[12px] font-semibold text-ash`,children:e})}function bn({children:e}){return(0,L.jsx)(`div`,{className:`mb-4 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-3 font-sans text-[13px] text-stop-500`,children:e})}var xn={age:`age`,awskms:`AWS KMS`,gcpkms:`GCP KMS`,azurekv:`Azure Key Vault`,pgp:`PGP`,hsm:`HSM (PKCS#11)`},Sn={awskms:`arn:aws:kms:region:account:key/id`,gcpkms:`projects/.../locations/.../keyRings/.../cryptoKeys/...`,azurekv:`https://vault-name.vault.azure.net/keys/key-name/version`,pgp:`PGP fingerprint`,hsm:`pkcs11:slot=0;label=clef-dek-wrapper`},Cn=[`age`,`awskms`,`gcpkms`,`azurekv`,`pgp`,`hsm`],wn=`w-full box-border rounded-md border border-edge bg-ink-850 px-3 py-2 font-mono text-[12px] text-bone outline-none focus-visible:border-gold-500 placeholder:text-ash-dim`,Tn=`w-full rounded-md border border-edge bg-ink-850 px-2.5 py-1.5 font-sans text-[13px] text-bone cursor-pointer outline-none focus-visible:border-gold-500`;function En({manifest:e,setView:t,reloadManifest:n}){let[r,i]=(0,g.useState)(1),[a,o]=(0,g.useState)(null),[s,c]=(0,g.useState)(`age`),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(`all`),[p,m]=(0,g.useState)(``),[h,_]=(0,g.useState)(null),[v,y]=(0,g.useState)(!1),[b,S]=(0,g.useState)(!1),[C,w]=(0,g.useState)(null),[T,E]=(0,g.useState)(!1),[D,O]=(0,g.useState)(null);(0,g.useEffect)(()=>{k()},[]),(0,g.useEffect)(()=>{e&&e.environments.length>0&&!p&&m(e.environments[0].name)},[e,p]);let k=async()=>{try{let e=await x(`/api/backend-config`);e.ok&&o(await e.json())}catch{}},A=async(e=!1)=>{E(!0),O(null);let t={target:{backend:s,key:s===`age`?void 0:l},environment:d===`single`?p:void 0,confirmed:e||void 0};try{let e=await x(`/api/migrate-backend/preview`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(e.status===409){y(!0),E(!1);return}if(!e.ok){O((await e.json()).error??`Preview failed`),E(!1);return}_(await e.json()),y(!1),S(!1),i(2)}catch(e){O(e instanceof Error?e.message:`Preview failed`)}finally{E(!1)}},ee=async()=>{i(3),O(null);let e={target:{backend:s,key:s===`age`?void 0:l},environment:d===`single`?p:void 0,confirmed:!0};try{let t=await x(`/api/migrate-backend/apply`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){O((await t.json()).error??`Migration failed`),i(2);return}w(await t.json()),n(),i(4)}catch(e){O(e instanceof Error?e.message:`Migration failed`),i(2)}},j=()=>{i(1),_(null),w(null),y(!1),S(!1),O(null),k()},M=e?.environments??[],N=h?.events.filter(e=>e.type===`info`&&e.message.startsWith(`Would`)).length??0;return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Backend`}),(0,L.jsx)(B.Subtitle,{children:`clef migrate-backend — change encryption backend`})]})}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`mx-auto max-w-[620px]`,children:[(0,L.jsx)(`div`,{className:`mb-8 flex items-center`,children:[1,2,3,4].map((e,t)=>(0,L.jsxs)(g.Fragment,{children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`div`,{className:`flex h-6 w-6 items-center justify-center rounded-full font-mono text-[11px] font-bold ${r>=e?`bg-gold-500 border border-gold-500 text-ink-950`:`bg-ink-850 border border-edge text-ash-dim`}`,children:e}),(0,L.jsx)(`span`,{className:`font-sans text-[12px] ${r>=e?`text-bone`:`text-ash-dim`} ${r===e?`font-semibold`:`font-normal`}`,children:e===1?`Configure`:e===2?`Preview`:e===3?`Migrate`:`Done`})]}),t<3&&(0,L.jsx)(`div`,{className:`mx-3 h-px min-w-[20px] flex-1 ${r>e?`bg-gold-500`:`bg-edge`}`})]},e))}),D&&(0,L.jsx)(`div`,{className:`mb-4 rounded-lg border border-stop-500/30 bg-stop-500/10 px-4 py-3 font-sans text-[13px] text-stop-500`,children:D}),r===1&&(0,L.jsxs)(`div`,{children:[a&&(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsx)(Dn,{children:`Current Configuration`}),(0,L.jsxs)(`div`,{className:`rounded-lg border border-edge bg-ink-850 p-3.5`,children:[(0,L.jsxs)(`div`,{className:`mb-2 font-mono text-[12px] text-bone`,children:[`Default backend:`,` `,(0,L.jsx)(`span`,{className:`font-semibold text-gold-500`,children:xn[a.global.default_backend]})]}),a.environments.map(e=>(0,L.jsxs)(`div`,{className:`mb-px flex items-center gap-2 font-mono text-[11px] text-ash`,children:[(0,L.jsxs)(`span`,{children:[e.protected?`🔒 `:``,e.name]}),(0,L.jsx)(`span`,{className:`text-ash-dim`,children:`→`}),(0,L.jsxs)(`span`,{className:e.hasOverride?`text-warn-500`:`text-ash`,children:[xn[e.effective.backend],e.hasOverride?` (override)`:``]})]},e.name))]})]}),(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(Dn,{children:`Target Backend`}),(0,L.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:Cn.map(e=>(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 font-sans text-[13px] ${s===e?`text-bone`:`text-ash`}`,children:[(0,L.jsx)(`input`,{type:`radio`,name:`backend`,value:e,checked:s===e,onChange:()=>{c(e),u(``)},className:`accent-gold-500`,"data-testid":`backend-radio-${e}`}),xn[e]]},e))})]}),s!==`age`&&(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(Dn,{children:`Key Identifier`}),(0,L.jsx)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:Sn[s],"data-testid":`backend-key-input`,className:wn})]}),(0,L.jsxs)(`div`,{className:`mb-6`,children:[(0,L.jsx)(Dn,{children:`Scope`}),(0,L.jsxs)(`div`,{className:`mb-2 flex gap-4`,children:[(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 font-sans text-[13px] ${d===`all`?`text-bone`:`text-ash`}`,children:[(0,L.jsx)(`input`,{type:`radio`,name:`scope`,checked:d===`all`,onChange:()=>f(`all`),className:`accent-gold-500`}),`All environments`]}),(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 font-sans text-[13px] ${d===`single`?`text-bone`:`text-ash`}`,children:[(0,L.jsx)(`input`,{type:`radio`,name:`scope`,checked:d===`single`,onChange:()=>f(`single`),className:`accent-gold-500`}),`Single environment`]})]}),d===`single`&&(0,L.jsx)(`select`,{value:p,onChange:e=>m(e.target.value),"data-testid":`env-select`,className:Tn,children:M.map(e=>(0,L.jsxs)(`option`,{value:e.name,children:[e.name,e.protected?` (protected)`:``]},e.name))})]}),v&&(0,L.jsxs)(`div`,{className:`mb-4 rounded-lg border border-warn-500/30 bg-warn-500/10 px-4 py-3`,children:[(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[13px] text-warn-500`,children:`This migration affects protected environments.`}),(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 font-sans text-[12px] text-bone`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:b,onChange:e=>S(e.target.checked),className:`accent-warn-500`,"data-testid":`protected-confirm`}),`I understand and want to proceed`]})]}),(0,L.jsx)(z,{variant:`primary`,onClick:()=>A(b),disabled:T||s!==`age`&&!l.trim(),children:T?`Loading...`:v&&b?`Confirm & Preview`:`Preview`})]}),r===2&&h&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`mb-5 font-sans text-[13px] text-ash`,children:[`Migrating to`,` `,(0,L.jsx)(`span`,{className:`font-semibold text-gold-500`,children:xn[s]}),d===`single`?` (${p} only)`:` (all environments)`]}),h.events.filter(e=>e.type===`info`).length>0&&(0,L.jsxs)(`div`,{className:`mb-4`,children:[(0,L.jsxs)(On,{toneClass:`text-go-500`,children:[`Files to migrate (`,h.events.filter(e=>e.type===`info`).length,`)`]}),h.events.filter(e=>e.type===`info`).map((e,t)=>(0,L.jsx)(kn,{icon:`→`,iconClass:`text-go-500`,label:e.message},t))]}),h.events.filter(e=>e.type===`skip`).length>0&&(0,L.jsxs)(`div`,{className:`mb-4`,children:[(0,L.jsxs)(On,{toneClass:`text-ash-dim`,children:[`Already on target (`,h.events.filter(e=>e.type===`skip`).length,`)`]}),h.events.filter(e=>e.type===`skip`).map((e,t)=>(0,L.jsx)(kn,{icon:`↷`,iconClass:`text-ash-dim`,label:e.message},t))]}),h.result.warnings.length>0&&(0,L.jsx)(`div`,{className:`mb-4`,children:h.result.warnings.map((e,t)=>(0,L.jsxs)(`div`,{className:`mb-1 font-mono text-[11px] text-warn-500`,children:[`⚠ `,e]},t))}),(0,L.jsxs)(`div`,{className:`mt-6 flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`ghost`,onClick:j,children:`Back`}),(0,L.jsxs)(z,{variant:`primary`,onClick:ee,disabled:N===0,"data-testid":`apply-button`,children:[`Migrate `,N,` file`,N===1?``:`s`]})]})]}),r===3&&(0,L.jsxs)(`div`,{className:`flex flex-col items-center pt-10`,children:[(0,L.jsx)(`div`,{className:`mb-4 h-10 w-10 animate-spin rounded-full border-[3px] border-edge border-t-gold-500`}),(0,L.jsx)(`div`,{className:`font-sans text-[14px] text-ash`,children:`Migrating... this may take a moment`})]}),r===4&&C&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`flex flex-col items-center pt-5 pb-8`,children:[(0,L.jsx)(`div`,{className:`mb-4 flex h-14 w-14 items-center justify-center rounded-full text-[24px] ${C.result.rolledBack?`border border-stop-500/30 bg-stop-500/10 text-stop-500`:`border border-go-500/30 bg-go-500/10 text-go-500`}`,children:C.result.rolledBack?`⚠`:`✓`}),(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[16px] font-semibold ${C.result.rolledBack?`text-stop-500`:`text-go-500`}`,children:C.result.rolledBack?`Migration failed`:`Migration complete`}),C.result.rolledBack&&C.result.error&&(0,L.jsx)(`div`,{className:`mb-2 text-center font-mono text-[12px] text-stop-500`,children:C.result.error}),C.result.rolledBack&&(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[12px] text-ash`,children:`All changes have been rolled back.`}),!C.result.rolledBack&&(0,L.jsxs)(`div`,{className:`font-mono text-[12px] text-ash`,children:[C.result.migratedFiles.length,` migrated,`,` `,C.result.skippedFiles.length,` skipped,`,` `,C.result.verifiedFiles.length,` verified`]})]}),C.result.warnings.length>0&&(0,L.jsx)(`div`,{className:`mb-4`,children:C.result.warnings.map((e,t)=>(0,L.jsxs)(`div`,{className:`mb-1 font-mono text-[11px] text-warn-500`,children:[`⚠ `,e]},t))}),!C.result.rolledBack&&(0,L.jsxs)(`div`,{className:`mb-6 rounded-md border border-edge bg-ink-850 px-3.5 py-2.5 font-mono text-[11px] text-ash`,children:[`git add clef.yaml .sops.yaml secrets/ && git commit -m "chore: migrate backend to `,s,`"`]}),(0,L.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`primary`,onClick:()=>t(`matrix`),children:`View in Matrix`}),(0,L.jsx)(z,{variant:`ghost`,onClick:j,children:`Migrate again`})]})]})]})})]})}function Dn({children:e}){return(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[12px] font-semibold uppercase tracking-[0.05em] text-ash`,children:e})}function On({children:e,toneClass:t}){return(0,L.jsx)(`div`,{className:`mb-2 font-sans text-[11px] font-semibold uppercase tracking-[0.06em] ${t}`,children:e})}function kn({icon:e,iconClass:t,label:n}){return(0,L.jsxs)(`div`,{className:`mb-px flex items-center gap-2.5 rounded-md px-2.5 py-1`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[13px] ${t}`,children:e}),(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-bone`,children:n})]})}var An=[`age`,`awskms`,`gcpkms`,`azurekv`,`pgp`],jn={age:`age`,awskms:`AWS KMS`,gcpkms:`GCP KMS`,azurekv:`Azure Key Vault`,pgp:`PGP`},Mn={awskms:`arn:aws:kms:region:account:key/id`,gcpkms:`projects/.../locations/.../keyRings/.../cryptoKeys/...`,azurekv:`https://vault-name.vault.azure.net/keys/key-name/version`,pgp:`PGP fingerprint`},Nn=`w-full bg-ink-850 border border-edge rounded-md px-2.5 py-1.5 font-sans text-[13px] text-bone outline-none cursor-pointer focus-visible:border-gold-500`;function Pn({manifest:e,setView:t,reloadManifest:n}){let r=e?.environments??[],i=e?.namespaces??[],a=r[0]?.name??``,o=i[0]?.name??``,[s,c]=(0,g.useState)(`idle`),[l,u]=(0,g.useState)(null),[d,f]=(0,g.useState)(`env`),[p,m]=(0,g.useState)(a),[h,_]=(0,g.useState)(o),[v,y]=(0,g.useState)(o),[b,S]=(0,g.useState)(a),[C,w]=(0,g.useState)(!1),[T,E]=(0,g.useState)(`age`),[D,O]=(0,g.useState)(``),[k,A]=(0,g.useState)(``),[ee,j]=(0,g.useState)(``),[M,N]=(0,g.useState)(null),P=d===`env`?p?{kind:`env`,name:p}:null:d===`namespace`?h?{kind:`namespace`,name:h}:null:v&&b?{kind:`cell`,namespace:v,environment:b}:null,F=P?P.kind===`env`?`env ${P.name}`:P.kind===`namespace`?`namespace ${P.name}`:`${P.namespace}/${P.environment}`:``,te=C&&T!==`age`&&D.trim().length===0,ne=ee===F&&F.length>0,I=P!==null&&ne&&!te&&s===`idle`,re=M?Object.values(M.pendingKeysByCell).reduce((e,t)=>e+t.length,0):0;return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Reset`}),(0,L.jsx)(B.Subtitle,{children:`clef reset — destructively scaffold fresh placeholders`})]})}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto p-6`,children:(0,L.jsxs)(`div`,{className:`max-w-[620px] mx-auto`,children:[l&&(0,L.jsx)(`div`,{"data-testid":`reset-error`,className:`bg-stop-500/10 border border-stop-500/40 rounded-lg px-4 py-3 mb-4 font-sans text-[13px] text-stop-500`,children:l}),s===`idle`&&(0,L.jsxs)(`div`,{children:[(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(Fn,{children:`Scope`}),(0,L.jsx)(`div`,{className:`flex gap-4 mb-2.5`,children:[`env`,`namespace`,`cell`].map(e=>(0,L.jsxs)(`label`,{className:`flex items-center gap-1.5 cursor-pointer font-sans text-[13px] ${d===e?`text-bone`:`text-ash`}`,children:[(0,L.jsx)(`input`,{type:`radio`,name:`reset-scope-kind`,checked:d===e,onChange:()=>{f(e),j(``)},"data-testid":`reset-scope-${e}`,className:`accent-gold-500`}),e===`env`?`Environment`:e===`namespace`?`Namespace`:`Cell`]},e))}),d===`env`&&(0,L.jsx)(`select`,{value:p,onChange:e=>{m(e.target.value),j(``)},"data-testid":`reset-env-select`,className:Nn,children:r.map(e=>(0,L.jsxs)(`option`,{value:e.name,children:[e.name,e.protected?` (protected)`:``]},e.name))}),d===`namespace`&&(0,L.jsx)(`select`,{value:h,onChange:e=>{_(e.target.value),j(``)},"data-testid":`reset-namespace-select`,className:Nn,children:i.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))}),d===`cell`&&(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsx)(`select`,{value:v,onChange:e=>{y(e.target.value),j(``)},"data-testid":`reset-cell-namespace-select`,className:`${Nn} flex-1`,children:i.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))}),(0,L.jsx)(`select`,{value:b,onChange:e=>{S(e.target.value),j(``)},"data-testid":`reset-cell-env-select`,className:`${Nn} flex-1`,children:r.map(e=>(0,L.jsxs)(`option`,{value:e.name,children:[e.name,e.protected?` (protected)`:``]},e.name))})]})]}),(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer font-sans text-[13px] text-bone`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:C,onChange:e=>w(e.target.checked),"data-testid":`reset-switch-backend`,className:`accent-gold-500`}),`Switch backend as part of reset`]}),C&&(0,L.jsxs)(`div`,{className:`mt-3 p-3.5 bg-ink-850 border border-edge rounded-lg`,children:[(0,L.jsx)(Fn,{children:`Target Backend`}),(0,L.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:An.map(e=>(0,L.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer font-sans text-[13px] ${T===e?`text-bone`:`text-ash`}`,children:[(0,L.jsx)(`input`,{type:`radio`,name:`reset-target-backend`,checked:T===e,onChange:()=>{E(e),O(``)},"data-testid":`reset-backend-radio-${e}`,className:`accent-gold-500`}),jn[e]]},e))}),T!==`age`&&(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(Ne,{label:`Key Identifier`,children:(0,L.jsx)(Oe,{type:`text`,value:D,onChange:e=>O(e.target.value),placeholder:Mn[T],"data-testid":`reset-backend-key-input`})})})]})]}),(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsx)(Fn,{children:`Explicit Keys (optional)`}),(0,L.jsx)(Oe,{type:`text`,value:k,onChange:e=>A(e.target.value),placeholder:`DB_URL, DB_PASSWORD`,"data-testid":`reset-keys-input`}),(0,L.jsx)(`div`,{className:`font-sans text-[11px] text-ash mt-1.5`,children:`Comma-separated. Ignored when the namespace has a schema — schema keys are authoritative.`})]}),(0,L.jsxs)(`div`,{className:`bg-stop-500/10 border border-stop-500/40 rounded-lg px-4 py-3.5 mb-4 font-sans text-[13px] text-stop-500 leading-relaxed`,children:[`⚠`,` This will `,(0,L.jsx)(`strong`,{children:`ABANDON`}),` the current encrypted contents of the affected cells. Decryption will `,(0,L.jsx)(`strong`,{children:`NOT`}),` be attempted. This cannot be undone except via `,(0,L.jsx)(`code`,{children:`git revert`}),`.`]}),(0,L.jsxs)(`div`,{className:`mb-5`,children:[(0,L.jsxs)(Fn,{children:[`Type `,(0,L.jsx)(`code`,{className:`text-bone`,children:F||`<scope>`}),` to confirm`]}),(0,L.jsx)(Oe,{type:`text`,value:ee,onChange:e=>j(e.target.value),placeholder:F,"data-testid":`reset-confirm-input`,disabled:!P})]}),(0,L.jsxs)(z,{variant:`danger`,onClick:async()=>{if(!P)return;c(`running`),u(null);let e=k.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),t={scope:P};C&&(t.backend=T,T!==`age`&&(t.key=D.trim())),e.length>0&&(t.keys=e);try{let e=await x(`/api/reset`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!e.ok){u((await e.json().catch(()=>({error:`Reset failed`}))).error??`Reset failed`),c(`idle`);return}N((await e.json()).result),n(),c(`done`)}catch(e){u(e instanceof Error?e.message:`Reset failed`),c(`idle`)}},disabled:!I,"data-testid":`reset-submit`,children:[`Reset `,F||`<scope>`]})]}),s===`running`&&(0,L.jsxs)(`div`,{className:`flex flex-col items-center pt-10`,"data-testid":`reset-running`,children:[(0,L.jsx)(`div`,{className:`w-10 h-10 border-[3px] border-edge border-t-gold-500 rounded-full mb-4 animate-spin`}),(0,L.jsxs)(`div`,{className:`font-sans text-[14px] text-ash`,children:[`Resetting `,F,`...`]})]}),s===`done`&&M&&(0,L.jsxs)(`div`,{"data-testid":`reset-done`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col items-center pt-5 pb-6`,children:[(0,L.jsx)(`div`,{className:`w-14 h-14 rounded-full bg-go-500/15 border border-go-500/40 flex items-center justify-center text-[24px] text-go-500 mb-4`,children:`✓`}),(0,L.jsx)(`div`,{className:`font-sans font-semibold text-[16px] text-go-500 mb-2`,children:`Reset complete`}),(0,L.jsxs)(`div`,{className:`font-mono text-[12px] text-ash`,children:[M.scaffoldedCells.length,` cell`,M.scaffoldedCells.length===1?``:`s`,` scaffolded`,re>0?`, ${re} pending placeholder${re===1?``:`s`}`:``]})]}),M.backendChanged&&(0,L.jsxs)(`div`,{className:`bg-ink-850 border border-edge rounded-md px-3.5 py-2.5 mb-4 font-mono text-[11px] text-ash`,children:[`Backend override written for: `,M.affectedEnvironments.join(`, `)]}),re>0&&(0,L.jsxs)(`div`,{className:`font-sans text-[12px] text-ash mb-4 leading-relaxed`,children:[`Run `,(0,L.jsx)(`code`,{children:`clef set`}),` (or use the namespace editor) to replace placeholders with real values.`]}),(0,L.jsxs)(`div`,{className:`flex gap-2.5`,children:[(0,L.jsx)(z,{variant:`primary`,onClick:()=>t(`matrix`),"data-testid":`reset-view-matrix`,children:`View in Matrix`}),(0,L.jsx)(z,{variant:`ghost`,onClick:()=>{c(`idle`),N(null),u(null),j(``)},"data-testid":`reset-start-over`,children:`Reset another`})]})]})]})})]})}function Fn({children:e}){return(0,L.jsx)(`div`,{className:`font-sans text-[12px] font-semibold text-ash mb-2 uppercase tracking-[0.05em]`,children:e})}var In=`font-mono text-[12px] bg-ink-850 text-bone border border-edge rounded-sm px-2 py-0.5 outline-none focus-visible:border-gold-500`,Ln=`flex items-center gap-2 font-mono text-[12px] text-ash`;function Rn({manifest:e}){let t=e?.namespaces??[],n=e?.environments??[],[r,i]=(0,g.useState)(t[0]?.name??``),[a,o]=(0,g.useState)(n[0]?.name??``),[s,c]=(0,g.useState)([]),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(null);(0,g.useEffect)(()=>{t.length>0&&!r&&i(t[0].name),n.length>0&&!a&&o(n[0].name)},[t,n,r,a]);let p=(0,g.useCallback)(async()=>{if(!(!r||!a)){u(!0),f(null);try{let e=await x(`/api/git/log/${r}/${a}`);e.ok?c((await e.json()).log):(f((await e.json().catch(()=>({}))).error??`Failed to load history`),c([]))}catch{f(`Network error — could not load history`),c([])}finally{u(!1)}}},[r,a]);return(0,g.useEffect)(()=>{p()},[p]),(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsx)(B,{children:(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`History`}),(0,L.jsx)(B.Subtitle,{children:`Commit log per encrypted file`})]})}),(0,L.jsxs)(`div`,{className:`flex gap-3 px-6 py-4 border-b border-edge`,children:[(0,L.jsxs)(`label`,{className:Ln,children:[`Namespace`,(0,L.jsx)(`select`,{value:r,onChange:e=>i(e.target.value),className:In,children:t.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),(0,L.jsxs)(`label`,{className:Ln,children:[`Environment`,(0,L.jsx)(`select`,{value:a,onChange:e=>o(e.target.value),className:In,children:n.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.name},e.name))})]})]}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto px-6 pb-6`,children:[l&&(0,L.jsx)(`div`,{className:`p-6 font-mono text-[12px] text-ash`,children:`Loading…`}),!l&&d&&(0,L.jsx)(`div`,{className:`p-6 font-mono text-[12px] text-stop-500`,children:d}),!l&&!d&&s.length===0&&(0,L.jsx)(`div`,{className:`pt-6`,children:(0,L.jsx)(Fe,{title:`No commits found`,body:`No history for ${r}/${a}.`})}),!l&&!d&&s.length>0&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsxs)(V,{children:[(0,L.jsx)(V.Header,{children:(0,L.jsxs)(`tr`,{children:[(0,L.jsx)(V.HeaderCell,{children:`Hash`}),(0,L.jsx)(V.HeaderCell,{children:`Date`}),(0,L.jsx)(V.HeaderCell,{children:`Author`}),(0,L.jsx)(V.HeaderCell,{children:`Message`})]})}),(0,L.jsx)(`tbody`,{children:s.map(e=>(0,L.jsxs)(V.Row,{children:[(0,L.jsx)(V.Cell,{className:`font-mono text-gold-500`,children:e.hash.slice(0,7)}),(0,L.jsx)(V.Cell,{className:`text-ash whitespace-nowrap`,children:new Date(e.date).toLocaleDateString()}),(0,L.jsx)(V.Cell,{className:`text-ash`,children:e.author}),(0,L.jsx)(V.Cell,{children:e.message})]},e.hash))})]})})]})]})}function zn(e){return e?`value for key "${e}" will be printed in this window until the reveal timer expires`:`all decrypted values will be printed in this window until the reveal timer expires`}var Bn=15*1e3,Vn=`w-full bg-ink-950 text-bone border border-edge-strong rounded-md outline-none font-mono focus-visible:border-gold-500`;function Hn(){let[e,t]=(0,g.useState)(``),[n,r]=(0,g.useState)(!1),[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(!1),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(null),[_,v]=(0,g.useState)(!1),[y,b]=(0,g.useState)({}),[S,C]=(0,g.useState)(null),[w,T]=(0,g.useState)(()=>Date.now()),E=(0,g.useRef)(),[D,O]=(0,g.useState)(null);(0,g.useEffect)(()=>{x(`/api/envelope/config`).then(e=>e.ok?e.json():null).then(e=>O(e)).catch(()=>O(null))},[]),(0,g.useEffect)(()=>{if(!S)return;let e=setInterval(()=>T(Date.now()),1e3);return()=>clearInterval(e)},[S]),(0,g.useEffect)(()=>()=>clearTimeout(E.current),[]);let k=(0,g.useCallback)(()=>{clearTimeout(E.current),C(Date.now()+Bn),T(Date.now()),E.current=setTimeout(()=>{b({}),C(null)},Bn)},[]),A=(0,g.useCallback)(()=>{clearTimeout(E.current),s(null),p(null),h(null),b({}),C(null),l(``)},[]),ee=(0,g.useCallback)(async()=>{if(e.trim()){a(!0),A();try{let t=await x(`/api/envelope/inspect`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({raw:e})});if(!t.ok){s(null),r(!1);return}let n=await t.json();s(n),r(!n.error)}catch{s(null),r(!1)}finally{a(!1)}}},[e,A]),j=(0,g.useCallback)(async()=>{if(n){d(!0);try{p(await(await x(`/api/envelope/verify`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({raw:e,signerKey:c||void 0})})).json())}catch{p(null)}finally{d(!1)}}},[n,e,c]),M=(0,g.useCallback)(async()=>{if(n){v(!0);try{h(await(await x(`/api/envelope/decrypt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({raw:e})})).json()),b({}),C(null)}catch{h(null)}finally{v(!1)}}},[n,e]),N=(0,g.useCallback)(async()=>{if(n){v(!0);try{let t=await(await x(`/api/envelope/decrypt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({raw:e,reveal:!0})})).json();h(t),t.values&&(b(t.values),k())}catch{}finally{v(!1)}}},[n,e,k]),P=(0,g.useCallback)(async t=>{if(n)try{let n=await(await x(`/api/envelope/decrypt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({raw:e,key:t})})).json();!n.error&&n.values&&t in n.values&&(b(e=>({...e,[t]:n.values[t]})),k())}catch{}},[n,e,k]),F=(0,g.useCallback)(e=>{b(t=>{let n={...t};return delete n[e],n})},[]),te=(0,g.useCallback)(()=>{let e=new Blob([JSON.stringify(y,null,2)],{type:`application/json`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`envelope-revealed.json`,n.click(),URL.revokeObjectURL(t)},[y]),ne=Object.keys(y).length>0,I=Object.keys(y).length===1?Object.keys(y)[0]:void 0,re=S?Math.max(0,S-w):0,ie=(0,g.useMemo)(()=>ir(re),[re]),ae=(0,g.useMemo)(()=>{let e={};return o&&(e.inspect=o),f&&(e.verify=f),m&&(e.decrypt=m),Object.keys(e).length>0?JSON.stringify(e,null,2):null},[o,f,m]),[oe,R]=(0,g.useState)(!1);return(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,L.jsxs)(B,{children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(B.Title,{children:`Envelope Debugger`}),(0,L.jsx)(B.Subtitle,{children:`paste a packed artifact — inspect, verify, decrypt`})]}),ae?(0,L.jsx)(B.Actions,{children:(0,L.jsx)(z,{onClick:()=>R(e=>!e),children:oe?`Hide raw JSON`:`View raw JSON`})}):null]}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4 flex flex-col gap-3.5`,"data-testid":`envelope-screen`,children:[(0,L.jsx)(Un,{rawJson:e,setRawJson:t,onLoad:ee,loading:i}),o&&(0,L.jsx)(Wn,{result:o}),n&&o&&!o.error&&(0,L.jsx)(Gn,{signerKey:c,setSignerKey:l,onVerify:j,loading:u,result:f,signaturePresent:o.signature.present}),n&&o&&!o.error&&(0,L.jsx)(Kn,{config:D,result:m,loading:_,onDecryptKeys:M,onRevealAll:N,onRevealOne:P,onHideOne:F,onExportJson:te,revealedKeys:y,anyRevealed:ne,singleKeyRevealed:I,countdown:ie}),oe&&ae&&(0,L.jsx)(`pre`,{"data-testid":`raw-json`,className:`font-mono text-[11px] bg-ink-850 border border-edge rounded-lg p-3.5 text-ash max-h-[320px] overflow-y-auto`,children:ae})]})]})}function Un({rawJson:e,setRawJson:t,onLoad:n,loading:r}){let i=(0,g.useMemo)(()=>{if(!e.trim())return{state:`empty`};try{return JSON.parse(e),{state:`valid`,bytes:new Blob([e]).size}}catch{return{state:`invalid`}}},[e]),a=i.state===`invalid`?`text-stop-500`:i.state===`valid`?`text-go-500`:`text-ash`;return(0,L.jsxs)(qn,{title:`Paste`,subtitle:`paste a packed envelope JSON`,children:[(0,L.jsx)(`textarea`,{"data-testid":`envelope-paste-textarea`,value:e,onChange:e=>t(e.target.value),placeholder:`{ "version": 1, "identity": "...", ... }`,spellCheck:!1,className:`${Vn} min-h-[120px] max-h-[280px] resize-y text-[12px] p-2.5`}),(0,L.jsxs)(`div`,{className:`flex items-center justify-between mt-2.5`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] ${a}`,"data-testid":`paste-status`,children:i.state===`valid`?`✓ valid (${nr(i.bytes)})`:i.state===`invalid`?`✕ invalid JSON`:`paste to begin`}),(0,L.jsx)(z,{variant:`primary`,onClick:n,disabled:i.state!==`valid`||r,children:r?`Loading…`:`Load`})]})]})}function Wn({result:e}){if(e.error)return(0,L.jsx)(qn,{title:`Inspect`,tone:`error`,children:(0,L.jsx)(Zn,{code:e.error.code,message:e.error.message})});let t=e.ciphertextHash??``,n=e.envelope;return(0,L.jsx)(qn,{title:`Inspect`,subtitle:`auto-populates from the pasted JSON`,children:(0,L.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:[[`version`,(0,L.jsx)($n,{children:e.version===null?`?`:String(e.version)},`v`)],[`identity`,(0,L.jsx)($n,{children:e.identity??`?`},`i`)],[`environment`,(0,L.jsx)($n,{children:e.environment??`?`},`e`)],[`packedAt`,(0,L.jsxs)($n,{children:[e.packedAt??`?`,e.packedAtAgeMs===null?``:` (${tr(e.packedAtAgeMs)})`]},`p`)],[`revision`,(0,L.jsx)($n,{children:e.revision??`?`},`r`)],[`ciphertextHash`,(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)($n,{children:t?rr(t):`?`}),(0,L.jsx)(Xn,{tone:e.ciphertextHashVerified===!0?`ok`:e.ciphertextHashVerified===!1?`fail`:`muted`,label:e.ciphertextHashVerified===!0?`verified`:e.ciphertextHashVerified===!1?`MISMATCH`:`not checked`}),t&&(0,L.jsx)(Tt,{text:t})]},`ch`)],[`ciphertext bytes`,(0,L.jsx)($n,{children:e.ciphertextBytes===null?`?`:String(e.ciphertextBytes)},`cb`)],[`envelope`,(0,L.jsxs)($n,{children:[n?n.provider:`?`,n&&n.kms?` · ${n.kms.keyId}`:``]},`env`)],[`signature`,(0,L.jsx)(`span`,{className:`flex items-center gap-2`,children:e.signature.present?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)($n,{children:e.signature.algorithm??`unknown`}),(0,L.jsx)(Xn,{tone:`muted`,label:`run verify to check`})]}):(0,L.jsx)(Xn,{tone:`muted`,label:`absent`})},`sig`)],[`expiry`,e.expiresAt?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)($n,{children:e.expiresAt}),(0,L.jsx)(Xn,{tone:e.expired?`fail`:`ok`,label:e.expired?`EXPIRED`:`ok`})]},`ex`):(0,L.jsx)($n,{children:`none`},`ex`)],[`revocation`,e.revoked?(0,L.jsx)(Xn,{tone:`fail`,label:`REVOKED at ${e.revokedAt??`?`}`},`rv`):(0,L.jsx)($n,{children:`none`},`rv`)]].map(([e,t])=>(0,L.jsx)(Jn,{label:e,value:t},e))})})}function Gn({signerKey:e,setSignerKey:t,onVerify:n,loading:r,result:i,signaturePresent:a}){let o=a?`paste the signer public key (PEM or base64 DER SPKI) to verify the signature`:`no signature on this artifact — verify only checks hash / expiry / revocation`,s=i?.overall===`pass`?`bg-go-500/15 text-go-500`:i?.overall===`fail`?`bg-stop-500/10 text-stop-500`:`bg-edge text-ash`;return(0,L.jsxs)(qn,{title:`Verify`,subtitle:o,children:[a&&(0,L.jsx)(`textarea`,{"data-testid":`envelope-signer-key`,value:e,onChange:e=>t(e.target.value),placeholder:`-----BEGIN PUBLIC KEY-----
|
|
32
|
+
...
|
|
33
|
+
-----END PUBLIC KEY-----`,spellCheck:!1,className:`${Vn} min-h-[72px] max-h-[160px] resize-y text-[11px] p-2 mb-2.5`}),(0,L.jsx)(`div`,{className:`flex justify-end mb-2.5`,children:(0,L.jsx)(z,{variant:`primary`,onClick:n,disabled:r,children:r?`Verifying…`:`Run verify`})}),i?.error&&(0,L.jsx)(Zn,{code:i.error.code,message:i.error.message}),i&&!i.error&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,L.jsx)(Yn,{label:`ciphertext hash`,status:i.checks.hash.status===`ok`?`pass`:`fail`,detail:i.checks.hash.status}),(0,L.jsx)(Yn,{label:`signature`,status:er(i.checks.signature.status),detail:`${i.checks.signature.status}${i.checks.signature.algorithm?` (${i.checks.signature.algorithm})`:``}`}),(0,L.jsx)(Yn,{label:`expiry`,status:i.checks.expiry.status===`expired`?`fail`:i.checks.expiry.status===`absent`?`muted`:`pass`,detail:i.checks.expiry.expiresAt??`no expiry`}),(0,L.jsx)(Yn,{label:`revocation`,status:i.checks.revocation.status===`revoked`?`fail`:`muted`,detail:i.checks.revocation.revokedAt??`not revoked`}),(0,L.jsxs)(`div`,{className:`mt-1.5 px-3 py-2 rounded-md font-sans text-[12px] font-bold tracking-[0.05em] ${s}`,"data-testid":`verify-overall`,children:[`OVERALL: `,i.overall.toUpperCase()]})]})]})}function Kn({config:e,result:t,loading:n,onDecryptKeys:r,onRevealAll:i,onRevealOne:a,onHideOne:o,onExportJson:s,revealedKeys:c,anyRevealed:l,singleKeyRevealed:u,countdown:d}){let f=e?.ageIdentity.configured===!0,p=f&&e.ageIdentity.source===`CLEF_AGE_KEY`,m=f?e.ageIdentity.source===`CLEF_AGE_KEY_FILE`?`$CLEF_AGE_KEY_FILE · ${e.ageIdentity.path??``}`:`$CLEF_AGE_KEY (inline)`:`no identity configured on server — relaunch clef ui with CLEF_AGE_KEY_FILE set`;return(0,L.jsxs)(qn,{title:`Decrypt`,subtitle:f?`Decrypting with ${m}. The pasted envelope must be encrypted for this key — usually a service identity's age key, not your personal one.`:m,children:[p&&(0,L.jsxs)(`div`,{"data-testid":`inline-key-warning`,className:`mb-3 px-3 py-2 rounded-md bg-warn-500/15 border border-warn-500/40 text-warn-500 font-sans text-[12px] leading-relaxed`,children:[`⚠ `,` This key was passed inline via `,(0,L.jsx)(`code`,{children:`$CLEF_AGE_KEY`}),`, which lands the secret in your shell history (`,(0,L.jsx)(`code`,{children:`~/.zsh_history`}),`, `,(0,L.jsx)(`code`,{children:`~/.bash_history`}),`) and in`,` `,(0,L.jsx)(`code`,{children:`ps aux`}),` while the process runs. Prefer pointing at a file:`,` `,(0,L.jsx)(`code`,{children:`CLEF_AGE_KEY_FILE=/path/to/key clef ui`}),`. Rotate the current key if it may already have been captured.`]}),t?.error&&(0,L.jsx)(Zn,{code:t.error.code,message:t.error.message,hint:Qn(t.error,f)}),!t&&(0,L.jsx)(`div`,{className:`flex justify-end`,children:(0,L.jsx)(z,{variant:`primary`,onClick:r,disabled:n||!f,"data-testid":`decrypt-keys`,children:n?`Decrypting…`:`Decrypt (keys)`})}),t&&!t.error&&(0,L.jsxs)(L.Fragment,{children:[l&&(0,L.jsxs)(`div`,{"data-testid":`reveal-banner`,className:`mb-3 px-3 py-2.5 rounded-md bg-warn-500/15 border border-warn-500/40 text-warn-500 font-sans text-[12px] flex items-center justify-between gap-2.5`,children:[(0,L.jsxs)(`span`,{children:[`⚠ `,` `,zn(u)]}),(0,L.jsxs)(`span`,{className:`font-mono text-[11px]`,"data-testid":`reveal-countdown`,children:[`auto-clears in `,d]})]}),(0,L.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:t.keys.map(e=>{let t=Object.prototype.hasOwnProperty.call(c,e);return(0,L.jsxs)(`div`,{"data-testid":`decrypt-row-${e}`,className:`flex items-center gap-2.5 px-2.5 py-2 bg-ink-950 border border-edge rounded-md`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-bone basis-[200px] shrink-0 grow-0 overflow-hidden text-ellipsis`,children:e}),(0,L.jsx)(`span`,{className:`font-mono text-[12px] flex-1 overflow-hidden text-ellipsis whitespace-nowrap ${t?`text-bone`:`text-ash-dim`}`,"data-testid":`decrypt-value-${e}`,children:t?c[e]:`●`.repeat(10)}),(0,L.jsx)(`button`,{"data-testid":`reveal-toggle-${e}`,onClick:()=>t?o(e):a(e),className:`bg-transparent border border-edge-strong rounded text-ash font-mono text-[11px] px-2 py-0.5 cursor-pointer`,children:t?`hide`:`reveal`}),t&&(0,L.jsx)(Tt,{text:c[e]})]},e)})}),(0,L.jsxs)(`div`,{className:`mt-3.5 flex justify-between gap-2`,children:[(0,L.jsxs)(z,{onClick:r,disabled:n,children:[`↻`,` Re-fetch keys`]}),(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[l&&(0,L.jsx)(z,{onClick:s,"data-testid":`export-json`,children:`Export JSON`}),(0,L.jsx)(z,{variant:`primary`,onClick:i,disabled:n,"data-testid":`reveal-all`,children:`Reveal all`})]})]})]})]})}function qn({title:e,subtitle:t,tone:n=`default`,children:r}){return(0,L.jsxs)(`div`,{className:`bg-ink-850 border rounded-lg p-4 ${n===`error`?`border-stop-500/40`:`border-edge`}`,"data-testid":`envelope-card-${e.toLowerCase()}`,children:[(0,L.jsxs)(`div`,{className:`mb-2.5`,children:[(0,L.jsx)(`div`,{className:`font-sans text-[13px] font-bold text-bone`,children:e}),t&&(0,L.jsx)(`div`,{className:`font-mono text-[10px] text-ash mt-0.5`,children:t})]}),r]})}function Jn({label:e,value:t}){return(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`font-mono text-[11px] text-ash basis-[140px] shrink-0 grow-0`,children:e}),(0,L.jsx)(`span`,{className:`flex-1 min-w-0 text-[12px]`,children:t})]})}function Yn({label:e,status:t,detail:n}){let r=t===`pass`?`text-go-500`:t===`fail`?`text-stop-500`:t===`warn`?`text-warn-500`:`text-ash`,i=t===`pass`?`✓`:t===`fail`?`✕`:`·`;return(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5 px-2.5 py-1.5 bg-ink-950 border border-edge rounded-md`,"data-testid":`verify-row-${e.replace(/\s+/g,`-`)}`,children:[(0,L.jsx)(`span`,{className:`font-mono font-bold w-3 ${r}`,children:i}),(0,L.jsx)(`span`,{className:`font-sans text-[12px] text-bone basis-[140px] shrink-0 grow-0`,children:e}),(0,L.jsx)(`span`,{className:`font-mono text-[11px] text-ash flex-1`,children:n})]})}function Xn({tone:e,label:t}){return(0,L.jsx)(`span`,{className:`font-mono text-[10px] font-bold border rounded-sm px-1.5 py-px ${e===`ok`?`text-go-500 bg-go-500/15 border-go-500/40`:e===`fail`?`text-stop-500 bg-stop-500/10 border-stop-500/40`:e===`warn`?`text-warn-500 bg-warn-500/15 border-warn-500/40`:`text-ash bg-ash/10 border-ash/30`}`,children:t})}function Zn({code:e,message:t,hint:n}){return(0,L.jsxs)(`div`,{role:`alert`,"data-testid":`envelope-error`,className:`px-3 py-2.5 bg-stop-500/10 border border-stop-500/40 rounded-md font-mono text-[11px] text-stop-500`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`strong`,{children:e}),` `,`—`,` `,t]}),n&&(0,L.jsxs)(`div`,{"data-testid":`envelope-error-hint`,className:`mt-2.5 pt-2.5 border-t border-stop-500/30 text-bone font-sans text-[12px] leading-relaxed`,children:[(0,L.jsx)(`div`,{className:`mb-2`,children:n.title}),(0,L.jsx)(`pre`,{className:`m-0 px-2.5 py-2 bg-ink-950 border border-edge rounded text-gold-500 font-mono text-[11px] whitespace-pre-wrap break-all`,children:n.commands.join(`
|
|
34
|
+
`)})]})]})}function Qn(e,t){if(e.code===`key_resolution_failed`)return{title:`No age key on the server. Stop this server (Ctrl-C) and relaunch clef ui pointing at a key file:`,commands:[`CLEF_AGE_KEY_FILE=/path/to/your-key.txt clef ui`,`# avoid CLEF_AGE_KEY='AGE-SECRET-KEY-...' — the key ends up in shell history`]};if(e.code===`decrypt_failed`&&/no identity matched/i.test(e.message))return{title:t?`The server's age key isn't one of this envelope's recipients. This usually means the envelope was packed for a service identity — relaunch clef ui with that identity's key:`:`This envelope's recipients don't include any key on the server. Relaunch clef ui with the matching age key:`,commands:[`# find the service identity's private key and launch with it`,`CLEF_AGE_KEY_FILE=/path/to/service-identity.key clef ui`]}}function $n({children:e}){return(0,L.jsx)(`span`,{className:`font-mono text-[12px] text-bone`,children:e})}function er(e){switch(e){case`valid`:return`pass`;case`invalid`:return`fail`;case`not_verified`:return`warn`;default:return`muted`}}function tr(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function nr(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function rr(e){return e.length<=16?e:`${e.slice(0,8)}…${e.slice(-8)}`}function ir(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}function ar(){let[e,t]=(0,g.useState)(`matrix`),[n,r]=(0,g.useState)(``),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(!0),[c,l]=(0,g.useState)(null),[u,d]=(0,g.useState)([]),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(0),[_,v]=(0,g.useState)(0),[y,b]=(0,g.useState)(0),S=(0,g.useCallback)(async()=>{try{let e=await x(`/api/manifest`);if(e.ok){let t=await e.json();l(t),r(e=>e||(t.namespaces[0]?.name??``))}}catch{}finally{s(!1)}},[]),C=(0,g.useCallback)(async()=>{try{let e=await x(`/api/matrix`);e.ok&&d(await e.json())}catch{}},[]),w=(0,g.useCallback)(async()=>{try{let e=await x(`/api/git/status`);e.ok&&p(await e.json())}catch{}},[]),T=(0,g.useCallback)(async()=>{try{let e=await x(`/api/lint`);e.ok&&h((await e.json()).issues.filter(e=>e.severity===`error`).length)}catch{}},[]),E=(0,g.useCallback)(async()=>{try{let e=await x(`/api/scan/status`);if(e.ok){let t=await e.json();t.lastRun&&v((t.lastRun.matches?.length??0)+(t.lastRun.unencryptedMatrixFiles?.length??0))}}catch{}},[]),D=(0,g.useCallback)(async()=>{try{let e=await x(`/api/policy/check`);e.ok&&b((await e.json()).summary?.rotation_overdue??0)}catch{}},[]);return(0,g.useEffect)(()=>{S(),C(),w(),T(),E(),D()},[S,C,w,T,E,D]),(0,g.useEffect)(()=>{S(),C()},[e,S,C]),o?(0,L.jsx)(`div`,{className:`flex h-screen items-center justify-center bg-ink-950 font-sans text-ash`,children:(0,L.jsxs)(`div`,{className:`text-center`,children:[(0,L.jsx)(`img`,{src:`/clef.svg`,alt:``,width:`20`,height:`44`,className:`mx-auto mb-3 [filter:drop-shadow(0_0_10px_rgba(240,165,0,0.35))]`}),(0,L.jsx)(`div`,{className:`text-[13px]`,children:`Loading...`})]})}):(0,L.jsxs)(`div`,{className:`flex h-screen overflow-hidden bg-ink-950 font-sans text-bone`,children:[(0,L.jsx)(oe,{activeView:e,setView:t,activeNs:n,setNs:r,manifest:c,matrixStatuses:u,gitStatus:f,lintErrorCount:m,scanIssueCount:_,policyOverdueCount:y}),(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[e===`matrix`&&(0,L.jsx)(st,{setView:t,setNs:r,setEnv:a,manifest:c,matrixStatuses:u,reloadMatrix:C}),e===`editor`&&(0,L.jsx)(pt,{ns:n,initialEnv:i,manifest:c}),e===`schema`&&(0,L.jsx)(_t,{ns:n,manifest:c}),e===`diff`&&(0,L.jsx)(Ot,{manifest:c}),e===`lint`&&(0,L.jsx)(Mt,{setView:t,setNs:r}),e===`scan`&&(0,L.jsx)(Nt,{}),e===`policy`&&(0,L.jsx)(Vt,{setView:t,setNs:r}),e===`import`&&(0,L.jsx)(Wt,{manifest:c,setView:t}),e===`recipients`&&(0,L.jsx)(fn,{manifest:c,setView:t}),e===`identities`&&(0,L.jsx)(_n,{manifest:c}),e===`backend`&&(0,L.jsx)(En,{manifest:c,setView:t,reloadManifest:S}),e===`reset`&&(0,L.jsx)(Pn,{manifest:c,setView:t,reloadManifest:S}),e===`history`&&(0,L.jsx)(Rn,{manifest:c}),e===`manifest`&&(0,L.jsx)(Yt,{manifest:c,reloadManifest:S}),e===`envelope`&&(0,L.jsx)(Hn,{})]})]})}b();var or=document.getElementById(`root`);or&&_.createRoot(or).render((0,L.jsx)(g.StrictMode,{children:(0,L.jsx)(ar,{})}));
|