"use strict";(self.webpackChunkgrafana=self.webpackChunkgrafana||[]).push([[7497,8039],{8044:(Le,K,a)=>{a.r(K),a.d(K,{default:()=>me});var s=a(41407),e=a(39953),C=a(28888),O=a(32688),G=a(13475),M=a(77804),f=a(82803),b=a(22784),z=a(97125),Q=a(13253),F=a(57721),j=a(45894),ee=a(89772),te=a(41245),ae=a(20454),x=a(4919),se=a(21308),R=a(99503),B=a(51064),L=a(69865),P=a(12190),S=a(12223),ne=a(94696),re=a(39017),H=a(90139);const Y=({units:t,icon:c})=>{const l=(0,f.wW)(u);return t?.length?t.length>1?e.createElement(L.u,{placement:"top",content:e.createElement("div",{className:l.unitTooltip},t?.map(v=>e.createElement("span",{key:v.name},v.name)))},e.createElement("div",{className:l.unitItem},e.createElement(P.J,{name:c})," ",e.createElement("span",null,t.length))):e.createElement("span",{className:l.unitItem},e.createElement(P.J,{name:c})," ",t[0].name):null},u=t=>({unitTooltip:(0,s.css)`
      display: flex;
      flex-direction: column;
    `,unitItem:(0,s.css)`
      padding: ${t.spacing(.5)} 0;
      margin-right: ${t.spacing(1)};

      svg {
        margin-bottom: ${t.spacing(.25)};
      }
    `,link:(0,s.css)`
      color: inherit;
      cursor: pointer;
      text-decoration: underline;
    `}),g=({users:t,showPaging:c,totalPages:l,onChangePage:v,currentPage:E,fetchData:m})=>{const I=(0,e.useMemo)(()=>t.some(i=>i.licensedRole),[t]),be=(0,e.useMemo)(()=>[{id:"avatarUrl",header:"",cell:({cell:{value:i}})=>i&&e.createElement(R.q,{src:i,alt:"User avatar"})},{id:"login",header:"Login",cell:({cell:{value:i}})=>i,sortType:"string"},{id:"email",header:"Email",cell:({cell:{value:i}})=>i,sortType:"string"},{id:"name",header:"Name",cell:({cell:{value:i}})=>i,sortType:"string"},{id:"orgs",header:"Belongs to",cell:D,sortType:(i,ge)=>(i.original.orgs?.length||0)-(ge.original.orgs?.length||0)},...I?[{id:"licensedRole",header:"Licensed role",cell:h,sortType:"string"}]:[],{id:"lastSeenAtAge",header:"Last active",headerTooltip:{content:"Time since user was seen using Grafana",iconName:"question-circle"},cell:A,sortType:(i,ge)=>new Date(i.original.lastSeenAt).getTime()-new Date(ge.original.lastSeenAt).getTime()},{id:"authLabels",header:"Origin",cell:({cell:{value:i}})=>e.createElement(e.Fragment,null,Array.isArray(i)&&i.length>0&&e.createElement(H.e,{label:i[0],removeIcon:!1,count:0}))},{id:"isDisabled",header:"",cell:({cell:{value:i}})=>e.createElement(e.Fragment,null,i&&e.createElement(B.V,{colorIndex:9,name:"Disabled"}))},{id:"edit",header:"",cell:({row:{original:i}})=>e.createElement("a",{href:`admin/users/edit/${i.id}`,"aria-label":`Edit team ${i.name}`},e.createElement(L.u,{content:"Edit user"},e.createElement(P.J,{name:"pen"})))}],[I]);return e.createElement(S.wc,{spacing:"md"},e.createElement(ne.e,{columns:be,data:t,getRowId:i=>String(i.id),fetchData:m}),c&&e.createElement(S.Lh,{justify:"flex-end"},e.createElement(re.t,{numberOfPages:l,currentPage:E,onNavigate:v})))},D=({cell:{value:t,row:c}})=>{const l=(0,f.wW)(w);return e.createElement("div",{className:l.row},e.createElement(Y,{units:t,icon:"building"}),c.original.isAdmin&&e.createElement(L.u,{placement:"top",content:"Grafana Admin"},e.createElement(P.J,{name:"shield"})))},h=({cell:{value:t}})=>{const c=(0,f.wW)(w);return e.createElement(e.Fragment,null,t==="None"?e.createElement("span",{className:c.disabled},"Not assigned"," ",e.createElement(L.u,{placement:"top",content:"A licensed role will be assigned when this user signs in"},e.createElement(P.J,{name:"question-circle"}))):t)},A=({cell:{value:t}})=>{const c=(0,f.wW)(w);return e.createElement(e.Fragment,null,t&&e.createElement(e.Fragment,null,t==="10 years"?e.createElement("span",{className:c.disabled},"Never"):t))},w=t=>({disabled:(0,s.css)({color:t.colors.text.disabled}),row:(0,s.css)({display:"flex",alignItems:"center"})});var T=a(88480);const Z=[],J=t=>{Z.push(t)},V=C.wl.pages.UserListPage.UserListAdminPage,X={fetchUsers:T.uh,changeQuery:T.R5,changePage:T.oO,changeFilter:T.M6,changeSort:T.nt},le=t=>({users:t.userListAdmin.users,query:t.userListAdmin.query,showPaging:t.userListAdmin.showPaging,totalPages:t.userListAdmin.totalPages,page:t.userListAdmin.page,filters:t.userListAdmin.filters}),o=(0,ee.connect)(le,X)(({fetchUsers:t,query:c,changeQuery:l,users:v,showPaging:E,changeFilter:m,filters:I,totalPages:be,page:i,changePage:ge,changeSort:De})=>{const Pe=(0,f.wW)(oe);return(0,e.useEffect)(()=>{t()},[t]),e.createElement(Q.T.Contents,null,e.createElement("div",{className:Pe.actionBar,"data-testid":V.container},e.createElement("div",{className:Pe.row},e.createElement(te.H,{placeholder:"Search user by login, email, or name.",autoFocus:!0,value:c,onChange:l}),e.createElement(ae.S,{options:[{label:"All users",value:!1},{label:"Active last 30 days",value:!0}],onChange:ue=>m({name:"activeLast30Days",value:ue}),value:I.find(ue=>ue.name==="activeLast30Days")?.value,className:Pe.filter}),Z.map((ue,Te)=>e.createElement(ue,{key:Te,filters:I,onChange:m,className:Pe.filter})),se.Vt.hasPermission(F.AccessControlAction.UsersCreate)&&e.createElement(x.Qj,{href:"admin/users/create",variant:"primary"},"New user"))),e.createElement(g,{users:v,showPaging:E,totalPages:be,onChangePage:ge,currentPage:i,fetchData:De}))});function p(){return React.createElement(Page,{navId:"global-users"},React.createElement(o,null))}const oe=t=>({filter:(0,s.css)({margin:t.spacing(0,1),[t.breakpoints.down("sm")]:{margin:0}}),actionBar:(0,s.css)({marginBottom:t.spacing(2),display:"flex",alignItems:"flex-start",gap:t.spacing(2),[t.breakpoints.down("sm")]:{flexWrap:"wrap"}}),row:(0,s.css)({display:"flex",alignItems:"flex-start",textAlign:"left",marginBottom:t.spacing(.5),flexGrow:1,[t.breakpoints.down("sm")]:{flexWrap:"wrap",gap:t.spacing(2),width:"100%"}})}),q=null;var he=a(27587),ce=a(73075),pe=a(84766),ie=a(39106),de=a(94939);const ye=C.wl.pages.UserListPage.UsersListPublicDashboardsPage.DashboardsListModal,n=({email:t,onDismiss:c})=>{const l=(0,f.wW)(d),{data:v,isLoading:E}=(0,he.Bl)(t);return e.createElement(ce.u,{className:l.modal,isOpen:!0,title:"Public dashboards",onDismiss:c},E?e.createElement("div",{className:l.loading},e.createElement(pe.u,{text:"Loading..."})):v?.map(m=>e.createElement("div",{key:m.dashboardUid,className:l.listItem,"data-testid":ye.listItem(m.dashboardUid)},e.createElement("p",{className:l.dashboardTitle},m.dashboardTitle),e.createElement("div",{className:l.urlsContainer},e.createElement("a",{rel:"noreferrer",target:"_blank",className:(0,s.cx)("external-link",l.url),href:(0,de._M)(m.publicDashboardAccessToken),onClick:c},"Public dashboard URL"),e.createElement("span",{className:l.urlsDivider},"\u2022"),e.createElement("a",{className:(0,s.cx)("external-link",l.url),href:(0,de.Ez)(m.dashboardUid),onClick:c},"Public dashboard settings")),e.createElement("hr",{className:l.divider}))))},r=({email:t})=>e.createElement(ie.JY,null,({showModal:c,hideModal:l})=>e.createElement(x.zx,{variant:"secondary",size:"sm",icon:"question-circle",title:"Open dashboards list","aria-label":"Open dashboards list",onClick:()=>c(n,{email:t,onDismiss:l})})),d=t=>({modal:(0,s.css)`
    width: 590px;
  `,loading:(0,s.css)`
    display: flex;
    justify-content: center;
  `,listItem:(0,s.css)`
    display: flex;
    flex-direction: column;
    gap: ${t.spacing(.5)};
  `,divider:(0,s.css)`
    margin: ${t.spacing(1.5,0)};
    color: ${t.colors.text.secondary};
  `,urlsContainer:(0,s.css)`
    display: flex;
    gap: ${t.spacing(.5)};

    ${t.breakpoints.down("sm")} {
      flex-direction: column;
    }
  `,urlsDivider:(0,s.css)`
    color: ${t.colors.text.secondary};
    ${t.breakpoints.down("sm")} {
      display: none;
    }
  `,dashboardTitle:(0,s.css)`
    font-size: ${t.typography.body.fontSize};
    font-weight: ${t.typography.fontWeightBold};
    margin-bottom: 0;
  `,url:(0,s.css)`
    font-size: ${t.typography.body.fontSize};
  `}),y=({user:t,onDismiss:c})=>{const l=(0,f.wW)(N);return e.createElement(ce.u,{className:l.modal,isOpen:!0,title:"Delete",onDismiss:c},e.createElement("p",{className:l.description},"The user ",t.email," is currently present in ",t.totalDashboards," public dashboard(s). If you wish to remove this user, please navigate to the settings of the corresponding public dashboard."),e.createElement(ce.u.ButtonRow,null,e.createElement(x.zx,{type:"button",variant:"secondary",onClick:c,fill:"outline"},"Close")))},U=({user:t})=>e.createElement(ie.JY,null,({showModal:c,hideModal:l})=>e.createElement(x.zx,{size:"sm",variant:"destructive",onClick:()=>c(y,{user:t,onDismiss:l}),icon:"times","aria-label":"Delete user",title:"Delete user"})),N=t=>({modal:(0,s.css)`
    width: 500px;
  `,description:(0,s.css)`
    font-size: ${t.typography.body.fontSize};
    margin: 0;
  `}),W=C.wl.pages.UserListPage.publicDashboards,_=()=>{const{data:t,isLoading:c}=(0,he.jI)();return e.createElement(Q.T.Contents,{isLoading:c},e.createElement("table",{className:"filter-table form-inline","data-testid":W.container},e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null,"Email"),e.createElement("th",null,e.createElement("span",null,"Activated "),e.createElement(L.u,{placement:"top",content:"Earliest time user has been an active user to a dashboard"},e.createElement(P.J,{name:"question-circle"}))),e.createElement("th",null,"Origin"),e.createElement("th",null,"Role"),e.createElement("th",null))),e.createElement("tbody",null,t?.map(l=>e.createElement("tr",{key:l.email},e.createElement("td",{className:"max-width-10"},e.createElement("span",{className:"ellipsis",title:l.email},l.email)),e.createElement("td",{className:"max-width-10"},l.firstSeenAtAge),e.createElement("td",{className:"max-width-10"},e.createElement(S.Lh,{spacing:"sm"},e.createElement("span",null,l.totalDashboards," dashboard(s)"),e.createElement(r,{email:l.email}))),e.createElement("td",{className:"max-width-10"},e.createElement(B.V,{name:"Viewer",colorIndex:19})),e.createElement("td",{className:"text-right"},e.createElement(U,{user:l})))))))};var ve=(t=>(t.ADMIN="admin",t.ORG="org",t.PUBLIC_DASHBOARDS="public-dashboards",t))(ve||{});const $=C.wl.pages.UserListPage,fe=({view:t,setView:c})=>e.createElement(M.O,{label:"Public dashboard users",active:t==="public-dashboards",onChangeTab:()=>c("public-dashboards"),"data-testid":$.tabs.publicDashboardsUsers}),Ue={admin:e.createElement(o,null),org:e.createElement(j.UsersListPageContent,null),["public-dashboards"]:e.createElement(_,null)};function me(){const t=(0,f.wW)(Ae),c=z.contextSrv.hasPermission(F.AccessControlAction.UsersRead),l=z.contextSrv.hasPermission(F.AccessControlAction.OrgUsersRead),v=!!O.config.featureToggles.publicDashboards&&!!O.config.featureToggles.publicDashboardsEmailSharing&&(0,G.v)("publicDashboardsEmailSharing"),[E,m]=(0,e.useState)(()=>c?"admin":l?"org":null),I=l&&c;return e.createElement(Q.T,{navId:"global-users"},I?e.createElement(b.J,{className:t.tabsMargin},e.createElement(M.O,{label:"All users",active:E==="admin",onChangeTab:()=>m("admin"),"data-testid":$.tabs.allUsers}),e.createElement(M.O,{label:"Organization users",active:E==="org",onChangeTab:()=>m("org"),"data-testid":$.tabs.orgUsers}),v&&e.createElement(fe,{view:E,setView:m})):v&&e.createElement(b.J,{className:t.tabsMargin},e.createElement(M.O,{label:"Users",active:E==="org",onChangeTab:()=>m("org"),"data-testid":$.tabs.users}),e.createElement(fe,{view:E,setView:m})),E?Ue[E]:e.createElement(j.UsersListPageContent,null))}const Ae=t=>({tabsMargin:(0,s.css)({marginBottom:t.spacing(3)})})},27994:(Le,K,a)=>{a.d(K,{q:()=>re});var s=a(41407),e=a(39953),C=a(28888),O=a(82803),G=a(99503),M=a(51064),f=a(4919),b=a(12223),z=a(94696),Q=a(39017),F=a(32840),j=a(69865),ee=a(12190),te=a(10639),ae=a(4171),x=a(90139),se=a(50820),R=a(21308),B=a(57721),L=a(65741);const P=`This user's role is not editable because it is synchronized from your auth provider.
  Refer to the Grafana authentication docs for details.`,S=u=>{let g=!R.Vt.hasPermissionInMetadata(B.AccessControlAction.OrgUsersWrite,u);return((Array.isArray(u.authLabels)&&u.authLabels.length>0?u.authLabels[0]:"")!=="grafana.com"||se.default.featureToggles.gcomOnlyExternalOrgRoleSync)&&(g=u?.isExternallySynced||g),g},ne=C.wl.pages.UserListPage.UsersListPage,re=({users:u,orgId:g,onRoleChange:D,onRemoveUser:h,fetchData:A,changePage:w,page:T,totalPages:Z})=>{const[J,V]=(0,e.useState)(null),[X,le]=(0,e.useState)([]),k=(0,O.wW)(Y);(0,e.useEffect)(()=>{async function o(){try{if(R.Vt.hasPermission(B.AccessControlAction.ActionRolesList)){let p=await(0,ae.ul)(g);le(p)}}catch{console.error("Error loading options")}}R.Vt.licensedAccessControlEnabled()&&o()},[g]);const Ee=(0,e.useMemo)(()=>[{id:"avatarUrl",header:"",cell:({cell:{value:o}})=>o&&e.createElement(G.q,{src:o,alt:"User avatar"})},{id:"login",header:"Login",cell:({cell:{value:o}})=>e.createElement("div",null,o),sortType:"string"},{id:"email",header:"Email",cell:({cell:{value:o}})=>o,sortType:"string"},{id:"name",header:"Name",cell:({cell:{value:o}})=>o,sortType:"string"},{id:"lastSeenAtAge",header:"Last active",cell:({cell:{value:o}})=>o,sortType:(o,p)=>new Date(o.original.lastSeenAt).getTime()-new Date(p.original.lastSeenAt).getTime()},{id:"role",header:"Role",cell:({cell:{value:o},row:{original:p}})=>{const oe=S(p);return R.Vt.licensedAccessControlEnabled()?e.createElement(te.R,{userId:p.userId,orgId:g,roleOptions:X,basicRole:o,onBasicRoleChange:q=>D(q,p),basicRoleDisabled:oe,basicRoleDisabledMessage:P}):e.createElement(L.A,{"aria-label":"Role",value:o,disabled:oe,onChange:q=>D(q,p)})}},{id:"info",header:"",cell:H},{id:"authLabels",header:"Origin",cell:({cell:{value:o}})=>e.createElement(e.Fragment,null,Array.isArray(o)&&o.length>0&&e.createElement(x.e,{label:o[0],removeIcon:!1,count:0}))},{id:"isDisabled",header:"",cell:({cell:{value:o}})=>e.createElement(e.Fragment,null,o&&e.createElement(M.V,{colorIndex:9,name:"Disabled"}))},{id:"delete",header:"",cell:({row:{original:o}})=>R.Vt.hasPermissionInMetadata(B.AccessControlAction.OrgUsersRemove,o)&&e.createElement(f.zx,{size:"sm",variant:"destructive",onClick:()=>{V(o)},icon:"times","aria-label":`Delete user ${o.name}`})}],[g,X,D]);return e.createElement(b.wc,{spacing:"md","data-testid":ne.container},e.createElement("div",{className:k.wrapper},e.createElement(z.e,{columns:Ee,data:u,getRowId:o=>String(o.userId),fetchData:A}),e.createElement(b.Lh,{justify:"flex-end"},e.createElement(Q.t,{onNavigate:w,currentPage:T,numberOfPages:Z,hideWhenSinglePage:!0}))),!!J&&e.createElement(F.s,{body:`Are you sure you want to delete user ${J?.login}?`,confirmText:"Delete",title:"Delete",onDismiss:()=>{V(null)},isOpen:!0,onConfirm:()=>{J&&(h(J),V(null))}}))},H=({row:{original:u}})=>{const g=(0,O.wW)(Y);return S(u)&&e.createElement("div",{className:g.row},e.createElement(j.u,{content:P},e.createElement(ee.J,{name:"question-circle",className:g.icon})))},Y=u=>({row:(0,s.css)({display:"flex",alignItems:"center"}),icon:(0,s.css)({marginLeft:u.spacing(1)}),wrapper:(0,s.css)({display:"flex",flexDirection:"column",overflowX:"auto",overflowY:"hidden",minHeight:"100vh",width:"100%","& > div":{overflowX:"unset",marginBottom:u.spacing(2)}})})},45894:(Le,K,a)=>{a.r(K),a.d(K,{UsersListPageContent:()=>de,UsersListPageUnconnected:()=>ie,default:()=>ye});var s=a(39953),e=a(89772),C=a(52807),O=a(13253),G=a(21308),M=a(27994),f=a(36210),b=a(4919),z=a(65531);const Q={revokeInvite:z.GY},F=(0,e.connect)(null,Q);class j extends s.PureComponent{render(){const{invitee:r,revokeInvite:d}=this.props;return s.createElement("tr",null,s.createElement("td",null,r.email),s.createElement("td",null,r.name),s.createElement("td",{className:"text-right"},s.createElement(f.m,{icon:"copy",variant:"secondary",size:"sm",getText:()=>r.url},"Copy Invite"),"\xA0"),s.createElement("td",null,s.createElement(b.zx,{variant:"destructive",size:"sm",icon:"times",onClick:()=>d(r.code),"aria-label":"Revoke Invite"})))}}const ee=F(j);class te extends s.PureComponent{render(){const{invitees:r}=this.props;return s.createElement("table",{className:"filter-table form-inline"},s.createElement("thead",null,s.createElement("tr",null,s.createElement("th",null,"Email"),s.createElement("th",null,"Name"),s.createElement("th",null),s.createElement("th",{style:{width:"34px"}}))),s.createElement("tbody",{"data-testid":"InviteesTable-body"},r.map((d,y)=>s.createElement(ee,{key:`${d.id}-${y}`,invitee:d}))))}}var ae=a(38874),x=a(91969);const{selectAll:se,selectById:R,selectTotal:B}=x.selectors,L=(n,r)=>r,P=(0,ae.P1)([se,L],(n,r)=>{const d=new RegExp(r,"i");return n.filter(U=>d.test(U.name)||d.test(U.email))});var S=a(69171),ne=a(41245),re=a(20454),H=a(50820),Y=a(57721),u=a(86832),g=a(4148),D=a(26893),h=a(74311);function A(){return async(n,r)=>{try{const{perPage:d,page:y,searchQuery:U,sort:N}=r().users,W=await(0,g.i)().get("/api/org/users/search",(0,D.y)({perpage:d,page:y,query:U,sort:N}));n((0,h.eT)(W))}catch{(0,h.k7)()}}}const w=(0,u.debounce)(n=>n(A()),300);function T(n){return async r=>{await(0,g.i)().patch(`/api/org/users/${n.userId}`,{role:n.role}),r(A())}}function Z(n){return async r=>{await(0,g.i)().delete(`/api/org/users/${n}`),r(A())}}function J(n){return async r=>{r((0,h.tZ)()),r((0,h.PJ)(n)),r(A())}}function V({sortBy:n}){const r=n.length?`${n[0].id}-${n[0].desc?"desc":"asc"}`:void 0;return async d=>{d((0,h.tZ)()),d((0,h.UL)(r)),d(A())}}function X(n){return async r=>{r((0,h.tZ)()),r((0,h.w4)(n)),w(r)}}const le=n=>{const r=new RegExp(n.searchQuery,"i");return n.users.filter(d=>r.test(d.login)||r.test(d.email)||r.test(d.name))},k=n=>n.searchQuery;function Ee(n){return{searchQuery:k(n.users),pendingInvitesCount:B(n.invites),externalUserMngLinkName:n.users.externalUserMngLinkName,externalUserMngLinkUrl:n.users.externalUserMngLinkUrl}}const o={changeSearchQuery:X},q=(0,e.connect)(Ee,o)(({externalUserMngLinkName:n,externalUserMngLinkUrl:r,searchQuery:d,pendingInvitesCount:y,changeSearchQuery:U,onShowInvites:N,showInvites:W})=>{const _=[{label:"Users",value:"users"},{label:`Pending Invites (${y})`,value:"invites"}],$=G.Vt.hasPermission(Y.AccessControlAction.OrgUsersAdd)&&!(H.default.disableLoginForm&&H.default.externalUserMngInfo);return s.createElement("div",{className:"page-action-bar","data-testid":"users-action-bar"},s.createElement(S._,{grow:!0},s.createElement(ne.H,{value:d,onChange:U,placeholder:"Search user by login, email or name"})),y>0&&s.createElement("div",{style:{marginLeft:"1rem"}},s.createElement(re.S,{value:W?"invites":"users",options:_,onChange:N})),$&&s.createElement(b.Qj,{href:"org/users/invite"},"Invite"),r&&s.createElement(b.Qj,{href:r,target:"_blank",rel:"noopener"},n))});function he(n){const r=k(n.users);return{users:le(n.users),searchQuery:k(n.users),page:n.users.page,totalPages:n.users.totalPages,perPage:n.users.perPage,invitees:P(n.invites,r),externalUserMngInfo:n.users.externalUserMngInfo,isLoading:n.users.isLoading}}const ce={loadUsers:A,fetchInvitees:z.nW,changePage:J,changeSort:V,updateUser:T,removeUser:Z},pe=(0,e.connect)(he,ce),ie=({users:n,page:r,totalPages:d,invitees:y,externalUserMngInfo:U,isLoading:N,loadUsers:W,fetchInvitees:_,changePage:ve,updateUser:$,removeUser:fe,changeSort:Ue})=>{const[me,Ae]=(0,s.useState)(!1),t=U?(0,C.a)(U):"";(0,s.useEffect)(()=>{W(),_()},[_,W]);const c=(m,I)=>{$({...I,role:m})},l=m=>fe(m.userId),v=()=>{Ae(!me)},E=()=>me?s.createElement(te,{invitees:y}):s.createElement(M.q,{users:n,orgId:G.Vt.user.orgId,onRoleChange:c,onRemoveUser:l,fetchData:Ue,changePage:ve,page:r,totalPages:d});return s.createElement(O.T.Contents,{isLoading:!N},s.createElement(q,{onShowInvites:v,showInvites:me}),t&&s.createElement("div",{className:"grafana-info-box",dangerouslySetInnerHTML:{__html:t}}),N&&E())},de=pe(ie);function ye(){return s.createElement(O.T,{navId:"users"},s.createElement(de,null))}}}]);

//# sourceMappingURL=UserListPage.3769692c55e27b77ee4f.js.map