PageSourceSearch

https://demo.sonraisecurity.com/_next/static/chunks/pages/admin/feature-flags-d582842cce84672a.js

js sonraisecurity.com collected 2026-09-24 09:25:44 UTC 19,980 bytes, 5 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8c6af3fc-e9c2-5846-923a-b90ce1d8fb58")}catch(e){}}();
3(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5352],{33207:(e,n,a)=>{"use strict";a.r(n),a.d(n,{__N_SSP:()=>eI,default:()=>eU});var t=a(6029),l=a(97803),r=a(82906),i=a(9976),s=a(32551),o=a(907),u=a(21808),c=a(55314),d=a(73537),g=a(59391),f=a(95303),m=a(85966),p=a(26626);function v(){let e=(0,m._)(["\n    fragment WorkspaceFeatureFlagStatus on WorkspaceFeatureFlagStatus {\n  id\n  slug\n  name\n  domain\n  logoUrl\n  accountType\n  planType\n  isOn\n}\n    "]);return v=function(){return e},e}let h=(0,p.Ay)(v());function F(){let e=(0,m._)(["\n    fragment WorkspaceFeatureFlagStatusesResult on WorkspaceFeatureFlagStatusesResult {\n  statuses {\n    ...WorkspaceFeatureFlagStatus\n  }\n  totalCount\n}\n    ",""]);return F=function(){return e},e}let y=(0,p.Ay)(F(),h);var x=a(1559);function C(){let e=(0,m._)(["\n    query ListWorkspaceFeatureFlagStatuses($data: WorkspaceFeatureFlagStatusesQueryInput!) {\n  workspaceFeatureFlagStatuses(data: $data) {\n    ...WorkspaceFeatureFlagStatusesResult\n  }\n}\n    ",""]);return C=function(){return e},e}let w=(0,p.Ay)(C(),y);var S=a(55729);function k(e){var n;let{open:a,onOpenChange:l,featureFlag:r}=e,[i,m]=(0,S.useState)(0),[p,v]=(0,S.useState)(25),[,h]=(0,f.n)(),F=(0,S.useCallback)(async e=>{let{isOn:n,workspaceId:a}=e;g.oR.promise(h({workspaceId:a,featureFlag:r,isOn:n}),{loading:"".concat(n?"Enabling":"Disabling"," feature flag..."),success:"".concat(n?"Enabled":"Disabled"," feature flag"),error:"Failed to ".concat(n?"enable":"disable"," feature flag")})},[h,r]),[{data:y,fetching:C}]=(n={variables:{data:{featureFlag:r,limit:p,skip:i*p,isOn:!0}},pause:!a},(0,x.s)(w,"workspaceFeatureFlagStatuses",n)),{tableData:k,totalWorkspaces:b}=(0,S.useMemo)(()=>{var e,n,a,t;return{tableData:null!=(a=null==y||null==(e=y.workspaceFeatureFlagStatuses)?void 0:e.statuses)?a:[],totalWorkspaces:null!=(t=null==y||null==(n=y.workspaceFeatureFlagStatuses)?void 0:n.totalCount)?t:0}},[null==y?void 0:y.workspaceFeatureFlagStatuses]),{getFlagLabel:j}=(0,o.o)(),A=j(r),N=[...(0,s.ZS)(),(0,u.m)(e=>({type:"menu",menuItems:[{type:"switch",value:"disable-flag-".concat(e.id),label:"Disable Flag",checked:e.isOn,onChange:n=>F({isOn:n,workspaceId:e.id})}]}))];return(0,t.jsx)(c.aF,{open:a,onOpenChange:l,title:"Workspaces with ".concat(A),className:"max-w-4xl",children:(0,t.jsx)(d.XI,{isLoading:C,columns:N,data:k,showPagination:!0,page:i,onPageChange:m,pageSize:p,onPageSizeChange:e=>{v(e),m(0)},totalRowCount:b})})}var b=a(28546),j=a(78869),A=a(90044);function N(e){var n,a;let{filter:l,...r}=e,[{data:i,fetching:s}]=(0,A.L)({variables:{input:{limit:100,...l}}}),o=(null!=(a=null==i||null==(n=i.internalUsers)?void 0:n.users)?a:[]).map(e=>({label:"".concat(e.firstName," ").concat(e.lastName).trim()||"Unknown user",value:e.id}));return(0,t.jsx)(j.l6,{items:o,placeholder:"Internal Role",isLoading:s,...r})}var L=a(55809),_=a(2683),R=a(99798),I=a(37631),U=a(50197);function T(){let e=(0,m._)(["\n    mutation SaveFeatureFlagDefinition($data: SaveFeatureFlagDefinitionInput!) {\n  saveFeatureFlagDefinition(data: $data) {\n    ...FeatureFlagDefinition\n  }\n}\n    ",""]);return T=function(){return e},e}let D=(0,p.Ay)(T(),I.y);var P=a(49325),E=a(84379),W=a(3967);function O(e){var n,a,l;let{open:r,onOpenChange:i,definition:s}=e,{currentUser:o}=(0,E.iZ)(),[u,d]=(0,S.useState)({label:"",description:"",stage:null,ownerId:null});(0,S.useEffect)(()=>{var e,n,a;r&&s&&d({label:s.label,description:null!=(e=s.description)?e:"",stage:s.stage,ownerId:null!=(a=null!=(n=s.ownerId)?n:null==o?void 0:o.id)?a:null})},[r,s,null==o?void 0:o.id]);let[,f]=U.n_(D),m=(0,S.useCallback)(()=>{let{label:e,description:n,stage:a,ownerId:t}=u;if(s){if(!e.trim())return void(0,W.V2)("Provide a label.");if(!a)return void(0,W.V2)("Select a stage.");if(!t)return void(0,W.V2)("Select an owner.");g.oR.promise(async()=>{var l,r,o;let u=await f({data:{name:s.name,label:e.trim(),description:n.trim()||null,stage:a,ownerId:t}});if(u.error||!(null==(l=u.data)?void 0:l.saveFeatureFlagDefinition))throw Error((0,R.SP)(null!=(o=null==(r=u.error)?void 0:r.message)?o:"Failed to save definition"));i(!1)},{loading:"Saving definition...",success:"Definition saved!",error:P.A})}},[s,u,i,f]),p=b.Ec.map(e=>({label:b.yk[e],description:b.g7[e],value:e}));
3return(0,t.jsx)(c.aF,{open:r,onOpenChange:i,title:s?"Edit ".concat(s.label):"Edit flag",primaryButton:{children:"Save",onClick:m},secondaryButton:{children:"Cancel",onClick:()=>i(!1)},children:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(L.p,{label:"Flag",value:null!=(n=null==s?void 0:s.name)?n:"",isDisabled:!0}),(0,t.jsx)(L.p,{label:"Label",placeholder:"Human-readable name",value:u.label,onValueChange:e=>d(n=>({...n,label:e}))}),(0,t.jsx)(_.T,{label:"Description",placeholder:"What the flag gates (optional)",value:u.description,onChange:e=>d(n=>({...n,description:e}))}),(0,t.jsx)(j.l6,{label:"Stage",placeholder:"Select a stage",items:p,value:null!=(a=u.stage)?a:void 0,onValueChange:e=>d(n=>({...n,stage:e}))}),(0,t.jsx)(N,{label:"Owner",placeholder:"Select an owner",value:null!=(l=u.ownerId)?l:void 0,onValueChange:e=>d(n=>({...n,ownerId:e}))})]})})}var $=a(59584);function B(){let e=(0,m._)(["\n    mutation RetireFeatureFlag($name: String!) {\n  retireFeatureFlag(name: $name) {\n    name\n    definitionId\n    definitionCount\n    grantCount\n    trialCount\n  }\n}\n    "]);return B=function(){return e},e}let V=(0,p.Ay)(B());function q(){let e=(0,m._)(["\n    query FeatureFlagRetirePreview($name: String!) {\n  featureFlagRetirePreview(name: $name) {\n    grantCount\n    trialCount\n  }\n}\n    "]);return q=function(){return e},e}let M=(0,p.Ay)(q());function z(e){var n;let{open:a,onOpenChange:l,name:r}=e,[{data:i,fetching:s}]=(n={variables:{name:null!=r?r:""},pause:!a||!r,requestPolicy:"network-only"},(0,x.s)(M,"featureFlagRetirePreview",n)),o=null==i?void 0:i.featureFlagRetirePreview,[,u]=U.n_(V),d=(0,S.useCallback)(()=>{r&&g.oR.promise(async()=>{await u({name:r}).then(e=>{var n,a,t;if(e.error||!(null==(n=e.data)?void 0:n.retireFeatureFlag))throw Error((0,R.SP)(null!=(t=null==(a=e.error)?void 0:a.message)?t:"Failed to retire flag"))}),l(!1)},{loading:"Retiring flag...",success:"Flag retired!",error:P.A})},[r,l,u]);return(0,t.jsx)(c.aF,{open:a,onOpenChange:l,title:"Retire ".concat(null!=r?r:"flag"),description:"Deletes the definition plus every workspace grant and trial for this flag in one transaction. The name reverts to unregistered; rolling it out again later is possible.",primaryButton:{children:"Retire flag",colorScheme:"red",isDisabled:s||!o,onClick:d},secondaryButton:{children:"Cancel",onClick:()=>l(!1)},children:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"text-sm",children:s||!o?"Counting affected rows...":(0,t.jsxs)("span",{children:["This deletes ",(0,t.jsx)("span",{className:"font-medium",children:o.grantCount})," ","workspace ",1===o.grantCount?"grant":"grants"," and"," ",(0,t.jsx)("span",{className:"font-medium",children:o.trialCount})," ",1===o.trialCount?"trial":"trials","."]})}),(0,t.jsx)($._,{colorScheme:"yellow",icon:"triangle-alert",title:"Retire only fully GA'd flags that nothing checks anymore",description:"A flag still mapped in a plan's feature set gets re-granted on the next plan activation. Removing it from the plan map, call sites, and the flag list is the code-cleanup half of retirement."})]})})}function X(){let e=(0,m._)(["\n    fragment CreateFeatureFlagLinearIssueResult on CreateFeatureFlagLinearIssueResult {\n  success\n}\n    "]);return X=function(){return e},e}let G=(0,p.Ay)(X());function K(){let e=(0,m._)(["\n    mutation CreateFeatureFlagLinearIssue($input: CreateFeatureFlagLinearIssueInput!) {\n  createFeatureFlagLinearIssue(input: $input) {\n    ...CreateFeatureFlagLinearIssueResult\n  }\n}\n    ",""]);return K=function(){return e},e}let Q=(0,p.Ay)(K(),G);function Z(){let e=(0,m._)(["\n    fragment LinearTeam on LinearTeam {\n  id\n  name\n  key\n}\n    "]);return Z=function(){return e},e}let H=(0,p.Ay)(Z());function J(){let e=(0,m._)(["\n    query LinearTeams {\n  linearTeams {\n    ...LinearTeam\n  }\n}\n    ",""]);return J=function(){return e},e}let Y=(0,p.Ay)(J(),H);function ee(){let e=(0,m._)(["\n    fragment LinearUser on LinearUser {\n  id\n  name\n  email\n}\n    "]);return ee=function(){return e},e}let en=(0,p.Ay)(ee());function ea(){let e=(0,m._)(["\n    query LinearUsers {\n  linearUsers {\n    ...LinearUser\n  }\n}\n    ",""]);return ea=function(){return e},e}let et=(0,p.Ay)(ea(),en);function el(e){var n,a,l;let{open:r,onOpenChange:i,featureFlag:s}=e,[u,d]=(0,S.useState)(),[f,m]=(0,S.useState)(),[{data:p,fetching:v}]=(a={pause:!r},(0,x.s)(Y,"linearTeams",a)),[{data:h,fetching:F}]=(l={pause:!r},(0,x.s)(et,"linearUsers",l)),[{fetching:y},C]=U.n_(Q),{definitionsByName:w,getFlagLabel:k}=(0,o.o)(),A=(0,S.useMemo)(()=>{var e;return null!=(e=null==p?void 0:p.linearTeams)?e:[]},[p]),N=(0,S.useMemo)(()=>{var e;return null!=(e=null==h?void 0:h.linearUsers)?e:[]},[h]),L=(0,S.useMemo)(()=>A.find(e=>"product & engineering"===e.name.toLowerCase()),[A]),_=(0,S.useMemo)(()=>N.find(e=>e.name.toLowerCase().includes("linear bot")),[N]),R=null!=u?u:null==L?void 0:L.id,I=null!=f?f:null==_?void 0:_.id,T=k(s),D=null==(n=w[s])?void 0:n.stage,P=async()=>{var e,n;if(!I||!R)return void g.oR.error("Please select a user and a team to assign the issue to");let a=await C({input:{featureFlag:s,assigneeId:I,teamId:R}});if(a.error)return void(0,W.iN)(a.error,{fallback:"Failed to create Linear issue"});(null==(n=a.data)||null==(e=n.createFeatureFlagLinearIssue)?void 0:e.success)&&(g.oR.success("Linear issue created successfully"),null==i||i(!1))},E=A.map(e=>({value:e.id,label:e.name})),O=N.map(e=>({value:e.id,label:e.name}));return(0,t.jsx)(c.aF,{open:r,onOpenChange:i,title:"Remove Flag: ".concat(T),primaryButton:{children:"Create Linear Issue",onClick:P,isLoading:v||F||y,iconLeft:"external-link",isDisabled:!I||!R},children:(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-2 text-sm font-medium text-gray-700",children:"Current stage"}),(0,t.jsx)("div",{className:"text-sm text-gray-900",children:D?b.yk[D]:"Unregistered"})]}),(0,t.jsx)(j.l6,{label:"Assign to User",placeholder:"Select user",items:O,value:I,onValueChange:m,isLoading:F,isSearchable:!0}),(0,t.jsx)(j.l6,{label:"Assign to Team",placeholder:"Select team",items:E,value:R,onValueChange:d,isLoading:v})]})})}var er=a(32087),ei=a(24002),es=a(73096),eo=a(89210);function eu(){let e=(0,m._)(["\n    fragment PlanTypeBreakdown on PlanTypeBreakdown {\n  planType\n  count\n}\n    "]);return eu=function(){return e},e}function ec(){let e=(0,m._)(["\n    fragment FeatureFlagStats on FeatureFlagStats {\n  featureFlag\n  activeWorkspaces\n  planTypeBreakdown {\n    ...PlanTypeBreakdown\n  }\n}\n    ",""]);return ec=function(){return e},e}let ed=(0,p.Ay)(eu()),eg=(0,p.Ay)(ec(),ed);function ef(){let e=(0,m._)(["\n    query ListFeatureFlagStats {\n  featureFlagStats {\n    ...FeatureFlagStats\n  }\n}\n    ",""]);return ef=function(){return e},e}let em=(0,p.Ay)(ef(),eg);function ep(){let e=(0,m._)(["\n    query WorkspaceActiveFeatureFlags($workspaceId: String!) {\n  workspaceActiveFeatureFlags(wor
3kspaceId: $workspaceId) {\n    id\n    name\n  }\n}\n    "]);return ep=function(){return e},e}let ev=(0,p.Ay)(ep());var eh=a(80154),eF=a(34412);let ey=[{label:"All Stages",value:"all"},...b.Ec.map(e=>({label:b.yk[e],value:e}))];function ex(e,n,a){if(n){let a=n.toLowerCase();if(!e.flagName.toLowerCase().includes(a)&&!e.featureFlag.toLowerCase().includes(a))return!1}return"all"===a||e.stage===a}function eC(e,n){if(e.stageUpdatedAt&&n.stageUpdatedAt){let a=new Date(e.stageUpdatedAt).getTime()-new Date(n.stageUpdatedAt).getTime();return 0!==a?a:e.flagName.localeCompare(n.flagName)}return e.stageUpdatedAt?-1:n.stageUpdatedAt?1:e.flagName.localeCompare(n.flagName)}function ew(){var e;let[n,a]=(0,S.useState)(void 0),[l,s]=(0,S.useState)("all"),[c,g]=(0,S.useState)(null),[f,m]=(0,S.useState)(null),[p,v]=(0,S.useState)(!1),[h,F]=(0,S.useState)(!1),[y,C]=(0,S.useState)(!1),[w,A]=(0,S.useState)(null),[N,L]=(0,S.useState)(null),_=null!==f,[{data:R,fetching:I}]=(0,x.s)(em,"featureFlagStats",void 0),{definitions:U,definitionsByName:T,fetching:D}=(0,o.o)(),[{data:P,fetching:E}]=(e={variables:{workspaceId:null!=f?f:""},pause:!f},(0,x.s)(ev,"workspaceActiveFeatureFlags",e)),W=(0,S.useMemo)(()=>{var e;let a=null!=(e=null==R?void 0:R.featureFlagStats)?e:[],t=new Map;for(let e of a)t.set(e.featureFlag,e);return U.map(e=>e.name).map(e=>{var n,a,l,r,i;let s=T[e],o=t.get(e),u={};for(let e of eF.X)u[e]=0;for(let e of null!=(n=null==o?void 0:o.planTypeBreakdown)?n:[])u[e.planType]=e.count;return{featureFlag:e,flagName:s.label,stage:s.stage,stageUpdatedAt:null!=(a=s.stageUpdatedAt)?a:null,owner:null!=(l=s.owner)?l:null,isGranted:(null!=(r=null==o?void 0:o.activeWorkspaces)?r:0)>0,activeWorkspaces:null!=(i=null==o?void 0:o.activeWorkspaces)?i:0,planTypeCounts:u}}).filter(e=>ex(e,n,l)).sort(eC)},[R,U,T,n,l]),$=(0,S.useMemo)(()=>{var e;return(null!=(e=null==P?void 0:P.workspaceActiveFeatureFlags)?e:[]).flatMap(e=>{var n,a;let t=T[e.name];return t?[{featureFlag:e.name,flagName:t.label,stage:t.stage,stageUpdatedAt:null!=(n=t.stageUpdatedAt)?n:null,owner:null!=(a=t.owner)?a:null,isGranted:!0}]:[]}).filter(e=>ex(e,n,l)).sort(eC)},[P,T,n,l]),B=[{id:"stage",header:"Stage",cell:e=>{let{row:n}=e;return b.yk[n.original.stage]}},{id:"owner",header:"Owner",cell:e=>{let{row:n}=e;return(0,o.s)(n.original.owner)||(0,t.jsx)("span",{className:"text-gray-400",children:"Unassigned"})}},{id:"stageAge",header:"In stage since",accessorKey:"stageUpdatedAt",cell:e=>{let{row:n}=e;return n.original.stageUpdatedAt?(0,eh.q)(n.original.stageUpdatedAt):n.original.isGranted?(0,t.jsx)(es.E,{colorScheme:"yellow",size:"sm",children:"Never moved"}):(0,t.jsx)("span",{className:"text-gray-400",children:"-"})}}],V=[{id:"activeWorkspaces",header:"Total",accessorKey:"activeWorkspaces",cell:e=>{var n;let{row:a}=e;return(0,t.jsx)("div",{className:"text-center",children:(0,t.jsx)(es.E,{colorScheme:"brand",size:"sm",children:null!=(n=a.original.activeWorkspaces)?n:0})})},meta:{className:"text-center"}},...eF.X.map(e=>({id:e,header:i.L$[e],accessorFn:n=>{var a,t;return null!=(t=null==(a=n.planTypeCounts)?void 0:a[e])?t:0},cell:n=>{var a,l;let{row:r}=n,i=null!=(l=null==(a=r.original.planTypeCounts)?void 0:a[e])?l:0;return(0,t.jsx)("div",{className:"text-center",children:i>0?(0,t.jsx)(es.E,{colorScheme:"gray",size:"sm",children:i}):(0,t.jsx)("span",{className:"text-sm text-gray-400",children:"-"})})},meta:{className:"text-center"}}))],q=[{id:"flagName",header:"Label",accessorKey:"flagName",cell:e=>{let{row:n}=e;return(0,t.jsx)("span",{className:"font-medium",children:n.original.flagName})}},...B,..._?[]:V,(0,u.m)(e=>{let n=T[e.featureFlag];return{type:"menu",menuItems:[{type:"button",id:"edit-definition",label:"Edit definition",iconLeft:"pencil-line",onClick:()=>A(n)},{type:"button",id:"view-workspaces",label:"View workspaces",iconLeft:"users",onClick:()=>{g(e.featureFlag),v(!0)}},{type:"button",id:"remove-flag",label:"Remove flag",iconLeft:"flag",onClick:()=>{g(e.featureFlag),F(!0)}},{type:"button",id:"create-cohort",iconLeft:"team",label:"Cohort deployment",onClick:()=>C(!0)},{label:"Retire flag",iconLeft:"trash",variant:"danger",group:"",onClick:()=>L(e.featureFlag)}]}})];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ei.A.FilterBar,{children:(0,t.jsxs)(ei.A.ActionGroup,{children:[(0,t.jsx)(eo.I,{value:n,onValueChange:a,placeholder:"Search flags..."}),(0,t.jsx)(j.l6,{items:ey,value:l,elementLeft:"Stage",onValueChange:s}),(0,t.jsx)(er.A,{placeholder:"All customers",value:null!=f?f:void 0,onValueChange:e=>m(e||null),isClearable:!0,onClear:()=>m(null)})]})}),(0,t.jsx)(ei.A.Body,{children:(0,t.jsx)(d.XI,{isLoading:D||(_?E:I),columns:q,data:_?$:W,onRowClick:_?void 0:e=>A(T[e.featureFlag]),pageSize:25,showPagination:!0,emptyState:_?{icon:"flag",title:"No feature flags enabled",description:"This customer has no active feature flags"}:{icon:"flag",title:"No feature flags found",description:"Try adjusting your search or filters"},showSorting:!0})}),(0,t.jsx)(r.A,{open:y,onOpenChange:C}),(0,t.jsx)(O,{open:!!w,onOpenChange:e=>{e||A(null)},definition:w}),(0,t.jsx)(z,{open:!!N,onOpenChange:e=>{e||L(null)},name:N}),c&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k,{open:p,onOpenChange:v,featureFlag:c}),(0,t.jsx)(el,{open:h,onOpenChange:F,featureFlag:c})]})]})}var eS=a(55613);function ek(){let e=(0,m._)(["\n    query FeatureFlagDriftReport {\n  featureFlagDriftReport {\n    unknownNames {\n      name\n      grantCount\n      trialCount\n      definitionCount\n    }\n  }\n}\n    "]);return ek=function(){return e},e}let eb=(0,p.Ay)(ek());function ej(){var e,n;let[a,l]=(0,S.useState)(null),[{data:r,fetching:i}]=(0,x.s)(eb,"featureFlagDriftReport",void 0),s=null!=(n=null==r||null==(e=r.featureFlagDriftReport)?void 0:e.unknownNames)?n:[],o=[{id:"name",header:"Name",cell:e=>{let{row:n}=e;return(0,t.jsx)("span",{className:"font-mono text-xs",children:n.original.n
3ame})}},{id:"grantCount",header:"Grants",accessorKey:"grantCount"},{id:"trialCount",header:"Trials",accessorKey:"trialCount"},{id:"definitionCount",header:"Definitions",accessorKey:"definitionCount"},{id:"actions",header:()=>(0,t.jsx)("span",{className:"sr-only",children:"Actions"}),meta:{className:"w-px"},cell:e=>{let{row:n}=e;return(0,t.jsx)(eS.$,{variant:"outline",colorScheme:"red",size:"sm",onClick:()=>l(n.original.name),children:"Retire"})}}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{open:!!a,onOpenChange:e=>{e||l(null)},name:a}),(0,t.jsx)(d.XI,{isLoading:i,data:s,pageSize:25,showPagination:!0,columns:o,emptyState:{icon:"flag",title:"No drift",description:"Every name with rows in the database is in the flag list."}})]})}var eA=a(73057),eN=a(28698);let eL="Feature Flags",e_=[{id:"flags",name:"Flags"},{id:"drift",name:"Drift"}];function eR(){let[e,n]=(0,S.useState)("flags");return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eA.A,{title:["Admin",eL]}),(0,t.jsx)(ei.A.Nav,{breadcrumbs:[{type:"link",value:eL},{value:"All"}],center:(0,t.jsx)(eN.I,{value:e,items:e_,onChange:n})}),(0,t.jsx)(ei.A.ActionBar,{title:eL}),"flags"===e?(0,t.jsx)(ew,{}):(0,t.jsx)(ei.A.Body,{className:"pb-4",children:(0,t.jsx)(ej,{})})]})}eR.getLayout=function(e){return(0,t.jsx)(l.A,{children:e})};var eI=!0;let eU=eR},41656:(e,n,a)=>{"use strict";a.d(n,{R:()=>r});var t=a(85966);function l(){let e=(0,t._)(["\n    fragment SlimUser on SlimUser {\n  id\n  email\n  firstName\n  lastName\n  internalRole\n  image\n}\n    "]);return l=function(){return e},e}let r=(0,a(26626).Ay)(l())},46725:(e,n,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/feature-flags",function(){return a(33207)}])},90044:(e,n,a)=>{"use strict";a.d(n,{L:()=>u});var t=a(85966),l=a(26626),r=a(41656),i=a(1559);function s(){let e=(0,t._)(["\n    query ListInternalUsers($input: InternalRoleUserQueryInput!) {\n  internalUsers(input: $input) {\n    users {\n      ...SlimUser\n    }\n    totalCount\n  }\n}\n    ",""]);return s=function(){return e},e}let o=(0,l.Ay)(s(),r.R);function u(e){return(0,i.s)(o,"internalUsers",e)}}},e=>{e.O(0,[6593,8635,8213,1663,9616,4254,4664,1456,238,9913,8277,3684,4446,4882,9391,2292,9261,8750,1652,9047,6450,9899,5460,7283,488,9928,5742,7929,330,2653,2532,8975,6100,865,2593,4379,2146,1224,5389,2045,2444,5720,7676,7135,2020,8938,4641,500,3482,6681,8388,4568,2454,8255,8792],()=>e(e.s=46725)),_N_E=e.O()}]);
4//# sourceMappingURL=feature-flags-d582842cce84672a.js.map
5//# debugId=8c6af3fc-e9c2-5846-923a-b90ce1d8fb58

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.