"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[110],{4340:function(n,e,t){t.d(e,{xZ:function(){return nn},$9:function(){return j},hP:function(){return _},jz:function(){return U},M8:function(){return F},IC:function(){return nd},YA:function(){return nu}});var r,i=t(6482),o=t(8015),a=t(9019),l=t(7438),s=t(8442),u=t(7831),d=t(1894);(null!==(r=t(2625).env.NEXT_PUBLIC_FEATURE_FLAGS)&&void 0!==r?r:"").split(",").map(n=>n.trim()).filter(n=>n.length>0);let c=(n,e)=>{if(!n)throw Error("".concat(e," environment variable must be defined"));return n},p=()=>c("/graphql","NEXT_PUBLIC_GRAPHQL_HTTP_URL"),m=()=>{let n="/graphql";return n&&n.trim().length>0?n:p()};var f=t(1488).lW;let y="access_token",h="primary_access_token",g=null,v=null,I=!1,b=n=>{try{let e=n.replace(/-/g,"+").replace(/_/g,"/"),t=e.length%4;if(2===t?e+="==":3===t?e+="=":1===t&&(e+="==="),"function"==typeof globalThis.atob)return globalThis.atob(e);if(void 0!==f)return f.from(e,"base64").toString("utf-8");return null}catch(n){return null}},w=n=>{let e=n.split(".");if(e.length<2)return null;let t=e[1];if(!t)return null;let r=b(t);if(!r)return null;try{return JSON.parse(r)}catch(n){return null}},C=n=>{if(!n||"object"!=typeof n)return;let e=n.origin_namespace_id;if("string"!=typeof e)return;let t=n.permission_set_id,r=n.read_only,i=n.reason,o=n.client_ip;return{originNamespaceId:e,permissionSetId:"string"==typeof t?t:void 0,readOnly:"boolean"==typeof r?r:void 0,reason:"string"==typeof i?i:void 0,clientIp:"string"==typeof o?o:void 0}},A=n=>{if(!n)return null;let e=w(n);if(!e)return null;let t=e.sub,r=e.namespace_id,i=e.account_id;if("string"!=typeof t||"string"!=typeof r||"string"!=typeof i)return null;let o=e.exp;return{subject:t,accountId:i,namespaceId:r,expiresAt:"number"==typeof o?o:null,assume:C(e.assume)}},P=n=>{var e;let t=A(n);return null!==(e=null==t?void 0:t.expiresAt)&&void 0!==e?e:null},$=function(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30,t=P(n);return"number"!=typeof t||t<=Math.floor(Date.now()/1e3)+e},k=new Set,T=()=>{for(let n of k)try{n()}catch(n){}},S=(n,e,t)=>{t&&(e?window.localStorage.setItem(n,e):window.localStorage.removeItem(n))},x=(n,e)=>{v=n,S(h,n,e)},_=()=>g,B=()=>v,F=(n,e)=>{var t;let r=null===(t=null==e?void 0:e.persist)||void 0===t||t;g=n,n&&(I=!1),S(y,n,r),(null==e?void 0:e.markPrimary)&&x(n,r),T()},D=function(n){let e=!(arguments.length>1)||void 0===arguments[1]||arguments[1];x(n,e),n&&(I=!1),T()},U=()=>{let n=window.localStorage.getItem(y),e=window.localStorage.getItem(h);n&&!$(n)?g=n:(g=null,n&&window.localStorage.removeItem(y)),e&&!$(e)?v=e:(v=null,e&&window.localStorage.removeItem(h)),v||(v=g),T()},j=n=>{F(null),(null==n?void 0:n.clearPrimary)&&D(null)},N=(n,e)=>{try{let t=new URL(n,window.location.origin);return e&&!e.startsWith(n)&&t.searchParams.set("next",e),t.toString()}catch(e){return n}},E=n=>{var e;if(I)return;I=!0,j({clearPrimary:!0});let t="".concat(window.location.pathname).concat(window.location.search),r=N(null!==(e=null==n?void 0:n.loginPath)&&void 0!==e?e:"/login",t);window.location.replace(r)},R=(n,e)=>e,Z=(n,e,t)=>{if(!n||"object"!=typeof n)return n;let r=Array.isArray(n.fields)?n.fields.map(n=>q(n,e,t)):n.fields;return{...n,namespaceId:null!=e?e:n.namespaceId,key:null!=t?t:n.key,fields:r}},q=(n,e,t)=>n?{...n,namespaceId:null!=e?e:n.namespaceId,typeKey:null!=t?t:n.typeKey}:n,L=()=>({typePolicies:{Query:{fields:{namespaces:{keyArgs:["filter"],merge:R},contentTypeDescriptors:{keyArgs:["namespaceId"],merge:R},contentType:{keyArgs:["namespaceId","key"],merge(n,e,t){let{args:r}=t;return e?Z(e,null==r?void 0:r.namespaceId,null==r?void 0:r.key):e}},contentTypes:{keyArgs:["namespaceId"],merge(n,e,t){let{args:r}=t;if(!Array.isArray(e))return e;let i=null==r?void 0:r.namespaceId;return e.map(n=>{var e;return Z(n,i,null!==(e=n.key)&&void 0!==e?e:void 0)})}}}},ContentType:{keyFields:["namespaceId","key","version"],fields:{fields:{merge:R}}},ContentTypeSchema:{keyFields:["namespaceId","key","version"],fields:{fields:{merge:R}}},ContentFieldSchema:{keyFields:["namespaceId","typeKey","name","version"]}}}),M=n=>{if(!n)return;let e={};for(let[t,r]of Object.entries(n))if(void 0!==r){if(Array.isArray(r)){e[t]=r.join(", ");continue}if("string"==typeof r){e[t]=r;continue}e[t]=String(r)}return e},O=(n,e)=>new i.u({uri:n,fetch,headers:M(e)}),V=()=>(0,s.v)((n,e)=>{let{headers:t}=e,r=_();return r?$(r)?(E(),{headers:t}):{headers:{...t,Authorization:"Bearer ".concat(r)}}:{headers:t}}),G=()=>(0,u.q)(n=>{let{graphQLErrors:e,networkError:t}=n,r=!1;if(e)for(let n of e){var i,o;let e=null!==(o=null===(i=n.extensions)||void 0===i?void 0:i.code)&&void 0!==o?o:"UNKNOWN_ERROR";"AUTHENTICATION_FAILED"===e&&(r=!0),console.error("[GraphQL error]: code=".concat(e," message=").concat(n.message))}t&&(401===t.statusCode&&(r=!0),console.error("[Network error]: ".concat(t))),r&&(_()||B())&&E()}),H=()=>new d.W({attempts:(n,e,t)=>!(n>=2)&&!!t,delay:{initial:300,max:1500,jitter:!0}}),W=(n,e)=>o.i.from([V(),G(),H(),O(n,e)]),K=null,Q=function(){let{headers:n,initialState:e,uri:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=null!=t?t:m();return new a.f({ssrMode:!1,link:W(r,n),cache:new l.h(L()).restore(null!=e?e:{}),devtools:{enabled:!0}})},z=n=>{if(K||(K=Q(n)),null==n?void 0:n.initialState){let e=K.extract();K.cache.restore({...e,...n.initialState})}return K};var J=t(442),Y=t(3976),X=t(6449);let nn=n=>{let{children:e}=n;(0,X.useEffect)(()=>{U()},[]);let t=(0,X.useMemo)(()=>z(),[]);return(0,J.jsx)(Y.e,{client:t,children:e})};var ne=t(7122),nt=t(9399),nr=t(5321);function ni(){let n=(0,ne._)(["\n mutation Login($login: String!, $password: String!, $namespaceId: ID!) {\n login(login: $login, password: $password, namespaceId: $namespaceId) {\n token\n user {\n id\n username\n }\n }\n }\n"]);return ni=function(){return n},n}function no(){let n=(0,ne._)(["\n mutation CompleteFirstLogin(\n $login: String!\n $tempPassword: String!\n $newPassword: String!\n $namespaceId: ID!\n ) {\n completeFirstLogin(\n login: $login\n tempPassword: $tempPassword\n newPassword: $newPassword\n namespaceId: $namespaceId\n ) {\n token\n user {\n id\n username\n status\n }\n }\n }\n"]);return no=function(){return n},n}let na={},nl=(0,nr.Ps)(ni()),ns=(0,nr.Ps)(no()),nu=n=>(function(n){let e={...na,...n};return nt.D(nl,e)})(n),nd=n=>(function(n){let e={...na,...n};return nt.D(ns,e)})(n);function nc(){let n=(0,ne._)(["\n query Namespaces {\n namespaces: myNamespaces {\n id\n name\n description\n createdAt\n updatedAt\n }\n }\n"]);return nc=function(){return n},n}function np(){let n=(0,ne._)(["\n query Namespace($id: ID!) {\n namespace(id: $id) {\n id\n name\n description\n createdAt\n updatedAt\n settings\n }\n }\n"]);return np=function(){return n},n}function nm(){let n=(0,ne._)(["\n query NamespaceBundles {\n namespaceBundles {\n id\n label\n description\n settings\n plugins {\n user\n group\n }\n bootstrapUsers {\n key\n label\n isAdmin\n requireEmail\n }\n seedGroups {\n machineName\n label\n owner\n members {\n user\n isAdmin\n }\n }\n }\n }\n"]);return nm=function(){return n},n}function nf(){let n=(0,ne._)(["\n mutation CreateNamespace($input: NamespaceCreateInput!) {\n createNamespace(input: $input) {\n id\n name\n description\n createdAt\n updatedAt\n settings\n }\n }\n"]);return nf=function(){return n},n}function ny(){let n=(0,ne._)(["\n mutation AssumeNamespaceRole(\n $namespaceId: ID!\n $permissionSetId: ID\n $options: AssumeNamespaceRoleOptionsInput\n ) {\n assumeNamespaceRole(\n namespaceId: $namespaceId\n permissionSetId: $permissionSetId\n options: $options\n ) {\n token\n user {\n id\n username\n namespaceId\n status\n }\n }\n }\n"]);return ny=function(){return n},n}function nh(){let n=(0,ne._)(["\n fragment UserCoreFields on User {\n id\n accountId\n username\n email\n displayName\n isAdmin\n isRoot\n role\n status\n namespaceId\n createdAt\n updatedAt\n }\n"]);return nh=function(){return n},n}function ng(){let n=(0,ne._)(["\n query Users($namespaceId: ID, $limit: Int, $offset: Int, $search: String) {\n users(namespaceId: $namespaceId, limit: $limit, offset: $offset, search: $search) {\n items {\n ...UserCoreFields\n }\n pageInfo {\n total\n limit\n offset\n }\n }\n }\n ","\n"]);return ng=function(){return n},n}function nv(){let n=(0,ne._)(["\n mutation CreateUser($input: UserCreateInput!) {\n createUser(input: $input) {\n ...UserCoreFields\n }\n }\n ","\n"]);return nv=function(){return n},n}function nI(){let n=(0,ne._)(["\n mutation UpdateUser($id: ID!, $input: UserUpdateInput!) {\n updateUser(id: $id, input: $input) {\n ...UserCoreFields\n }\n }\n ","\n"]);return nI=function(){return n},n}function nb(){let n=(0,ne._)(["\n mutation DeleteUser($id: ID!) {\n deleteUser(id: $id) {\n ...UserCoreFields\n }\n }\n ","\n"]);return nb=function(){return n},n}(0,nr.Ps)(nc()),(0,nr.Ps)(np()),(0,nr.Ps)(nm()),(0,nr.Ps)(nf()),(0,nr.Ps)(ny());let nw=(0,nr.Ps)(nh());function nC(){let n=(0,ne._)(["\n query Groups($filter: GroupListFilterInput, $limit: Int, $offset: Int) {\n groups(filter: $filter, limit: $limit, offset: $offset) {\n items {\n id\n machineName\n label\n namespaceId\n createdAt\n updatedAt\n viewerIsAdmin\n owner {\n accountId\n user {\n id\n username\n displayName\n }\n }\n }\n total\n limit\n offset\n }\n }\n"]);return nC=function(){return n},n}function nA(){let n=(0,ne._)(["\n query GroupMembers($id: ID!, $limit: Int, $offset: Int) {\n group(id: $id) {\n id\n members(limit: $limit, offset: $offset) {\n items {\n id\n userId\n username\n displayName\n isAdmin\n }\n total\n limit\n offset\n }\n }\n }\n"]);return nA=function(){return n},n}function nP(){let n=(0,ne._)(["\n mutation CreateGroup($input: GroupCreateInput!) {\n createGroup(input: $input) {\n id\n machineName\n label\n namespaceId\n createdAt\n updatedAt\n viewerIsAdmin\n owner {\n accountId\n user {\n id\n username\n displayName\n }\n }\n }\n }\n"]);return nP=function(){return n},n}function n$(){let n=(0,ne._)(["\n mutation AddGroupMembers($input: AddGroupMembersInput!) {\n addGroupMembers(input: $input) {\n addedCount\n skippedCount\n group {\n id\n machineName\n label\n namespaceId\n createdAt\n updatedAt\n viewerIsAdmin\n owner {\n accountId\n user {\n id\n username\n displayName\n }\n }\n }\n }\n }\n"]);return n$=function(){return n},n}function nk(){let n=(0,ne._)(["\n query ContentTypeDescriptors($namespaceId: ID) {\n contentTypeDescriptors(namespaceId: $namespaceId) {\n key\n label\n description\n viewerCanCreate\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n }\n }\n }\n"]);return nk=function(){return n},n}function nT(){let n=(0,ne._)(["\n query ContentTypes($namespaceId: ID!) {\n contentTypes(namespaceId: $namespaceId) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nT=function(){return n},n}function nS(){let n=(0,ne._)(["\n query ContentType($namespaceId: ID!, $key: String!) {\n contentType(namespaceId: $namespaceId, key: $key) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nS=function(){return n},n}function nx(){let n=(0,ne._)(["\n mutation CreateContentType($input: ContentTypeCreateInput!) {\n createContentType(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nx=function(){return n},n}function n_(){let n=(0,ne._)(["\n mutation UpdateContentType($input: ContentTypeUpdateInput!) {\n updateContentType(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return n_=function(){return n},n}function nB(){let n=(0,ne._)(["\n mutation DeleteContentType($input: ContentTypeDeleteInput!) {\n deleteContentType(input: $input)\n }\n"]);return nB=function(){return n},n}function nF(){let n=(0,ne._)(["\n mutation AddContentField($input: ContentFieldCreateInput!) {\n addContentField(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nF=function(){return n},n}function nD(){let n=(0,ne._)(["\n mutation UpdateContentField($input: ContentFieldUpdateInput!) {\n updateContentField(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nD=function(){return n},n}function nU(){let n=(0,ne._)(["\n mutation RemoveContentField($input: ContentFieldDeleteInput!) {\n removeContentField(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nU=function(){return n},n}function nj(){let n=(0,ne._)(["\n mutation AddContentFieldOption($input: ContentFieldOptionCreateInput!) {\n addContentFieldOption(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nj=function(){return n},n}function nN(){let n=(0,ne._)(["\n mutation UpdateContentFieldOption($input: ContentFieldOptionUpdateInput!) {\n updateContentFieldOption(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nN=function(){return n},n}function nE(){let n=(0,ne._)(["\n mutation RemoveContentFieldOption($input: ContentFieldOptionDeleteInput!) {\n removeContentFieldOption(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nE=function(){return n},n}function nR(){let n=(0,ne._)(["\n mutation SetContentTypePolicy($input: ContentTypePolicyInput!) {\n setContentTypePolicy(input: $input) {\n key\n label\n description\n status\n behaviorId\n version\n fields {\n name\n fieldType\n customType\n cardinality\n required\n description\n defaultValue\n options {\n value\n label\n sortIndex\n isDefault\n }\n version\n }\n policy {\n version\n updatedAt\n updatedBy\n create\n update\n publish\n unpublish\n delete\n }\n }\n }\n"]);return nR=function(){return n},n}function nZ(){let n=(0,ne._)(["\n query ContentList($filter: ContentFilterInput, $order: ContentOrderBy, $limit: Int, $offset: Int) {\n contentList(filter: $filter, order: $order, limit: $limit, offset: $offset) {\n items {\n id\n namespaceId\n typeKey\n authorAccountId\n title\n status\n createdAt\n updatedAt\n version\n viewerPermissions {\n canUpdate\n canDelete\n canPublish\n canUnpublish\n }\n }\n total\n limit\n offset\n }\n }\n"]);return nZ=function(){return n},n}function nq(){let n=(0,ne._)(["\n query Content($id: ID!, $namespaceId: ID) {\n content(id: $id, namespaceId: $namespaceId) {\n id\n namespaceId\n typeKey\n authorAccountId\n title\n body\n status\n createdAt\n updatedAt\n version\n fields {\n name\n values\n }\n viewerPermissions {\n canUpdate\n canDelete\n canPublish\n canUnpublish\n }\n }\n }\n"]);return nq=function(){return n},n}function nL(){let n=(0,ne._)(["\n mutation CreateContent($input: CreateContentInput!) {\n createContent(input: $input) {\n id\n namespaceId\n typeKey\n authorAccountId\n title\n body\n status\n createdAt\n updatedAt\n version\n fields {\n name\n values\n }\n viewerPermissions {\n canUpdate\n canDelete\n canPublish\n canUnpublish\n }\n }\n }\n"]);return nL=function(){return n},n}function nM(){let n=(0,ne._)(["\n mutation UpdateContent($input: UpdateContentInput!) {\n updateContent(input: $input) {\n id\n namespaceId\n typeKey\n authorAccountId\n title\n body\n status\n createdAt\n updatedAt\n version\n fields {\n name\n values\n }\n viewerPermissions {\n canUpdate\n canDelete\n canPublish\n canUnpublish\n }\n }\n }\n"]);return nM=function(){return n},n}function nO(){let n=(0,ne._)(["\n mutation DeleteContent($id: ID!) {\n deleteContent(input: { id: $id })\n }\n"]);return nO=function(){return n},n}function nV(){let n=(0,ne._)(["\n mutation PublishContent($id: ID!, $expectedVersion: Int) {\n publishContent(input: { id: $id, expectedVersion: $expectedVersion }) {\n id\n namespaceId\n typeKey\n authorAccountId\n title\n body\n status\n createdAt\n updatedAt\n version\n fields {\n name\n values\n }\n viewerPermissions {\n canUpdate\n canDelete\n canPublish\n canUnpublish\n }\n }\n }\n"]);return nV=function(){return n},n}function nG(){let n=(0,ne._)(["\n mutation UnpublishContent($id: ID!, $expectedVersion: Int) {\n unpublishContent(input: { id: $id, expectedVersion: $expectedVersion }) {\n id\n namespaceId\n typeKey\n authorAccountId\n title\n body\n status\n createdAt\n updatedAt\n version\n fields {\n name\n values\n }\n viewerPermissions {\n canUpdate\n canDelete\n canPublish\n canUnpublish\n }\n }\n }\n"]);return nG=function(){return n},n}function nH(){let n=(0,ne._)(["\n query ContentNamespaceSummaries($namespaceIds: [ID!]) {\n contentNamespaceSummaries(namespaceIds: $namespaceIds) {\n namespaceId\n namespaceName\n namespaceDescription\n latestUpdate\n typeSummaries {\n typeKey\n label\n description\n draftCount\n publishedCount\n archivedCount\n totalCount\n latestUpdate\n }\n }\n }\n"]);return nH=function(){return n},n}(0,nr.Ps)(ng(),nw),(0,nr.Ps)(nv(),nw),(0,nr.Ps)(nI(),nw),(0,nr.Ps)(nb(),nw),(0,nr.Ps)(nC()),(0,nr.Ps)(nA()),(0,nr.Ps)(nP()),(0,nr.Ps)(n$()),(0,nr.Ps)(nk()),(0,nr.Ps)(nT()),(0,nr.Ps)(nS()),(0,nr.Ps)(nx()),(0,nr.Ps)(n_()),(0,nr.Ps)(nB()),(0,nr.Ps)(nF()),(0,nr.Ps)(nD()),(0,nr.Ps)(nU()),(0,nr.Ps)(nj()),(0,nr.Ps)(nN()),(0,nr.Ps)(nE()),(0,nr.Ps)(nR()),(0,nr.Ps)(nZ()),(0,nr.Ps)(nq()),(0,nr.Ps)(nL()),(0,nr.Ps)(nM()),(0,nr.Ps)(nO()),(0,nr.Ps)(nV()),(0,nr.Ps)(nG()),(0,nr.Ps)(nH())},3423:function(n,e,t){t.r(e),t.d(e,{AuthBoundary:function(){return u}});var r=t(442),i=t(6449),o=t(7387),a=t(4340),l=t(7174);let s=(n,e)=>!!n&&("/"===e?"/"===n:n===e||n.startsWith("".concat(e,"/"))),u=n=>{let{children:e,loginPath:t="/login",publicRoutes:u=[]}=n,d=(0,o.useRouter)(),c=(0,o.usePathname)(),p=(0,o.useSearchParams)(),m=(0,i.useMemo)(()=>{let n=new Set(null!=u?u:[]);return n.add(t),Array.from(n)},[t,u]),f=(0,i.useMemo)(()=>m.some(n=>s(c,n)),[m,c]),[y,h]=(0,i.useState)(f?"allowed":"checking");return((0,i.useEffect)(()=>{if((0,a.jz)(),f){h("allowed");return}if(h("checking"),!(0,a.hP)()){let n=new URLSearchParams;if(c&&c!==t){let e=null==p?void 0:p.toString(),t=e?"".concat(c,"?").concat(e):c;n.set("next",t)}let e=n.toString()?"".concat(t,"?").concat(n.toString()):t;d.replace(e);return}h("allowed")},[f,t,c,d,p]),"checking"===y)?(0,r.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,r.jsx)(l.Z,{size:"large"})}):(0,r.jsx)(r.Fragment,{children:e})}},5040:function(n,e,t){t.r(e),t.d(e,{LoginForm:function(){return y}});var r=t(442),i=t(6449),o=t(7387),a=t(5858),l=t(1862),s=t(444),u=t(3983),d=t(3658),c=t(4340),p=t(3886);let m=n=>n.trim(),f=(n,e)=>n&&n.startsWith("/")?n:e,y=n=>{let{defaultNamespaceId:e,namespaceLabel:t="Namespace ID",submitLabel:d="Sign in",disableNamespaceField:y=!1,onSuccess:g,redirectPath:v="/"}=n,I=(0,o.useRouter)(),w=(0,o.useSearchParams)(),[A]=a.Z.useForm(),P=(0,p.useNamespaceIdFromUrl)({fallback:e}),[$,{loading:k}]=(0,c.YA)(),[T,S]=(0,i.useState)(null),[x,_]=(0,i.useState)(null);(0,i.useEffect)(()=>{P&&A.getFieldValue("namespaceId")!==P&&A.setFieldsValue({namespaceId:P})},[A,P]);let B=n=>{(0,c.M8)(n,{markPrimary:!0});let e=f(null==w?void 0:w.get("next"),v);I.replace(e),I.refresh(),null==g||g(),S(null),A.resetFields(["password"])},F=async n=>{_(null);let e=m(n.namespaceId),t=n.login.trim();try{var r;let i={login:t,password:n.password,namespaceId:e},{data:o}=await $({variables:i}),a=null==o?void 0:null===(r=o.login)||void 0===r?void 0:r.token;if(!a)throw Error("Authentication failed.");B(a)}catch(r){if((0,c.$9)(),"PASSWORD_CHANGE_REQUIRED"===b(r)){S({namespaceId:e,login:t,tempPassword:n.password}),A.resetFields(["password"]);return}_(C(r))}};return T?(0,r.jsx)(h,{pending:T,onCancel:()=>S(null),onCompleted:n=>B(n)}):(0,r.jsxs)(a.Z,{form:A,layout:"vertical",initialValues:{namespaceId:null!=P?P:""},onFinish:F,requiredMark:!1,children:[(0,r.jsx)(a.Z.Item,{name:"namespaceId",label:t,rules:[{required:!0,message:"Namespace ID is required"}],children:(0,r.jsx)(l.Z,{placeholder:"00000000-0000-0000-0000-000000000000",disabled:y})}),(0,r.jsx)(a.Z.Item,{name:"login",label:"Username or email",rules:[{required:!0,message:"Login is required"}],children:(0,r.jsx)(l.Z,{placeholder:"username",autoComplete:"username"})}),(0,r.jsx)(a.Z.Item,{name:"password",label:"Password",rules:[{required:!0,message:"Password is required"}],children:(0,r.jsx)(l.Z.Password,{placeholder:"••••••••",autoComplete:"current-password"})}),x?(0,r.jsx)(a.Z.Item,{children:(0,r.jsx)(s.Z,{type:"error",showIcon:!0,message:x})}):null,(0,r.jsx)(a.Z.Item,{children:(0,r.jsx)(u.ZP,{type:"primary",htmlType:"submit",block:!0,loading:k,children:d})})]})},h=n=>{let{pending:e,onCancel:t,onCompleted:o}=n,[p]=a.Z.useForm(),[m,{loading:f}]=(0,c.IC)(),[y,h]=(0,i.useState)(null),g=async n=>{h(null);let t=n.newPassword.trim();if(!t){h("New password is required.");return}if(t!==n.confirmPassword.trim()){h("Passwords do not match.");return}try{var r;(0,c.$9)();let{data:n}=await m({variables:{namespaceId:e.namespaceId,login:e.login,tempPassword:e.tempPassword,newPassword:t}}),i=null==n?void 0:null===(r=n.completeFirstLogin)||void 0===r?void 0:r.token;if(!i)throw Error("Unable to finish first login.");p.resetFields(),o(i)}catch(n){(0,c.$9)(),h(A(n))}};return(0,r.jsxs)(a.Z,{form:p,layout:"vertical",onFinish:g,requiredMark:!1,children:[(0,r.jsx)(a.Z.Item,{children:(0,r.jsx)(s.Z,{type:"info",showIcon:!0,message:"Password change required",description:(0,r.jsxs)(d.Z.Paragraph,{style:{marginBottom:0},children:["Update the password for ",(0,r.jsx)(d.Z.Text,{strong:!0,children:e.login})," to continue."]})})}),(0,r.jsx)(a.Z.Item,{name:"newPassword",label:"New password",rules:[{required:!0,message:"New password is required"}],children:(0,r.jsx)(l.Z.Password,{placeholder:"Set a new password",autoComplete:"new-password"})}),(0,r.jsx)(a.Z.Item,{name:"confirmPassword",label:"Confirm password",dependencies:["newPassword"],rules:[{required:!0,message:"Confirm your new password"}],children:(0,r.jsx)(l.Z.Password,{placeholder:"Repeat new password",autoComplete:"new-password"})}),y?(0,r.jsx)(a.Z.Item,{children:(0,r.jsx)(s.Z,{type:"error",showIcon:!0,message:y})}):null,(0,r.jsx)(a.Z.Item,{style:{marginBottom:8},children:(0,r.jsx)(u.ZP,{type:"primary",htmlType:"submit",block:!0,loading:f,children:"Set new password"})}),(0,r.jsx)(a.Z.Item,{style:{marginBottom:0},children:(0,r.jsx)(u.ZP,{block:!0,onClick:t,disabled:f,children:"Back to sign in"})})]})},g=n=>{if("object"!=typeof n||null===n||!("graphQLErrors"in n))return!1;let{graphQLErrors:e}=n;return Array.isArray(e)},v=n=>{if(g(n)&&n.graphQLErrors.length>0)return n.graphQLErrors[0]},I=n=>{if("object"==typeof n&&null!==n&&"message"in n){let e=n.message;if("string"==typeof e)return e;if(null!=e)return String(e)}},b=n=>{var e;let t=v(n),r=null==t?void 0:null===(e=t.extensions)||void 0===e?void 0:e.code;return"string"==typeof r?r:void 0},w=n=>{let e=v(n);return"string"==typeof(null==e?void 0:e.message)?e.message:void 0},C=n=>{let e=b(n),t=w(n);switch(e){case"AUTHENTICATION_FAILED":return"Invalid credentials. Check your username, password, and namespace.";case"PASSWORD_CHANGE_REQUIRED":return"You must change your password before signing in.";case"RATE_LIMITED":return"Too many attempts. Please try again later.";case"VALIDATION_ERROR":return null!=t?t:"Validation failed."}return n instanceof Error&&!("graphQLErrors"in n)?n.message:I(n)||"Authentication failed. Please try again."},A=n=>{let e=b(n),t=w(n);switch(e){case"PASSWORD_RESET_NOT_REQUIRED":return"Password reset is not required for this account.";case"PASSWORD_EMPTY":return"New password must not be empty.";case"RATE_LIMITED":return"Too many attempts. Please try again later.";case"AUTHENTICATION_FAILED":return"Temporary password is incorrect.";case"VALIDATION_ERROR":return null!=t?t:"Validation failed."}return n instanceof Error&&!("graphQLErrors"in n)?n.message:I(n)||"Unable to set a new password. Please try again."}},2826:function(n,e,t){t.r(e),t.d(e,{AppShell:function(){return u}});var r=t(442),i=t(8779),o=t(7015);let{Header:a,Sider:l,Content:s}=i.default,u=n=>{var e,t,u,d,c;let{header:p,sidebar:m,children:f}=n,{token:y}=o.Z.useToken(),h=null!==(t=null!==(e=y.colorBgLayout)&&void 0!==e?e:y.colorBgBase)&&void 0!==t?t:"#ffffff",g=null!==(u=y.colorBgContainer)&&void 0!==u?u:h,v=null!==(c=null!==(d=y.colorSplit)&&void 0!==d?d:y.colorBorder)&&void 0!==c?c:"rgba(0, 0, 0, 0.12)";return(0,r.jsxs)(i.default,{style:{minHeight:"100vh",background:h},children:[p?(0,r.jsx)(a,{style:{background:g,paddingInline:24,borderBottom:"1px solid ".concat(v)},children:p}):null,(0,r.jsxs)(i.default,{hasSider:!!m,children:[m?(0,r.jsx)(l,{width:240,style:{background:g,borderRight:"1px solid ".concat(v)},children:m}):null,(0,r.jsx)(s,{style:{padding:24,background:h},children:f})]})]})};e.default=u},3886:function(n,e,t){t.r(e),t.d(e,{useNamespaceIdFromUrl:function(){return d}});var r=t(6449),i=t(7387);let o=["namespaceId","namespace","ns"],a=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,l=n=>{if("string"!=typeof n)return;let e=n.trim();return e.length>0?e:void 0},s=n=>{if(n)for(let e of o){let t=n[e];if(!t)continue;let r=l(Array.isArray(t)?t[0]:t);if(r)return r}},u=n=>{if(n){for(let e of n.split("/").filter(Boolean).reverse())if(a.test(e))return e}},d=n=>{var e;let t=(0,i.useSearchParams)(),a=(0,i.useParams)(),d=(0,i.usePathname)(),c=null!==(e=null==n?void 0:n.fallback)&&void 0!==e?e:null;return(0,r.useMemo)(()=>{let n=(()=>{if(t)for(let n of o){let e=l(t.get(n));if(e)return e}})();if(n)return n;let e=s(a||null);return e?e:u(d)||l(null!=c?c:void 0)},[c,a,d,t])};e.default=d},1110:function(n,e,t){t.d(e,{IC:function(){return o.AppProviders},Vw:function(){return i.AppShell},U0:function(){return a.LoginForm},OZ:function(){return r.ThemeSwitcher}}),t(9727),t(8086);var r=t(72);t(5770),t(2981),t(4416),t(9123);var i=t(2826);t(442);var o=t(269);t(3423);var a=t(5040);t(3886)},269:function(n,e,t){t.r(e),t.d(e,{AppProviders:function(){return c}});var r=t(442),i=t(6449),o=t(7174),a=t(4340),l=t(9727),s=t(2981),u=t(3423),d=t(9123);let c=n=>{let{children:e,themeOverrides:t,loginPath:c="/login",publicRoutes:p,variant:m="default",imguiThemeOverride:f}=n,y=(0,i.useMemo)(()=>{var n,e;return{light:{...s.b,...null!==(n=null==t?void 0:t.light)&&void 0!==n?n:{}},dark:{...s.J,...null!==(e=null==t?void 0:t.dark)&&void 0!==e?e:{}}}},[t]),h=(0,i.useMemo)(()=>{let n=new Set([c]);for(let e of null!=p?p:[])e.trim().length>0&&n.add(e);return Array.from(n)},[c,p]),g=(0,r.jsx)(u.AuthBoundary,{loginPath:c,publicRoutes:h,children:e}),v=(0,r.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,r.jsx)(o.Z,{size:"large"})}),I="imgui"===m?(0,r.jsx)(d.ImGuiThemeProvider,{overrides:f,children:g}):(0,r.jsx)(l.ThemeProvider,{themes:y,children:g});return(0,r.jsx)(a.xZ,{children:(0,r.jsx)(i.Suspense,{fallback:v,children:I})})}},5770:function(n,e,t){t.r(e),t.d(e,{AntdRegistry:function(){return l}});var r=t(442),i=t(6449),o=t(7387),a=t(8232);let l=n=>{let{children:e}=n,t=(0,i.useRef)((0,a.Df)());return(0,o.useServerInsertedHTML)(()=>{let n=t.current;if(!n)return null;let e=(0,a.EN)(n,!0);return(0,r.jsx)("style",{id:"antd-cssinjs",children:e})}),(0,r.jsx)(a.V9,{cache:t.current,hashPriority:"high",children:e})}},9123:function(n,e,t){t.r(e),t.d(e,{ImGuiThemeProvider:function(){return l}});var r=t(442),i=t(6449),o=t(2935),a=t(4416);let l=n=>{let{children:e,overrides:t}=n,l=(0,i.useMemo)(()=>(0,a.R)(t),[t]);return(0,r.jsx)(o.ZP,{wave:{disabled:!0},theme:l,children:e})};e.default=l},9727:function(n,e,t){t.r(e),t.d(e,{ThemeContext:function(){return u},ThemeProvider:function(){return c}});var r=t(442),i=t(6449),o=t(7015),a=t(2935);let l="app-theme",s={light:{token:{colorPrimary:"#1677ff",colorBgLayout:"#f5f5f5"}},dark:{algorithm:[o.Z.darkAlgorithm],token:{colorPrimary:"#177ddc",colorBgLayout:"#0f172a"}}},u=(0,i.createContext)(void 0),d=(n,e)=>{var t,r,i,o;return e?{...n,...e,token:{...null!==(t=n.token)&&void 0!==t?t:{},...null!==(r=e.token)&&void 0!==r?r:{}},components:{...null!==(i=n.components)&&void 0!==i?i:{},...null!==(o=e.components)&&void 0!==o?o:{}}}:n},c=n=>{let{children:e,initialTheme:t="light",themes:c}=n,[p,m]=(0,i.useState)(t);(0,i.useEffect)(()=>{let n=window.localStorage.getItem(l);n&&("light"===n||"dark"===n)&&m(n)},[]),(0,i.useEffect)(()=>{window.localStorage.setItem(l,p)},[p]);let f=(0,i.useCallback)(n=>{m(n)},[]),y=(0,i.useCallback)(()=>{m(n=>"light"===n?"dark":"light")},[]),h=(0,i.useMemo)(()=>({theme:p,setTheme:f,toggleTheme:y}),[p,f,y]),g=(0,i.useMemo)(()=>d(s[p],null==c?void 0:c[p]),[p,c]),v=(0,i.useMemo)(()=>{let n=g.algorithm,e=Array.isArray(n)?[...n]:n?[n]:[];if("dark"===p)return e.some(n=>n===o.Z.darkAlgorithm)?e:[...e,o.Z.darkAlgorithm];let t=e.filter(n=>n!==o.Z.darkAlgorithm);return t.length>0?t:[o.Z.defaultAlgorithm]},[g.algorithm,p]);return(0,r.jsx)(u.Provider,{value:h,children:(0,r.jsx)(a.ZP,{theme:{...g,algorithm:v},children:e})})}},72:function(n,e,t){t.r(e),t.d(e,{ThemeSwitcher:function(){return a}});var r=t(442),i=t(6683),o=t(8086);let a=()=>{let{theme:n,setTheme:e}=(0,o.useTheme)();return(0,r.jsx)(i.Z,{checked:"dark"===n,checkedChildren:"\uD83C\uDF19",unCheckedChildren:"☀️",onChange:n=>e(n?"dark":"light")})}},4416:function(n,e,t){t.d(e,{R:function(){return l}});var r=t(7015);let i=n=>{let e=n.algorithm,t=new Set(Array.isArray(e)?[...e]:e?[e]:[]);return t.add(r.Z.darkAlgorithm),t.add(r.Z.compactAlgorithm),{...n,algorithm:Array.from(t)}},o=(n,e)=>{var t,r,o,a;return e?i({...n,...e,token:{...null!==(t=n.token)&&void 0!==t?t:{},...null!==(r=e.token)&&void 0!==r?r:{}},components:{...null!==(o=n.components)&&void 0!==o?o:{},...null!==(a=e.components)&&void 0!==a?a:{}}}):i(n)},a={algorithm:[r.Z.darkAlgorithm,r.Z.compactAlgorithm],cssVar:{key:"imgui"},token:{colorPrimary:"#5EA1FF",colorInfo:"#5EA1FF",colorBgBase:"#0f1216",colorBgLayout:"#0f1216",colorBgContainer:"#141821",colorBgElevated:"#1a1f2a",colorText:"#dbe1ea",colorTextSecondary:"#aab2bf",colorBorder:"#2a2f38",colorSplit:"#2a2f38",borderRadius:2,lineWidth:1,controlHeight:28,controlOutline:"transparent",controlOutlineWidth:0,fontFamily:'Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',fontFamilyCode:'JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',boxShadow:"none",boxShadowSecondary:"none",boxShadowTertiary:"none"},components:{Button:{defaultBg:"#141821",defaultBorderColor:"#2a2f38",defaultColor:"#dbe1ea",defaultHoverBg:"#171c26",defaultHoverBorderColor:"#3a4352",defaultActiveBg:"#0f141c",defaultActiveBorderColor:"#4a5668",primaryShadow:"none",defaultShadow:"none",dangerShadow:"none",paddingInline:10,paddingBlock:4,borderColorDisabled:"#2a2f38"},Tabs:{cardBg:"#141821",itemColor:"#aab2bf",itemHoverColor:"#dbe1ea",itemSelectedColor:"#dbe1ea",inkBarColor:"#5EA1FF",horizontalItemGutter:16},Table:{headerBg:"#171c26",headerColor:"#dbe1ea",rowHoverBg:"#161b24",borderColor:"#2a2f38",headerSplitColor:"#2a2f38",bodySortBg:"#1b2130",rowSelectedBg:"#12243a",rowSelectedHoverBg:"#18314f",cellPaddingInline:12,headerBorderRadius:2},Input:{activeBorderColor:"#5EA1FF",hoverBorderColor:"#5EA1FF",activeShadow:"none",hoverBg:"#141821",activeBg:"#141821"},Layout:{headerBg:"#0f1216",siderBg:"#0f1216",bodyBg:"#0f1216"},Menu:{itemBorderRadius:2,darkItemBg:"transparent",darkItemColor:"#aab2bf",darkItemHoverBg:"#171c26",darkItemSelectedBg:"#1a2130",darkItemSelectedColor:"#dbe1ea"},Card:{headerBg:"#171c26"},Tooltip:{colorBgSpotlight:"#1a1f2a"}}},l=n=>o(a,n)},2981:function(n,e,t){t.d(e,{J:function(){return i},b:function(){return r}});let r={token:{colorPrimary:"#1677ff",borderRadiusLG:12,fontFamily:"Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"}},i={token:{colorPrimary:"#177ddc",colorBgBase:"#0b1120",borderRadiusLG:12,fontFamily:"Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"}}},8086:function(n,e,t){t.r(e),t.d(e,{useTheme:function(){return o}});var r=t(6449),i=t(9727);let o=()=>{let n=(0,r.useContext)(i.ThemeContext);if(!n)throw Error("useTheme must be used within ThemeProvider");return n}}}]);