react-toolkits 2.0.1 → 2.2.0

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/lib/index.js CHANGED
@@ -1,25 +1,2658 @@
1
- import { memo, useMemo, useEffect, lazy, useContext, useState, useRef, Suspense, createContext, Fragment as Fragment$1, forwardRef, useImperativeHandle, cloneElement, useCallback } from 'react';
2
- import { pick, has, template, get, isEqual } from 'lodash-es';
1
+ import { memo, useMemo, useEffect, lazy, useContext, useState, useRef, createContext, Fragment as Fragment$1, forwardRef, useImperativeHandle, cloneElement, useCallback } from 'react';
2
+ import { has, template, get, isEqual } from 'lodash-es';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
  import { create, createStore } from 'zustand';
5
- import * as Te from 'antd';
6
- import { Menu, Modal, Form, theme, Space, Input, Tag, Typography, Spin, Table, Button, Result, Dropdown, Divider, Card, Select, Alert, App, Row, Col, Breadcrumb, Skeleton, Descriptions, Tooltip, Empty, Collapse, Checkbox } from 'antd';
5
+ import * as Antd2 from 'antd';
6
+ import { Menu, Modal, Form, App, theme, Space, Input, Tag, Typography, Spin, Result, Table, Button, Dropdown, Divider, Card, Select, Alert, Row, Col, Breadcrumb, Skeleton, Descriptions, Tooltip, Empty, Collapse, Checkbox } from 'antd';
7
+ import logoUrl from './logo-L6MFCL6M.png';
8
+ import { useLocation, Link, useNavigate, Routes, Route, Navigate, useParams } from 'react-router-dom';
9
+ import qs from 'query-string';
10
+ import useFetch from 'use-http';
7
11
  import { jwtDecode } from 'jwt-decode';
8
- import Xs from 'swr/immutable';
9
12
  import { persist, createJSONStorage } from 'zustand/middleware';
10
- import ro from 'query-string';
11
13
  import { flushSync } from 'react-dom';
12
14
  import { createRoot } from 'react-dom/client';
13
- import Qe, { mutate, unstable_serialize } from 'swr';
14
- import ue from 'swr/mutation';
15
+ import useSWR3, { mutate, unstable_serialize } from 'swr';
16
+ import useSWRMutation from 'swr/mutation';
15
17
  import { PlusOutlined, LogoutOutlined, UserOutlined, MenuUnfoldOutlined, MenuFoldOutlined, UserAddOutlined, UsergroupAddOutlined } from '@ant-design/icons';
16
18
  import { produce } from 'immer';
17
- import { useLocation, useNavigate, Navigate, Link, Routes, Route, useParams } from 'react-router-dom';
18
- import I1 from 'swr/infinite';
19
+ import useSWRInfinite from 'swr/infinite';
19
20
  import { Transition } from 'react-transition-group';
20
- import R1 from './logo-L6MFCL6M.png';
21
- import ta from 'dayjs';
21
+ import dayjs from 'dayjs';
22
22
 
23
- var Wt=Object.defineProperty;var Cs=(e,t,o)=>t in e?Wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var b=(e,t)=>()=>(e&&(t=e(e=0)),t);var rt=(e,t)=>{for(var o in t)Wt(e,o,{get:t[o],enumerable:!0});};var at=(e,t,o)=>Cs(e,typeof t!="symbol"?t+"":t,o);var Ps,ze,nt=b(()=>{Ps=createContext(void 0),ze=Ps;});var Ts,qt,Kt=b(()=>{Ts={global:{noEntitlement:"\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u3002",name:"\u540D\u79F0",creationTime:"\u521B\u5EFA\u65F6\u95F4",operation:"\u64CD\u4F5C",update:"\u66F4\u65B0",edit:"\u7F16\u8F91",delete:"\u5220\u9664",selectAll:"\u5168\u9009",game:"\u6E38\u620F",user:"\u7528\u6237",role:"\u89D2\u8272",username:"\u7528\u6237\u540D",password:"\u5BC6\u7801",label:"\u6807\u7B7E",method:"\u65B9\u6CD5",route:"\u8DEF\u7531",request:"\u8BF7\u6C42",response:"\u54CD\u5E94",add:"\u6DFB\u52A0",signIn:"\u767B\u5F55"},SignIn:{title:"\u767B\u5F55\u65B9\u5F0F",thirdParty:"\u7B2C\u4E09\u65B9\u767B\u5F55",signInWithIDass:"IDass \u767B\u5F55",notRegistered:"\u60A8\u8FD8\u672A\u5728\u5E73\u53F0\u6CE8\u518C\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",welcome:"\u6B22\u8FCE"},NotFound:{subTitle:"\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728",buttonText:"\u8FD4\u56DE\u9996\u9875"},FilterFormWrapper:{confirmText:"\u67E5\u8BE2",resetText:"\u91CD\u7F6E"},FormModal:{confirmText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88"},GameSelect:{label:"\u5F53\u524D\u6E38\u620F",placeholder:"\u8BF7\u9009\u62E9\u6E38\u620F"},RequireGame:{description:"\u8BF7\u9009\u62E9\u6E38\u620F"},UserWidget:{signOutText:"\u767B\u51FA"},UserList:{createTitle:"\u521B\u5EFA\u7528\u6237",createSuccessfully:"\u7528\u6237\u521B\u5EFA\u6210\u529F",updateTitle:"\u66F4\u65B0\u7528\u6237",updateSuccessfully:"\u7528\u6237\u66F4\u65B0\u6210\u529F",deleteTitle:"\u5220\u9664\u7528\u6237",deleteContent:"\u786E\u5B9A\u8981\u5220\u9664\u7528\u6237 <%= user %> \u5417\uFF1F",deleteSuccessfully:"\u7528\u6237\u5220\u9664\u6210\u529F"},RoleList:{createTitle:"\u521B\u5EFA\u89D2\u8272",createSuccessfully:"\u89D2\u8272\u521B\u5EFA\u6210\u529F",updateTitle:"\u66F4\u65B0\u89D2\u8272",updateSuccessfully:"\u89D2\u8272\u66F4\u65B0\u6210\u529F",deleteTitle:"\u5220\u9664\u89D2\u8272",deleteContent:"\u786E\u5B9A\u8981\u5220\u9664\u89D2\u8272 <%= role %> \u5417\uFF1F",deleteSuccessfully:"\u89D2\u8272\u5220\u9664\u6210\u529F"},PermissionList:{failedDescription:"\u83B7\u53D6\u6743\u9650\u5217\u8868\u5931\u8D25",baseSectionTitle:"\u5E73\u53F0\u57FA\u7840\u6743\u9650",gameSectionTitle:"\u6E38\u620F\u6743\u9650",gameSectionDescription:"\u8BF7\u5148\u9009\u62E9\u6E38\u620F",gameSelectPlaceholder:"\u8BF7\u5148\u9009\u62E9\u6E38\u620F",removeText:"\u79FB\u9664",addText:"\u6DFB\u52A0\u6E38\u620F\u6743\u9650"},RoleDetail:{title:"\u89D2\u8272\u8BE6\u60C5"},InfiniteList:{loadingText:"\u52A0\u8F7D\u4E2D",reachEndText:"\u5DF2\u7ECF\u5230\u5E95\u4E86",loadMoreText:"\u52A0\u8F7D\u66F4\u591A"}},qt=Ts;});function x(){let e=useContext(ze),t={...qt,...e};return {t:useMemo(()=>(s,r)=>has(t,s)?template(get(t,s))(r):s,[t])}}var Qt=b(()=>{nt();Kt();});var Fs,Ht,I=b(()=>{nt();Qt();Fs=e=>{let{locale:t={},children:o}=e,s=useMemo(()=>({...t}),[t]);return jsx(ze.Provider,{value:s,children:o})},Ht=Fs;});var De,it=b(()=>{De={appTitle:"",menuItems:[],hideGameSelect:!1,usePermissionApiV2:!1,signInUrl:"",signInSuccessRedirectUrl:"/"};});var zs,lt,jt=b(()=>{it();zs=createContext(De),lt=zs;});function S(){return useContext(lt)}var be,Jt,ct,L=b(()=>{I();it();jt();be=createStore(()=>De);Jt=e=>{let{children:t,locale:o,...s}=e,a={...S(),...s},i=o?jsx(Ht,{locale:o,children:t}):t;return useEffect(()=>{be.setState(a);},[a]),jsx(lt.Provider,{value:a,children:i})};process.env.NODE_ENV!=="production"&&(Jt.displayName="ContextProvider");ct=Jt;});var Js,_e,Ee=b(()=>{I();Js=e=>{let{extras:t,isConfirming:o,onConfirm:s,onReset:r,children:a,buttonsAlign:i="left"}=e,{t:f}=x(),{token:{colorFillAlter:n,lineWidth:m,lineType:l,colorBorder:h,borderRadiusLG:d}}=theme.useToken();return jsx("div",{style:{maxWidth:"none",background:n,borderWidth:m,borderStyle:l,borderColor:h,borderRadius:d,padding:24,marginBottom:24},children:jsxs("div",{className:"flex",children:[jsx("div",{className:`${i==="right"?"flex-1":"flex-grow-0"}`,children:a}),jsx("div",{className:"ml-4",children:jsxs(Space,{children:[jsx(Button,{type:"primary",loading:o,onClick:s,children:f("FilterFormWrapper.confirmText")}),t?.map(g=>jsx(Fragment$1,{children:g.children},g.key)),jsx(Button,{onClick:r,children:f("FilterFormWrapper.resetText")})]})})]})})},_e=Js;});function t1(e=!1){let{usePermissionApiV2:t}=S();Xs(e?null:t?"/api/usystem/user/checkV2":"/api/usystem/user/check",o=>C(o,{method:"POST",body:{permissions:["100001"]},isGlobal:!0}),{suspense:!0});}var Y,Ce=b(()=>{L();W();Y=create()(persist((e,t,o)=>({token:"",getUser:()=>{try{return jwtDecode(t().token)}catch{return null}},setToken:s=>e({token:s}),clearToken:()=>{t().setToken(""),o.persist.clearStorage();}}),{name:"token",partialize:e=>({token:e.token})}));});async function C(e,t={}){let o=Object.assign(t,{responseType:t.responseType??"json"}),{body:s,params:r,responseType:a,isGlobal:i,...f}=o,n=ro.parseUrl(e),m=Object.assign({},n.query,r),l={skipNull:!0,skipEmptyString:!0,strict:!0,encode:!0},h=ro.stringify(m,l);e=h?`${n.url}?${h}`:e;let d=new Headers(o.headers),c=Y?.getState()?.token;if(c&&d.set("Authorization",`Bearer ${c}`),be.getState().usePermissionApiV2)if(i)d.set("App-ID","global");else {let y=q.getState().game;y&&d.set("App-ID",String(y.id));}a==="blob"?d.append("Accept","application/octet-stream"):a==="json"&&d.append("Accept","application/json");let g=!!(s&&typeof s=="object"&&!(s instanceof FormData));g&&d.set("Content-Type","application/json");let _=Object.assign(f,{headers:d,body:g?JSON.stringify(s):s}),u=await fetch(e,_);if(!u.ok)throw new we({status:u.status});let p=be.getState().responseInterceptor;if(typeof p=="function")return await p(u,o);{let y;if(a==="blob")y=await u.blob();else if(a==="json"){let w=await u.json();if(w.code===0||w.status===0)y=w.data;else throw new we({code:w.code,status:u.status,message:w.msg})}else y=await u.text();return {...pick(u,["headers","status","statusText","url"]),data:y}}}var we,W=b(()=>{L();ce();Ce();we=class extends Error{constructor(o){super(o?.message);at(this,"status");at(this,"code");this.status=o.status,this.code=o.code;}};});var mt,dt=b(()=>{mt={getItem:e=>sessionStorage.getItem(e)||localStorage.getItem(e),setItem:(e,t)=>{sessionStorage.setItem(e,t),localStorage.setItem(e,t);},removeItem:async e=>{sessionStorage.removeItem(e),localStorage.removeItem(e);}};});var q,ut=b(()=>{W();dt();q=create()(persist((e,t)=>({initialized:!1,isLoading:!1,switching:!1,game:null,games:[],async setGame(o){let{initialized:s,refetchGames:r}=t();s||await r();let a=(t().games??[]).find(i=>String(i.id)===String(o));e({game:a??null});},async refetchGames(){if(!t().isLoading)try{e({isLoading:!0});let o=await C("/api/usystem/game/all");e({games:o.data});}finally{e({initialized:!0,isLoading:!1});}},setSwitching:o=>e({switching:o})}),{name:"game",storage:createJSONStorage(()=>mt),partialize:e=>({game:e.game})}));});var p1,m1,Ue,no=b(()=>{L();I();ut();(({Text:p1}=Typography)),m1=()=>{let{t:e}=x(),{gameFilter:t}=S(),{game:o,games:s,isLoading:r,refetchGames:a,setGame:i}=q();useEffect(()=>{a();},[]);let f=(s??[])?.filter(m=>t?.(m)??!0)?.map(m=>({label:m.name,value:String(m.id)})),n=async m=>{i(m);};return jsxs(Space,{children:[jsx(p1,{children:e("GameSelect.label")}),jsx(Select,{showSearch:!0,optionFilterProp:"label",value:String(o?.id??""),placeholder:e("GameSelect.placeholder"),loading:r,style:{width:"200px"},options:f,onChange:n})]})},Ue=m1;});var ce=b(()=>{no();ut();});function x1(e){let t=document.createElement("div"),o=createRoot(t);return new Promise(s=>{setTimeout(()=>{flushSync(()=>{o.render(e);}),s(t.innerHTML);});})}var h1,b1,Pe,Ne=b(()=>{h1=e=>{let t=/(<[^>]*>)/;return e.split(t).filter(o=>o!=="")};b1=e=>{let{texts:t,children:o}=e,[s,r]=useState("");return useEffect(()=>{x1(o).then(a=>{let i=h1(a);for(let f of t)for(let n=0;n<i.length;n++)i[n]=i[n].replace(String(f),`<span style='color: #DC143C;'>${f}</span>`);r(i.join(""));});},[o,t]),jsx("div",{dangerouslySetInnerHTML:{__html:s}})},Pe=b1;});function pe(e,t,o){let{usePermissionApiV2:s}=S(),{data:r,isValidating:a,isLoading:i}=Qe(e.length>0?[s?"/api/usystem/user/checkV2":"/api/usystem/user/check",e]:null,([f])=>C(f,{method:"POST",body:{permissions:e},isGlobal:t}).then(n=>n.data?.has_all?e.reduce((m,l)=>(m[l]=!0,m),{}):e.reduce((m,l)=>(m[l]=n.data?.[l]??!1,m),{})),{revalidateOnFocus:!1,...o});return {data:r,isValidating:a,isLoading:i}}function N(e,t,o){let{data:s,isValidating:r,isLoading:a}=pe(e?[e]:[],t,o);return e===void 0?{accessible:!0,isValidating:!1,isLoading:!1}:{accessible:s?.[e]??!1,isValidating:r,isLoading:a}}var X=b(()=>{L();W();});var xr,K,Co=b(()=>{I();X();xr=e=>{let{children:t,code:o,showLoading:s,isGlobal:r,disabled:a,...i}=e,{data:f,isLoading:n}=pe(Array.isArray(o)?o:[o],r),{t:m}=x();return n?jsx(Button,{loading:s,disabled:!s,...i,children:t}):Object.values(f??{})?.some(Boolean)?jsx(Button,{disabled:a,...i,children:t}):jsx(Tooltip,{defaultOpen:!1,title:m("global.noEntitlement"),children:jsx(Button,{disabled:!0,...i,children:t})})},K=xr;});var qe=b(()=>{Co();});var Q,Me=b(()=>{Q=create((e,t)=>({keyMap:new Map,payloadMap:new Map,getPayload(o){return t().payloadMap.get(o)??{page:1}},setPayload(o,s){e(r=>({payloadMap:new Map(r.payloadMap).set(o,s)}));},refetch(o,s){let r=t().getPayload(o),a={...r,...s};isEqual(r,a)?t().mutate(o):t().setPayload(o,a);},mutate(o,s,r){let a=t().keyMap.get(o);return mutate(a,s,r)},jump(o,s){t().getPayload(o).page!==s?t().setPayload(o,{page:s}):t().mutate(o);}}));});var St,Er,Ur,ee,wo=b(()=>{X();W();L();Ee();ce();I();Me();St=(r=>(r[r.Confirm=0]="Confirm",r[r.Reset=1]="Reset",r[r.Jump=2]="Jump",r[r.Init=3]="Init",r))(St||{}),Er=(e,t)=>{let o={method:"GET",defaultSize:10,refreshInterval:0,getTotal:v=>v?.total,getDataSource:v=>v?.list,...e},{url:s,code:r,headers:a,isGlobal:i,onePage:f,method:n,buttonsAlign:m,defaultSize:l,refreshInterval:h,tableExtra:d,extra:c,renderForm:g,afterSuccess:_,body:u,params:p,getTotal:y,getDataSource:w,...E}=o,{t:A}=x(),[T]=Form.useForm(),{accessible:O,isLoading:ye}=N(r,i),U=useRef(3),H=useRef(),{game:j}=q(),{usePermissionApiV2:M}=S(),[$,V]=useState(!1),{keyMap:ge,getPayload:G,refetch:Z}=Q(),{page:J,size:B=l,formValue:ne=T.getFieldsValue()}=G(s),Et={page:J,size:B,formValue:ne},et=useMemo(()=>typeof u=="function"?u(Et):n==="POST"?{...ne,...f?null:{page:J,size:B},...u}:null,[f,n,J,B,ne,u]),tt=useMemo(()=>typeof p=="function"?p(Et):n==="GET"?{...ne,...f?null:{page:J,size:B},...p}:null,[f,n,J,B,ne,p]),ot=useMemo(()=>{let v=new Headers(a);return M&&(i?v.set("App-ID","global"):j&&v.set("App-ID",String(j.id))),v},[M,i,j,a]),hs=useMemo(()=>{if(!O||!$)return null;let xe=unstable_serialize({method:n,url:s,body:et,params:tt,headers:ot});return ge.set(s,xe),xe},[n,s,et,tt,ot,$,O]),st=useRef(!1),{data:he,isValidating:Ut}=Qe(hs,async()=>(await C(s,{method:n,body:et,params:tt,headers:ot})).data,{shouldRetryOnError:!1,revalidateOnFocus:!1,refreshInterval:st.current?h:0,onSuccess(v){st.current=!0,_?.(U.current,v);},onError(){st.current=!1;}}),Nt=useMemo(()=>w(he,T),[he,T,w]),At=useMemo(()=>y(he),[he,y]),xs=useMemo(()=>!f&&{showSizeChanger:!0,showQuickJumper:!0,current:J,pageSize:B,total:At,onChange:async(v,xe)=>{U.current=2,Z(s,{page:v,size:xe});}},[J,B,f,At]),Bt=async()=>{U.current=0,Z(s,{page:1,formValue:T.getFieldsValue()});try{await T.validateFields(),V(!0);}catch{V(!1);}},bs=async()=>{U.current=1,T.resetFields(),Z(s,{page:1,formValue:T.getFieldsValue()});try{await T.validateFields({validateOnly:!0}),V(!0);}catch{V(!1);}};if(useEffect(()=>{let v=setTimeout(async()=>{try{T.resetFields(),await T.validateFields({validateOnly:!0}),V(!0);}catch{V(!1);}},0);return ()=>{clearTimeout(v);}},[T,j]),useImperativeHandle(t,()=>({response:he,dataSource:Nt,form:T})),ye)return jsx(Spin,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:300}});if(!O)return jsx(Result,{status:403,subTitle:A("global.noEntitlement")});let Ss=typeof g=="function"&&jsx(_e,{buttonsAlign:m,isConfirming:Ut,onReset:bs,onConfirm:Bt,children:cloneElement(g(T),{onKeyUp:v=>{v.key==="Enter"&&Bt();}})}),_s=c&&jsx("div",{className:"mt-2 mb-4",children:c({form:T,data:H.current})});return jsxs("div",{children:[Ss,_s,typeof d=="function"?d(T):d,jsx(Table,{...E,dataSource:Nt,loading:Ut,pagination:xs})]})},Ur=forwardRef(Er),ee=Ur;});var ve=b(()=>{wo();Me();});function _t(e){let{content:t,onConfirm:o,...s}=e,r=useMemo(()=>++Kr,[]),a=Po(),i=a.getOpen(r),[f,n]=useState(!1),m=typeof t=="function",l=()=>{a.show(r);},h=()=>{a.hide(r);},g=jsx(Modal,{...s,open:i,confirmLoading:f,onOk:async()=>{try{n(!0),await o?.();}finally{n(!1);}},onCancel:()=>{h();},children:m?t({hide:h}):t});return {uuid:r,show:l,hide:h,modal:g}}var Po,Kr,Ct=b(()=>{Po=create((e,t)=>({open:new Map,getOpen:o=>t().open.get(o)??!1,show(o){e({open:new Map(t().open).set(o,!0)});},hide(o){e({open:new Map(t().open).set(o,!1)});},hideAll(){e({open:new Map});}})),Kr=0;});function ke(e){let{content:t,form:o,formProps:s,onConfirm:r,...a}=e,[i,f]=useState({}),[n]=Form.useForm();n=o||n;let m=typeof t=="function",l=async()=>{let p=await n.validateFields();await r?.(p,i),g();},h=()=>{n.resetFields();},{uuid:d,show:c,hide:g,modal:_}=_t({...a,content:p=>jsx(Form,{...s,form:n,children:m?t(i,p):t}),onConfirm:l,afterClose:h});return {uuid:d,show:({initialValues:p,extraValues:y}={})=>{y&&f(y),p&&n.setFieldsValue(p),c();},hide:g,modal:_}}var Ke=b(()=>{Ct();});function ko(){return Qe("/api/usystem/user/allPermssions",e=>C(e,{isGlobal:!0}).then(t=>t.data))}function Lo(){return Qe("/api/usystem/user/allPermissionsV2",e=>C(e,{isGlobal:!0}).then(t=>t.data))}function Ro(){let{accessible:e}=N("200005",!0);return Qe(e?"/api/usystem/role/all":null,t=>C(t,{isGlobal:!0}).then(o=>o.data))}function Fo(e){let{usePermissionApiV2:t}=S();return Qe(`/api/usystem/role/${t?"infoV2":"info"}?name=${e}`,o=>C(o,{isGlobal:!0}).then(s=>s.data))}function Go(){let{usePermissionApiV2:e}=S();return ue(e?"/api/usystem/role/createV2":"/api/usystem/role/create",(t,{arg:o})=>C(t,{method:"post",body:o,isGlobal:!0}))}function Vo(){let{usePermissionApiV2:e}=S();return ue(e?"/api/usystem/role/updateV2":"/api/usystem/role/update",(t,{arg:o})=>C(t,{method:"post",body:o,isGlobal:!0}))}function zo(){return ue("/api/usystem/role/delete",(e,{arg:t})=>C(e,{method:"post",body:t,isGlobal:!0}))}function Do(){return ue("/api/usystem/user/create",(e,{arg:t})=>C(e,{method:"post",body:t,isGlobal:!0}))}function Oo(){return ue("/api/usystem/user/update",(e,{arg:t})=>C(e,{method:"post",body:t,isGlobal:!0}))}function Eo(){return ue("/api/usystem/user/delete",(e,{arg:t})=>C(e,{method:"post",body:t,isGlobal:!0}))}var He=b(()=>{L();X();W();});var la,Re,vt=b(()=>{I();la=e=>{let{permissions:t,readonly:o,expand:s,value:r,onChange:a}=e,[i,f]=useState([]),[n,m]=useState({}),[l,h]=useState(r??[]),{t:d}=x(),c=useCallback(u=>{f(u);},[]),g=(u,p)=>{let y=[];return u?y=[...new Set(l.concat(p))]:(y=l.slice(),p.forEach(w=>{let E=y.findIndex(A=>A===w);E>-1&&y.splice(E,1);})),y},_=(u,p)=>{let y=g(u.target.checked,p);h(y),a?.(y);};return useEffect(()=>{h(r??[]);},[r]),useEffect(()=>{s&&f((t??[]).map(({category:u})=>u));},[s,t]),useEffect(()=>{let u=(t??[]).reduce((p,y)=>(p[y.category]=y.permissions.every(w=>l?.includes(w.value)),p),{});m(u);},[l,t]),jsx(Collapse,{style:{width:"100%"},collapsible:"header",activeKey:i,items:(t??[]).map(u=>({key:u.category,label:u.category,extra:!o&&jsx(Checkbox,{checked:n[u.category],onChange:p=>{_(p,u.permissions.map(y=>y.value));},children:d("global.selectAll")}),children:jsx(Checkbox.Group,{style:{width:"100%"},value:l,disabled:o,children:jsx(Row,{gutter:[10,10],style:{width:"100%"},children:u.permissions.map(p=>jsx(Col,{span:6,children:jsx(Checkbox,{value:p.value,onChange:y=>{_(y,[p.value]);},children:p.label})},p.value))})})})),onChange:c})},Re=la;});var ma,da,Uo,No=b(()=>{I();He();vt();(({Text:ma}=Typography)),da=e=>{let{expand:t=!0,value:o,readonly:s,onChange:r}=e,{data:a,isLoading:i,error:f}=ko(),{t:n}=x();return f?jsx("div",{className:"flex justify-center",children:jsx(ma,{type:"danger",children:n("PermissionList.failedDescription")})}):jsx(Skeleton,{active:!0,loading:i,children:jsx(Re,{value:o,permissions:a,readonly:s,expand:t,onChange:r})})},Uo=da;});var kt,ba,Sa,Qo,Ho=b(()=>{I();He();vt();(({Text:kt}=Typography)),{Option:ba}=Select,Sa=e=>{let{expand:t=!0,value:o,readonly:s,onChange:r}=e,{data:{permission:a,game:i}={},isLoading:f,error:n}=Lo(),[m,l]=useState([]),h=a?.filter(u=>u.is_common),d=a?.filter(u=>!u.is_common),{t:c}=x();if(useEffect(()=>{let u=[];Object.keys(o??{}).forEach(p=>{p!=="global"&&u.push({gameId:p,permissions:o?.[p]??[]});}),l(u);},[o]),n)return jsx("div",{className:"flex justify-center",children:jsx(kt,{type:"danger",children:c("PermissionList.failedDescription")})});let g=()=>{l(u=>[...u,{gameId:"",permissions:[]}]);},_=u=>{l(p=>p.filter((y,w)=>w!==u));};return jsxs("div",{className:"flex flex-col w-full",children:[jsx("div",{className:"mb-12",children:jsx(Divider,{dashed:!0,children:c("PermissionList.baseSectionTitle")})}),jsx(Skeleton,{active:!0,loading:f,children:jsx(Re,{value:o?.global,readonly:s,permissions:h,expand:t,onChange:u=>{r?.({...o,global:u});}})}),jsx("div",{className:"my-12",children:jsx(Divider,{dashed:!0,children:c("PermissionList.gameSectionTitle")})}),m.map((u,p)=>jsx(Card,{title:jsxs(Space,{children:[jsx(kt,{children:c("global.game")}),s?jsx(kt,{children:i?.find(y=>y.id===u.gameId)?.name}):jsx(Select,{disabled:s,value:m[p].gameId||void 0,style:{width:"160px"},placeholder:c("PermissionList.gameSelectPlaceholder"),onChange:y=>{l(w=>{let E=w.slice();return E[p].gameId=y,E});},children:i?.map(y=>jsx(ba,{value:y.id,disabled:m.some(({gameId:w})=>w===y.id),children:y.name},y.id))})]}),className:"mb-6",extra:!s&&jsx(Button,{type:"link",onClick:()=>{_(p);},children:c("PermissionList.removeText")}),children:m[p].gameId?jsx(Skeleton,{active:!0,loading:f,children:jsx(Re,{value:o?.[m[p].gameId],readonly:s,expand:t,permissions:d,onChange:y=>{r?.({...o,[m[p].gameId]:y});}})}):jsx(Empty,{description:c("PermissionList.gameSectionDescription")})},p)),!s&&jsx(Button,{block:!0,type:"dashed",onClick:g,children:c("PermissionList.addText")})]})},Qo=Sa;});var _a,Fe,jo=b(()=>{L();No();Ho();_a=e=>{let{value:t}=e,{usePermissionApiV2:o}=S();return jsx(Fragment,{children:o?jsx(Qo,{...e,value:t}):jsx(Uo,{...e,value:t})})},Fe=_a;});var $o=b(()=>{});var $e=b(()=>{jo();He();$o();});var os={};rt(os,{default:()=>Fa,url:()=>Ge});var La,Ge,Xo,Ra,Fa,rs=b(()=>{Ne();I();qe();ve();Me();$e();Ke();(({Option:La}=Select)),Ge="/api/usystem/user/list",Xo=e=>{let{message:t}=App.useApp(),{t:o}=x(),{jump:s,mutate:r}=Q(),{data:a,isLoading:i}=Ro(),f=Do(),n=Oo(),m=o(e?"UserList.createTitle":"UserList.updateTitle"),l=jsxs(Fragment,{children:[jsx(Form.Item,{label:o("global.name"),name:"name",rules:[{required:!0}],children:jsx(Input,{disabled:!e})}),jsx(Form.Item,{label:o("global.role"),name:"roles",children:jsx(Select,{allowClear:!0,mode:"multiple",loading:i,children:(a??[]).map(d=>jsx(La,{value:d.name,children:d.name},d.id))})})]});return ke({title:m,formProps:{labelCol:{flex:"80px"}},content:l,onConfirm:async(d,c)=>{e?(await f.trigger(d),s(Ge,1),t.success(o("UserList.createSuccessfully"))):(await n.trigger(d),r(Ge,g=>produce(g,_=>{if(_?.List){let u=_.List?.findIndex(p=>p.id===c?.id);u!==-1&&(_.List[u].roles=d.roles);}}),{revalidate:!1}),t.success(o("UserList.updateSuccessfully")));}})},Ra=()=>{let{modal:e,message:t}=App.useApp(),o=Eo(),{mutate:s}=Q(),{show:r,modal:a}=Xo(!0),{show:i,modal:f}=Xo(),{t:n}=x(),m=[{title:n("global.name"),dataIndex:"name",key:"name"},{title:"ID",dataIndex:"id",key:"id"},{title:n("global.role"),dataIndex:"roles",key:"roles",width:"40%",render(l){return jsx(Row,{gutter:[4,4],children:(l||[]).map(h=>jsx(Col,{children:h==="root"?jsx(Tag,{color:"#f50",children:h}):jsx(Tag,{color:"#ff5a00",children:jsx(Link,{to:`../role/${h}`,children:h})})},h))})}},{title:n("global.creationTime"),dataIndex:"Ctime",key:"ctime"},{title:n("global.operation"),width:150,align:"center",render:l=>jsxs(Space,{children:[jsx(K,{isGlobal:!0,size:"small",type:"link",code:"100003",onClick:()=>{i({initialValues:{name:l.name,roles:l.roles},extraValues:{id:l.id}});},children:n("global.update")}),jsx(K,{isGlobal:!0,danger:!0,size:"small",code:"100004",type:"link",onClick:()=>{e.confirm({title:n("UserList.deleteTitle"),content:jsx(Pe,{texts:[l.name],children:n("UserList.deleteContent",{user:l.name})}),async onOk(){await o.trigger({id:l.id,name:l.name}),s(Ge,h=>produce(h,d=>{let c=d?.List?.findIndex(g=>g.id===l.id);c&&d?.List?.splice(c,1);})),t.success(n("UserList.deleteSuccessfully"));}});},children:n("global.delete")})]})}];return jsxs(Fragment,{children:[jsx(Card,{title:n("global.user"),extra:jsx(K,{isGlobal:!0,type:"primary",icon:jsx(UserAddOutlined,{}),code:"100002",onClick:()=>{r();},children:n("UserList.createTitle")}),children:jsx(ee,{isGlobal:!0,code:"100001",url:Ge,rowKey:"id",columns:m,getTotal:l=>l?.Total,getDataSource:l=>l?.List})}),a,f]})},Fa=Ra;});var cs={};rt(cs,{default:()=>Ua});var Je,ns,Ea,Ua,ps=b(()=>{L();Ne();I();qe();ve();Me();$e();Ke();X();W();Je="/api/usystem/role/list",ns=e=>{let{message:t}=App.useApp(),{t:o}=x(),{jump:s,mutate:r}=Q(),a=Go(),i=Vo(),f=o(e?"RoleList.createTitle":"RoleList.updateTitle"),n={layout:"vertical"},m=jsxs(Fragment,{children:[jsx(Form.Item,{label:o("global.name"),name:"name",rules:[{required:!0}],children:jsx(Input,{disabled:!e,addonBefore:"role_"})}),jsx(Form.Item,{name:"permissions",children:jsx(Fe,{})})]});return ke({title:f,width:"50vw",formProps:n,content:m,onConfirm:async(h,d)=>{e?(await a.trigger({name:`role_${h.name}`,permissions:h.permissions}),s(Je,1),t.success(o("RoleList.createSuccessfully"))):(await i.trigger({id:d?.id,name:`role_${h.name}`,permissions:h.permissions}),r(Je,c=>produce(c,g=>{let _=g?.List?.find(u=>u.id===d?.id);_&&(_.permissions=h.permissions);}),{revalidate:!1}),t.success(o("RoleList.updateSuccessfully")));}})},Ea=()=>{let{accessible:e}=N("200005",!0),{modal:t,message:o}=App.useApp(),{t:s}=x(),{usePermissionApiV2:r}=S(),{mutate:a}=Q(),{show:i,modal:f}=ns(!0),{show:n,modal:m}=ns(),l=zo(),h=async c=>{let{data:g}=await C(`/api/usystem/role/info${r?"V2":""}?name=${c.name}`,{isGlobal:!0});n({initialValues:{permissions:g?.permissions,name:g?.name.replace(/^role_/,"")},extraValues:{id:g?.id}});},d=[{title:s("global.name"),key:"name",render(c){return e?jsx(Link,{to:`${c.name}`,relative:"path",children:c.name}):jsx(Fragment,{children:c.name})}},{title:"ID",dataIndex:"id",key:"id"},{title:s("global.creationTime"),dataIndex:"ctime",key:"ctime"},{title:s("global.operation"),width:150,align:"center",render:(c,g)=>jsxs(Space,{size:"small",children:[jsx(K,{isGlobal:!0,code:"200003",size:"small",type:"link",onClick:async()=>{h(g);},children:s("global.edit")}),jsx(K,{isGlobal:!0,danger:!0,code:"200004",size:"small",type:"link",onClick:()=>{t.confirm({title:s("RoleList.deleteTitle"),content:jsx(Pe,{texts:[g.name],children:s("RoleList.deleteContent",{role:g.name})}),async onOk(){await l.trigger({id:g.id,name:g.name}),a(Je,_=>produce(_,u=>{let p=u?.List?.findIndex(y=>y.id===g.id);p&&u?.List?.splice(p,1);})),o.success(s("RoleList.deleteSuccessfully"));}});},children:s("global.delete")})]})}];return jsxs(Fragment,{children:[jsx(Card,{title:s("global.role"),extra:jsx(K,{isGlobal:!0,type:"primary",code:"200002",icon:jsx(UsergroupAddOutlined,{}),onClick:()=>{i();},children:s("RoleList.createTitle")}),children:jsx(ee,{isGlobal:!0,rowKey:"name",columns:d,code:"200001",url:Je,getTotal:c=>c?.Total,getDataSource:c=>c?.List})}),f,m]})},Ua=Ea;});var ms={};rt(ms,{default:()=>Qa});var Ka,Qa,ds=b(()=>{I();$e();Ka=()=>{let e=useParams(),{data:t,isLoading:o}=Fo(e.name),{t:s}=x();return jsxs(Fragment,{children:[jsx(Breadcrumb,{style:{marginBottom:24},items:[{key:"1",title:jsx(Link,{to:"..",children:s("global.role")})},{key:"2",title:e.name}]}),jsx(Card,{title:s("RoleDetail.title"),children:jsxs(Skeleton,{loading:o,children:[jsxs(Descriptions,{column:3,layout:"vertical",children:[jsx(Descriptions.Item,{label:s("global.name"),children:t?.name}),jsx(Descriptions.Item,{label:"ID",children:t?.id}),jsx(Descriptions.Item,{label:s("global.creationTime"),children:t?.ctime})]}),jsx(Fe,{readonly:!0,value:t?.permissions})]})})]})},Qa=Ka;});L();I();var As=e=>{let{initialTags:t,addable:o,removable:s,addCallback:r,removeCallback:a}=e,{t:i}=x(),{token:f}=theme.useToken(),[n,m]=useState([]),[l,h]=useState(!1),[d,c]=useState(""),[g,_]=useState(-1),[u,p]=useState(""),y=useRef(null),w=useRef(null);useEffect(()=>{m(t??[]);},[t]),useEffect(()=>{l&&y.current?.focus();},[l]),useEffect(()=>{w.current?.focus();},[d]);let E=async M=>{if(await a?.(M)){let V=n.filter(ge=>ge!==M);m(V);}},A=()=>{h(!0);},T=M=>{c(M.target.value);},O=async()=>{d&&n.indexOf(d)===-1&&await r?.(d)&&m([...n,d]),h(!1),c("");},ye=M=>{p(M.target.value);},U=()=>{let M=[...n];M[g]=u,m(M),_(-1),c("");},H={width:78,verticalAlign:"top"},j={background:f.colorBgContainer,borderStyle:"dashed"};return jsxs(Space,{wrap:!0,size:[0,8],children:[jsx(Space,{wrap:!0,size:[0,8],children:n.map((M,$)=>g===$?jsx(Input,{ref:w,size:"small",style:H,value:u,onChange:ye,onBlur:U,onPressEnter:U},M):jsx(Tag,{closable:s,style:{userSelect:"none"},onClose:async V=>{V.preventDefault(),await E(M);},children:jsx("span",{onDoubleClick:V=>{$!==0&&(_($),p(M),V.preventDefault());},children:M})},M))}),o&&(l?jsx(Input,{ref:y,type:"text",size:"small",style:H,value:d,onChange:T,onBlur:O,onPressEnter:O}):jsxs(Tag,{style:j,onClick:A,children:[jsx(PlusOutlined,{}),"\xA0",i("global.add")]}))]})},Bs=As;var Ks=e=>{let{children:t,...o}=e,[s,r]=useState(!1);return jsx(Typography.Paragraph,{...o,className:"mb-0",ellipsis:{rows:2,expandable:"collapsible",expanded:s,onExpand:(a,i)=>{r(i.expanded);}},children:t})},Oe=Ks;Ee();ce();Ne();X();W();Ee();I();var v1=e=>{let{code:t,action:o,extras:s,headers:r,isGlobal:a,getRowKey:i,getDataSource:f,hasMore:n,renderForm:m,transformArg:l,...h}=e,{t:d}=x(),[c]=Form.useForm(),{accessible:g,isLoading:_}=N(t),[u,p]=useState(!1),[y,w]=useState(),E=(G,Z)=>{if(!u)return null;let J=G!==0?i(Z):void 0,B=l(y,J);return ro.stringify(B)?`${o}?${ro.stringify(B)}`:o},{data:A,size:T,setSize:O,isValidating:ye}=I1(E,G=>C(G,{headers:typeof r=="function"?r(c):r,isGlobal:a}).then(Z=>Z.data),{shouldRetryOnError:!1,revalidateOnFocus:!1,revalidateFirstPage:!1}),U=f(A),H=ye||T>0&&A&&typeof A[T-1]>"u",j=typeof n<"u"?!n(A):!0,M=!U||U.length===0,$=async()=>{let G=await c.getFieldsValue();w(G);try{await c.validateFields(),O(1),p(!0);}catch{O(0),p(!1);}},V=()=>{O(T+1);},ge=async()=>{try{c.resetFields(),await c.validateFields({validateOnly:!0}),O(1);}catch{O(0);}};return useEffect(()=>{g&&c.validateFields({validateOnly:!0}).then(G=>{w(G),p(!0);}).catch(()=>{p(!1);});},[g]),_?jsx(Spin,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:300}}):g?jsxs(Fragment,{children:[m?jsx(_e,{extras:s?.map(G=>({key:G.key,children:typeof G.children=="function"?G.children(c):G.children})),onReset:ge,onConfirm:$,children:m(c)}):jsx(Form,{form:c}),jsx(Table,{...h,dataSource:U,loading:H,pagination:!1}),!M&&jsx(Button,{block:!0,loading:H,type:"link",htmlType:"button",disabled:H||j,onClick:V,children:d(H?"InfiniteList.loadingText":j?"InfiniteList.reachEndText":"InfiniteList.loadMoreText")})]}):jsx(Result,{status:403,subTitle:d("global.noEntitlement")})},po=v1;L();ce();var F1=e=>jsx("img",{src:R1,alt:"logo",...e}),de=F1;X();L();var mo=create()(persist(e=>({openKeys:[],setOpenKeys:t=>e({openKeys:t}),selectedKeys:[],setSelectedKeys:t=>e({selectedKeys:t})}),{name:"nav",storage:createJSONStorage(()=>localStorage),partialize:e=>({openKeys:e.openKeys,selectedKeys:e.selectedKeys})}));var E1=(e,t)=>t?jsx(Link,{to:t,children:e}):e;function uo(e,t){return (e??[]).some(o=>o===null?!1:o.type==="divider"?!0:o.children?uo(o.children??[],t):!t||!o.code||t[o.code])}function ft(e,t){let o=[];for(let s=0;s<e.length;s++)if(e[s]===null)o[s]=null;else if(e[s].type==="divider")o[s]={...e[s]};else if(e[s].children){let{children:r,...a}=e[s];o[s]=uo(r??[],t)?{...a,children:ft(r??[],t)}:null;}else {let{route:r,label:a,code:i,...f}=e[s],n=!i||!t||t[i];o[s]=n?{...f,label:E1(a,r)}:null;}return o}function yt(e,t=[],o=[]){for(let s of e){let r=s?.children;if(Array.isArray(r)){let a=s.type!=="group"&&s.key?[...o,s.key]:o;yt(r,t,a);}else s&&t.push(Object.assign(s,{keypath:o}));}return t}var yo=memo(function(){let t=useLocation(),{menuItems:o}=S(),s=useMemo(()=>yt(o??[]),[o]),r=s.map(d=>d.code).filter(Boolean),{data:a}=pe(r,!0,{suspense:!0}),i=useMemo(()=>ft(o??[],a),[o,a]),{openKeys:f,selectedKeys:n,setOpenKeys:m,setSelectedKeys:l}=mo(),h=d=>{let c=d?.find(_=>f?.indexOf(_)===-1),g=s.find(_=>c===_.key);m(g?.keypath??[c]);};return useEffect(()=>{let d=s.find(c=>t.pathname===c.route);if(d){let c=d.key,g=d.keypath;l([c]),m(g);}},[s,t]),jsx(Menu,{style:{borderRight:"none"},items:i,mode:"inline",openKeys:f,selectedKeys:n,onOpenChange:h})});process.env.NODE_ENV==="development"&&(yo.displayName="NavMenu");var Ae=yo;I();Ce();L();var J1=()=>{let e=useNavigate(),{clearToken:t,getUser:o}=Y(),s=o(),{t:r}=x(),{signInUrl:a}=S(),i=[{key:"1",label:jsx("a",{"data-cy":"user-widget-logout",onClick:()=>{t(),a&&e(a);},children:r("UserWidget.signOutText")}),icon:jsx(LogoutOutlined,{})}];return jsx("div",{"data-cy":"user-widget",children:jsx(Dropdown,{menu:{selectable:!0,items:i},placement:"bottomRight",children:jsx("a",{onClick:f=>{f.preventDefault();},children:jsxs(Space,{align:"center",children:[jsx("span",{children:s?.authorityId}),jsx(UserOutlined,{style:{fontSize:"16px"}})]})})})})},gt=J1;L();ce();I();var{Spin:Z1}=Te,er=e=>{let{children:t}=e,{usePermissionApiV2:o,hideGameSelect:s}=S(),{game:r,isLoading:a}=q(),{t:i}=x();return a?jsx(Z1,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:200}}):o&&!s&&!r?jsx(Empty,{image:Empty.PRESENTED_IMAGE_SIMPLE,description:i("RequireGame.description")}):t},xo=er;var bo=create()(persist(e=>({collapsed:!1,setCollapsed:t=>e({collapsed:t})}),{name:"layout",storage:createJSONStorage(()=>localStorage),partialize:e=>({collapsed:e.collapsed})}));var {Spin:mr,theme:dr}=Te,{Header:ur,Sider:fr,Content:yr}=Te.Layout,gr=e=>{let{children:t}=e,{token:{colorBgContainer:o,colorBorder:s}}=dr.useToken(),{appTitle:r,usePermissionApiV2:a,hideGameSelect:i,localeDropdownMenu:f,layoutHeaderExtras:n,signInSuccessRedirectUrl:m}=S(),{collapsed:l,setCollapsed:h}=bo(),d=useRef(null),c=250,g={transition:`opacity ${c}ms ease-in-out`,opacity:0,display:"flex",alignItems:"center"},_={entering:{opacity:0,width:0},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0},unmounted:{opacity:0}};return jsxs(Te.Layout,{children:[jsxs(fr,{collapsible:!0,theme:"light",trigger:null,collapsed:l,width:256,style:{height:"100vh",overflow:"auto",borderRightWidth:1,borderRightStyle:"solid",borderRightColor:s},children:[jsxs(Link,{to:m,className:"flex gap-2 px-6 py-4",children:[jsx(de,{width:32,height:32}),jsx(Transition,{nodeRef:d,in:!l,timeout:c,children:p=>jsx("div",{ref:d,style:{...g,..._[p]},children:!l&&r})})]}),jsx(Ae,{})]}),jsxs(Te.Layout,{children:[jsx(ur,{style:{padding:"0 24px",background:o},children:jsxs("div",{className:"flex justify-between items-center h-full",children:[jsxs(Space,{size:"small",split:jsx(Divider,{type:"vertical"}),className:"mr-6",children:[jsx(Button,{type:"text",icon:l?jsx(MenuUnfoldOutlined,{}):jsx(MenuFoldOutlined,{}),style:{fontSize:"16px"},onClick:async()=>{h(!l);}}),a&&!i&&jsx(Ue,{}),n?.map(p=>jsx("span",{children:p.children},p.key))]}),jsxs(Space,{size:"small",split:jsx(Divider,{type:"vertical"}),children:[f,jsx(gt,{})]})]})}),jsx(yr,{style:{overflow:"auto",padding:"24px 16px",maxHeight:"calc(100vh - 64px)"},children:jsx(Suspense,{fallback:jsx(mr,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"200px"}}),children:jsx(xo,{children:t})})})]})]})},Be=gr;qe();I();X();var _r=e=>{let{code:t,isGlobal:o,children:s}=e,{accessible:r,isValidating:a}=N(t,o),{t:i}=x();return a?jsx(Spin,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:200}}):r?jsx(Fragment,{children:s}):jsx(Result,{status:"403",subTitle:i("global.noEntitlement")})},Cr=_r;ve();Ke();Ct();X();Ce();L();I();var Xr=()=>{let e=useNavigate(),{t}=x(),{notFoundRedirectUrl:o}=S();return jsx("div",{className:"h-screen flex justify-center items-center",children:jsx(Result,{status:"404",title:"404",subTitle:t("NotFound.subTitle"),extra:o&&jsx(Button,{type:"primary",onClick:()=>{e(o);},children:t("NotFound.buttonText")})})})},Zr=Xr;I();ve();var {Option:Mo}=Select,oa=()=>{let{t:e}=x(),t=[{key:"username",title:e("global.username"),dataIndex:"uname",width:100},{key:"label",title:e("global.label"),dataIndex:"label",width:150},{key:"method",title:e("global.method"),dataIndex:"method",width:100},{key:"route",title:e("global.route"),dataIndex:"route",width:200},{key:"request",title:e("global.request"),dataIndex:"request",render(o){return jsx(Oe,{children:o})}},{key:"response",title:e("global.response"),dataIndex:"response",render(o){return jsx(Oe,{children:o})}},{key:"creation_time",title:e("global.creationTime"),dataIndex:"ctime",width:200,render(o){return ta(o).format("YYYY-MM-DD HH:mm:ss")}}];return jsx(Card,{title:"\u64CD\u4F5C\u65E5\u5FD7",children:jsx(ee,{rowKey:"id",columns:t,tableLayout:"fixed",url:"/api/usystem/log/list",getTotal:o=>o?.Total,getDataSource:o=>o?.List,renderForm:o=>jsxs(Form,{form:o,layout:"inline",children:[jsx(Form.Item,{label:e("global.username"),name:"uname",children:jsx(Input,{allowClear:!0})}),jsx(Form.Item,{label:e("global.route"),name:"route",children:jsx(Input,{allowClear:!0})}),jsx(Form.Item,{label:e("global.method"),name:"method",children:jsxs(Select,{allowClear:!0,style:{width:"100px"},children:[jsx(Mo,{value:"get",children:"GET"}),jsx(Mo,{value:"post",children:"POST"})]})}),jsx(Form.Item,{label:e("global.label"),name:"label",children:jsx(Input,{allowClear:!0})})]})})})},sa=oa;var Ja=lazy(()=>Promise.resolve().then(()=>(rs(),os))),Ya=lazy(()=>Promise.resolve().then(()=>(ps(),cs))),Xa=lazy(()=>Promise.resolve().then(()=>(ds(),ms))),Za=()=>jsxs(Routes,{children:[jsx(Route,{index:!0,element:jsx(Navigate,{to:"user"})}),jsx(Route,{path:"user",element:jsx(Ja,{})}),jsx(Route,{path:"role",element:jsx(Ya,{})}),jsx(Route,{path:"role/:name",element:jsx(Xa,{})})]}),e2=Za;L();I();Ce();W();var us='data:image/svg+xml,<svg xml:space="preserve" style="enable-background:new 0 0 6000 4000;" viewBox="0 0 6000 4000" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" id="Layer_1" version="1.1">%0A<style type="text/css">%0A%09.Graphic_x0020_Style_x0020_100{fill:%23FFFFFF;}%0A%09.Graphic_x0020_Style_x0020_101{fill:url(%23SVGID_1_);}%0A%09.Graphic_x0020_Style_x0020_102{fill:url(%23SVGID_2_);}%0A%09.Graphic_x0020_Style_x0020_104{fill:%23DB6767;}%0A%09.Graphic_x0020_Style_x0020_105{fill:%23FFDE70;}%0A%09.Graphic_x0020_Style_x0020_106{fill:%23FFB114;}%0A%09.Graphic_x0020_Style_x0020_107{fill:%236584C6;}%0A%09.Graphic_x0020_Style_x0020_108{fill:%23102140;}%0A%09.Graphic_x0020_Style_x0020_109{fill:%233B546B;}%0A%09.Graphic_x0020_Style_x0020_110{fill:%23152A52;}%0A%09.Graphic_x0020_Style_x0020_111{fill:%23E8766F;}%0A%09.Graphic_x0020_Style_x0020_112{fill:%23EF5668;}%0A%09.Graphic_x0020_Style_x0020_113{fill:%23FC9590;}%0A%09.Graphic_x0020_Style_x0020_114{fill:%23912433;}%0A%09.Graphic_x0020_Style_x0020_115{opacity:0.5;fill:%23FFFFFF;}%0A%09.Graphic_x0020_Style_x0020_116{fill:%231A1A1A;}%0A%09.Graphic_x0020_Style_x0020_117{fill:%23535353;}%0A%09.Graphic_x0020_Style_x0020_118{fill:%23DBD2DB;}%0A%09.Graphic_x0020_Style_x0020_119{fill:%234D73C6;}%0A%09.Graphic_x0020_Style_x0020_120{fill:%23D1334A;}%0A%09.Graphic_x0020_Style_x0020_123{fill:url(%23SVGID_3_);}%0A%09.st0{fill:url(%23SVGID_4_);}%0A%09.st1{fill:url(%23SVGID_5_);}%0A%09.st2{fill:url(%23SVGID_6_);}%0A%09.st3{fill:%239D8A9D;}%0A%09.st4{fill:url(%23SVGID_7_);}%0A%09.st5{fill:url(%23SVGID_8_);}%0A%09.st6{fill:%233B546B;}%0A%09.st7{fill:%23A8A1A8;}%0A%09.st8{fill:%23DBD2DB;}%0A%09.st9{fill:%23FFFFFF;stroke:%231A1A1A;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st10{fill:%23339E7E;}%0A%09.st11{fill:none;stroke:%2310663F;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st12{fill:%2300593B;}%0A%09.st13{fill:none;stroke:%233DBE88;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st14{fill:none;stroke:%23134411;stroke-width:8.0149;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st15{fill:%23EF5668;}%0A%09.st16{fill:%23FC9590;}%0A%09.st17{fill:%23102140;}%0A%09.st18{fill:%23DB6767;}%0A%09.st19{fill:%231A1A1A;stroke:%231A1A1A;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st20{fill:%23FFFFFF;}%0A%09.st21{fill:%23535353;}%0A%09.st22{fill:%23F9EBF9;}%0A%09.st23{fill:%23D896D8;}%0A%09.st24{fill:%238E3D8E;}%0A%09.st25{fill:%23CA74CA;}%0A%09.st26{fill:%23D590D5;}%0A%09.st27{fill:%23160A16;}%0A%09.st28{fill:%23384A6E;}%0A%09.st29{fill:%23B7C0D4;}%0A%09.st30{fill:%23E8766F;}%0A%09.st31{fill:%23FFB114;}%0A%09.st32{fill:%23FFDE70;}%0A%09.st33{fill:%23434343;}%0A%09.st34{fill:%23664708;}%0A%09.st35{fill:%23D9D9D9;}%0A%09.st36{fill:url(%23SVGID_9_);}%0A%09.st37{fill:url(%23SVGID_10_);}%0A%09.st38{fill:url(%23SVGID_11_);}%0A%09.st39{fill:url(%23SVGID_12_);}%0A</style>%0A<linearGradient y2="0" x2="1" y1="0" x1="0" gradientUnits="userSpaceOnUse" id="SVGID_1_">%0A%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A</linearGradient>%0A<linearGradient y2="0" x2="1" y1="0" x1="0" gradientUnits="userSpaceOnUse" id="SVGID_2_">%0A%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A</linearGradient>%0A<linearGradient y2="0" x2="1" y1="0" x1="0" gradientUnits="userSpaceOnUse" id="SVGID_3_">%0A%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A</linearGradient>%0A<g>%0A%09<linearGradient y2="3014.9536" x2="4941.2124" y1="3014.9536" x1="1288.5804" gradientUnits="userSpaceOnUse" id="SVGID_4_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M1288.6,2793.9c55.3,134.1,186.5,387.6,453.7,503.3c220.8,95.6,442.9,57.4,694.7,14.2%0A%09%09c343.1-59,344.3-140.4,552.9-134.7c282.5,7.8,357.3,159.3,673.4,219.7c66.5,12.7,309.6,47.5,574.2-28.4%0A%09%09c360.6-103.4,734.8-407.2,701.8-560C4895.4,2605.9,4103.5,2505.3,1288.6,2793.9z" class="st0"></path>%0A%09<linearGradient y2="1994.5433" x2="5456.5684" y1="1994.5433" x1="686.3356" gradientUnits="userSpaceOnUse" id="SVGID_5_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M5428.3,1649.1c-131.4-612.4-697.6-977.3-1155.4-1020.7c-232.1-22-245.1,56.7-616.7,117%0A%09%09c-821.7,133.2-1081-199.5-1850.1-85.1c-341.2,50.8-687.6,102.3-914.4,382.8C519.9,1502.7,718.2,2270,973.9,2621.3%0A%09%09c165.2,227,392.7,363.9,392.7,363.9c68.9,41.5,168.6,100.4,304.8,131.1c237.9,53.7,359.9-29.9,560-42.5%0A%09%09c342.7-21.6,401.6,197.2,772.6,276.4c190.7,40.7,257.4,0.5,1084.5-212.6c811.7-209.1,858.2-198.9,974.7-297.7%0A%09%09C5379.4,2571.8,5521.7,2084.7,5428.3,1649.1z M2709.5,2042.7v-2.7V2042.7z" class="st1"></path>%0A%09<linearGradient y2="1859.5726" x2="5227.9292" y1="1859.5726" x1="1116.5316" gradientUnits="userSpaceOnUse" id="SVGID_6_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M5148.1,1664.4c-146.3-421.8-552.5-838.3-943.2-819c-297.4,14.6-412.5,273.3-678.4,215.1%0A%09%09c-227.7-49.8-217.9-255.8-471.6-405.4c-401.7-236.8-1083-107.4-1265.9,223.4c-99.3,179.7-11.7,346.7-173.7,521.2%0A%09%09c-113.5,122.3-192.5,78.9-314.4,198.6c-154.9,152-219.8,410.7-165.5,645.3c73.8,318.7,366.8,477.2,388.9,488.1%0A%09%09c827.4,146.2,1654.7,292.3,2482.1,438.5c80.8,13.1,529.4,77.9,879.7-216.7C5295.8,2609,5272.6,2023.2,5148.1,1664.4z%0A%09%09 M2709.5,2042.7v-2.7V2042.7z" class="st2"></path>%0A%09<path d="M5224.3,2042.5c-143.7-88.6-413.9-68.2-740.1-95.9c-488.7-41.5-1188.7,312.8-1437,221.4%0A%09%09c-95.1-35-167.4-141.7-220.4-260v1053.6c291.4,51.5,582.8,103,874.2,154.4l1292.2-269.1C5190,2615.6,5243.4,2314,5224.3,2042.5z" class="st3"></path>%0A%09<linearGradient y2="1741.7239" x2="2757.678" y1="1741.7239" x1="1116.5317" gradientUnits="userSpaceOnUse" id="SVGID_7_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M1789.1,878.4c-99.3,179.7-11.7,346.7-173.7,521.2c-113.5,122.3-192.5,78.9-314.4,198.6%0A%09%09c-154.9,152-219.8,410.7-165.5,645.3c73.8,318.7,366.8,477.2,388.9,488.1c411.1,72.6,822.2,145.3,1233.4,217.9V550.2%0A%09%09C2377.7,484.9,1931.7,620.4,1789.1,878.4z M2709.5,2042.7v-2.7V2042.7z" class="st4"></path>%0A%09<linearGradient y2="1215.4698" x2="2649.5779" y1="1215.4698" x1="1137.9542" gradientUnits="userSpaceOnUse" id="SVGID_8_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M1789.1,878.4c-99.4,179.7-11.7,346.7-173.7,521.2c-113.6,122.3-192.5,78.9-314.4,198.6%0A%09%09c-79.1,77.6-134.7,183-163,298.8c82.9-108.4,187.6-189.5,319.3-210.4c445.6-70.8,892.8,45.1,1192.3-113.7V537.1%0A%09%09C2296.9,511.3,1918.4,644.5,1789.1,878.4z" class="st5"></path>%0A%09<polygon points="1937.1,644.5 1937.1,2265.3 1979.7,2269.9 1983,640.9" class="st6"></polygon>%0A%09<path d="M2757.7,550.2c-35.6-6.1-71.7-10.5-108.1-13.1v1035.7c38.6-20.4,74.7-45.4,108.1-76V550.2z" class="st7"></path>%0A%09<path d="M1117.4,850.5c-15.5,9-30.8,18.5-45.8,28.5v1689.5l42.6,5.1L1117.4,850.5z" class="st6"></path>%0A%09<path d="M2826.8,564.5c-22.7-5.5-45.8-10.3-69.1-14.3v2399.3c23,4.1,46.1,8.1,69.1,12.2V564.5z" class="st8"></path>%0A%09<g>%0A%09%09<path d="M1121,2361c0,0-98.3-110.7,84.2-222.1c-25.3,43.4-118,92.3-52.4,202.9%0A%09%09%09c27.1,62.9-12.8,89.7-12.8,89.7S1080.6,2436.5,1121,2361z" class="Graphic_x0020_Style_x0020_116"></path>%0A%09%09<g>%0A%09%09%09<path d="M1282.2,2470.4c-15.5,28.9-215.1,26.5-315.7,23.4c-1.1-4.4-2.1-8.7-3.1-13c-1.8-7.8-3.5-15.5-5-23.2%0A%09%09%09%09C1035.2,2452.4,1299.9,2437.2,1282.2,2470.4z" class="st9"></path>%0A%09%09%09<path d="M1282.2,2470.4l-16.7,216.9c-25.9,39.1-25.5,89.5-36,137.5c-4.3,22.7-20.4,30.2-38.6,29.2%0A%09%09%09%09c-39.4-34.1-82.1-74.2-124.2-119.9c-50-80.3-81.3-162.6-100.3-240.3C1067.1,2496.9,1266.7,2499.4,1282.2,2470.4z" class="st9"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M1331.3,2151c12.7,12.2,30.7,16,43,17c5.5-2.7,11.1-5.7,16.6-8.9c24.3-13.9,39.8-38.8,49.7-66.7%0A%09%09%09%09c-16.1,5.8-51.8,17.4-67.4,11.2c-20.4-8.1-12.5-17.1-3-14.1c11.7,6,55.7-6.5,75.3-12.5c4.1-14.9,6.8-30.2,8.6-44.8%0A%09%09%09%09c-13.9,8.3-34.9,15.8-44.4,12.6c-12.3-4.2-7.4-14.4,2.7-13.2c7.4,0.8,31.4-12,43.6-18.8c2.2-29.7,0.8-53.4,0.4-59.6%0A%09%09%09%09c-0.1-1-0.1-1.6-0.1-1.6s-29-8.6-66.9-14.1c-8,8.1-19.9,20.8-24.9,29.3c-8,13.3-11.7,24.3-18.1,22.2%0A%09%09%09%09c-12.7-6.6,13.3-37.6,27.8-53.4c-16.5-1.8-34.1-2.9-51.4-2.3c-51.5,40.6-24.5,76.1-44.7,71.8c-17.5-3.7,13.5-51.5,26.6-70.5%0A%09%09%09%09c-16.3,1.8-31.9,5.4-45.3,11.6c-12.1,6.2-22.8,12.2-32.4,18.1c-14.5,34.4,20,53.7,1.7,57.9c-14.3,3.3-16.2-30.4-16.2-48.5%0A%09%09%09%09c-124.9,86.7,2.8,144.8,2.8,144.8c0.1,0.5,0.2,1,0.3,1.6c11.4,70.5,70.1,82,134.6,58.3c-10-8-28.1-22.8-31-26.1%0A%09%09%09%09C1315,2147.7,1321.1,2139.9,1331.3,2151z" class="st10"></path>%0A%09%09%09<path d="M1433.5,1969.4c0,0-146,112.4-218.2,149.3" class="st11"></path>%0A%09%09%09<path d="M1396.4,2051c0,0-33.9,4.5-68.8-3.9" class="st11"></path>%0A%09%09%09<path d="M1316.2,1996.6c0,0-20.5,49.4-10.8,65.9" class="st11"></path>%0A%09%09%09<path d="M1352,2122.6c0,0-59.6-20.8-79-38.4" class="st11"></path>%0A%09%09%09<path d="M1216.4,2052.4c0,0-4.7,37.9,18.4,55.6" class="st11"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M882.7,2066.4c10.6,1.3,21,2.9,31.1,4.8c13.6,13.1,30.4,35.2,30.3,62.7c-1.8,23.8,15.4,19.7,16.3,10%0A%09%09%09%09c0.7-7-2.6-43-4.5-62.6c108.1,32.2,164.1,103.7,86.8,204.4c0,0,80.5,195.4-178.5,184.8c22.7-22.7,62.8-66.9,41.4-76.4%0A%09%09%09%09c-27.3-12.2-10,45.1-70.7,74.5c-19-1.7-39.5-4.4-61.7-8.2c-24-5.1-47.2-15.4-69.1-28.8c39.7-11.4,137-41.9,120.6-63.3%0A%09%09%09%09c-18.9-24.6-31,45.8-143.9,47.6c-21.5-15.8-41.4-33.9-58.9-52.1c37.3-6,107.4-20.1,100.5-40.6c-5.2-8.8-23.3,1.5-49.6,10.6%0A%09%09%09%09c-16.7,5.7-46.9,10.3-66.7,12.9c-38.7-43.2-62.7-81.8-62.7-81.8s30.7-35.6,77.3-76.8c23.3,3.1,68.1,9.9,76,18.1%0A%09%09%09%09c10.7,11.2,29.3,3.1,19.9-14.1c-7.3-13.2-42.1-23.8-69.1-26.7c20.4-16.6,42.9-33.2,66.6-48c31,11.1,99.6,37.5,106.2,56.3%0A%09%09%09%09c7.6,12.8,28.5,9,14.2-20.6c-10.9-22.7-68.4-42.4-95-50.5C786.1,2077.1,836.1,2060.7,882.7,2066.4z" class="st12"></path>%0A%09%09%09<path d="M593.2,2264.5c0,0,316.6-1.6,449.7,21.1" class="st13"></path>%0A%09%09%09<path d="M740.2,2197.3c0,0,46.4,26.9,77.7,70.8" class="st13"></path>%0A%09%09%09<path d="M768.3,2342.5c0,0,86.7-42.5,95.7-72.6" class="st13"></path>%0A%09%09%09<path d="M883.4,2149.7c0,0,45.4,83.2,46.7,123.9" class="st13"></path>%0A%09%09%09<path d="M958.3,2368c0,0,53.3-43.2,47.7-87.5" class="st13"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M924,1810c7.6,5.4,14.9,11,21.8,16.7c4.5,17.1,7.4,43.4-5.2,67.8c-12.3,20.5,2.9,23.7,8,15.4%0A%09%09%09%09c3.7-5.9,17.7-39.3,25.2-57.5c68.8,71.8,79.4,157.7-26.4,216.5c0,0-27.1,205.9-222.4,93.1c27.9-11.1,79.1-34.4,67-51.4%0A%09%09%09%09c-15.5-21.8-28.3,36.1-88.6,38c-13.9-9.1-28.5-19.7-43.9-32c-16.2-14.1-29.4-32.6-40.2-53.2c35.9,5.7,125,17.5,122.1-8.1%0A%09%09%09%09c-3.3-29.5-44.9,28.3-132.9-15.1c-9.4-22.6-16.5-46.7-21.7-69.8c31.6,9.6,92.2,25,96.2,4c0-9.9-18.7-8-43.2-10.4%0A%09%09%09%09c-15.5-1.6-41-9.5-57.5-15.1c-10.2-53.9-11.1-97.8-11.1-97.8s40-19.4,94.8-37.4c16.6,12,48.1,36,50.4,46.4%0A%09%09%09%09c3.2,14.2,21.3,14.5,21.8-4.6c0.4-14.7-21.6-38-41.2-51.3c23.4-6.6,48.4-12.4,73.4-16.1c18.9,22.3,59.8,73.1,56.3,92.5%0A%09%09%09%09c0,14.5,17.9,19.4,20.4-12.7c1.9-24.5-33.5-65-50.3-82.8C844.5,1781,890.6,1786.3,924,1810z" class="st10"></path>%0A%09%09%09<path d="M609.7,1870.6c0,0,245.3,125,337.8,198.4" class="st11"></path>%0A%09%09%09<path d="M754.1,1869.5c0,0,23.6,42.4,27.7,94" class="st11"></path>%0A%09%09%09<path d="M709.4,2009.9c0,0,86.4-3.2,107.1-26.3" class="st11"></path>%0A%09%09%09<path d="M886.5,1884.4c0,0-2.9,92.1-20.5,128.9" class="st11"></path>%0A%09%09%09<path d="M844.5,2108.4c0,0,60.9-17.2,76.8-58.8" class="st11"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M1245.1,1794.2c20.8-5.3,34.8-21,42.5-32.8c-0.2-7.2-0.7-14.6-1.4-22.1c-3.2-32.9-23.8-63.7-50.7-90.6%0A%09%09%09%09c-1.8,19.7-7.4,62.7-22.8,74.5c-20.1,15.5-26.4,2-17.9-5.6c13.2-8.1,22.1-59.9,25.4-83.2c-15-13.2-31.3-25.3-47.2-36%0A%09%09%09%09c2.2,19-0.2,44.7-9,52.2c-11.4,9.8-20.6-1.3-13.9-10.8c4.9-7,2.8-38.8,1.4-55.2c-33.1-20.3-61.3-33.5-68.7-36.8%0A%09%09%09%09c-1.2-0.6-1.9-0.9-1.9-0.9s-25.3,23.8-51.7,58.6c5.2,13,13.5,32.7,20.6,42.9c11.1,16.1,21.9,26.5,16,31.7%0A%09%09%09%09c-14.4,8.7-36.4-36.3-47-60.5c-10.9,15.5-21.4,32.5-29.9,50.2c19.7,76.5,74.9,71.1,59.3,88.7c-13.5,15.3-52.4-45-67.4-69.8%0A%09%09%09%09c-6.6,17.5-10.6,35.3-10.6,52.6c0.7,15.9,2,30.4,3.8,43.6c32.1,35.6,72.7,12.7,67.8,33.6c-3.8,16.4-43.7-2.3-64.6-13.4%0A%09%09%09%09c33.9,178.4,168.8,85.6,168.8,85.6c0.7,0.2,1.3,0.5,2,0.7c87.5,31.6,132-20.3,138.8-99.5c-14.6,5.1-41.3,14.3-46.7,15.2%0A%09%09%09%09C1232.6,1808.5,1226.7,1797.5,1245.1,1794.2z" class="st10"></path>%0A%09%09%09<path d="M1089.2,1580.6c0,0,52.5,215.2,56.8,310.2" class="st11"></path>%0A%09%09%09<path d="M1164,1667.7c0,0-12.8,36.8-41,66.6" class="st11"></path>%0A%09%09%09<path d="M1058.6,1715c0,0,46.2,50.8,70.4,51.1" class="st11"></path>%0A%09%09%09<path d="M1223.1,1755.9c0,0-55.6,47.1-86.3,55.9" class="st11"></path>%0A%09%09%09<path d="M1070,1849.3c0,0,41.4,27.9,74,15.4" class="st11"></path>%0A%09%09</g>%0A%09%09<path d="M1146.1,1890.8c0,0,14.8,158.8-25,350.6" class="st14"></path>%0A%09%09<path d="M937.7,2061.4c0,0,170.2,50.3,183.3,183.5" class="st14"></path>%0A%09%09<path d="M1029.4,2285.6c13.6-4.9,80.6-4.6,99.5,8.8" class="st14"></path>%0A%09%09<path d="M1223.3,2114.4c0,0-98.3,30.9-77.3,232.1" class="st14"></path>%0A%09</g>%0A%09<g>%0A%09%09<path d="M2812.2,2216.6c0,0,60.8,180.6,68.3,350.2c-193.8,44.1-832.8-6.2-832.8-6.2%0A%09%09%09s14-297.1,80.4-332.6C2416.5,2250.4,2812.2,2216.6,2812.2,2216.6z" class="Graphic_x0020_Style_x0020_110"></path>%0A%09%09<path d="M2880.5,2566.9c-7.5-169.6-68.3-350.2-68.3-350.2s-395.8,33.8-684.1,11.4%0A%09%09%09c-17.2,9.2-30.9,36-41.7,70.6c61.5,25.5,298.6,104,672.8-9.3c-4.1,90.6,73.5,94.8,73.5,94.8c12.1,42.2,11.5,131.9,9.7,189.5%0A%09%09%09C2856.4,2571.7,2869.2,2569.4,2880.5,2566.9z" class="Graphic_x0020_Style_x0020_116"></path>%0A%09%09<path d="M2025.5,1497.7c-85.5,55.5-169,100.9-241.9,164.1c7.6,4.2,13.3,9.3,16.2,15.7%0A%09%09%09c0,0,180.9-97,314-235c-1,0.6-1.9,1.2-2.9,1.8C2081.6,1463,2054.9,1479,2025.5,1497.7z" class="Graphic_x0020_Style_x0020_120"></path>%0A%09%09<path d="M2229.4,1095.4c-25.7-0.9-176.5,78.1-272.1,168.2c-95.6,90.1-340.3,323.9-337.5,369.2%0A%09%09%09c19.6,10.4,121.7,5.7,163.9,29c72.9-63.1,156.4-108.6,241.9-164.1c29.4-18.7,56.1-34.7,85.5-53.4c0.9-0.7,1.9-1.2,2.9-1.8%0A%09%09%09c13.7-14.2,26.8-28.8,39.2-43.8C2153.1,1398.7,2255.2,1096.3,2229.4,1095.4z" class="st15"></path>%0A%09%09<path d="M2771.6,1674.1c-70.5,28.9-142.4,50.7-222.4,50.7c-37.4,0-80.1,18.7-104.2,53.4%0A%09%09%09c-61.4,98.9-133.6,184.3-232.4,229.8c-32.1,14.6-74.5,15.6-110.7,1.8c-16.7,87.9-31.4,153-31.4,153s68.3,148.9,349.6,142.7%0A%09%09%09c281.3-6.2,397.1-37.2,407.5-93.1C2841.2,2157.3,2787.4,1837.7,2771.6,1674.1z M2709.5,2042.7v-2.7V2042.7z" class="Graphic_x0020_Style_x0020_120"></path>%0A%09%09<path d="M2767.4,1598.2c4.1-101.3,24.8-260.6-97.2-366.1c-122-105.5-384.9-173.4-473.5-126.7l-76.5,292.8%0A%09%09%09c11.8,55.4,25.9,140.8,27.6,239.6c1.7,97.6-23.8,254.9-46,372c36.3,13.8,78.6,12.7,110.7-1.8c98.9-45.4,171-130.9,232.4-229.8%0A%09%09%09c24-34.7,66.8-53.4,104.2-53.4c80,0,151.9-21.8,222.4-50.7C2768.4,1641.5,2766.7,1615.1,2767.4,1598.2z" class="st15"></path>%0A%09%09<path d="M2357.9,1064.1c0,0-9-52.4-22.1-33.8c-13.1,18.6-10.3,92.4,9,98.6" class="st16"></path>%0A%09%09<path d="M2626.6,1195.8c5.3-16-5.3-34.7-24-34.7c-74.8,5.3-155,13.4-224.4-18.7c-23.9-11-31.4-34.7-32.8-58.9%0A%09%09%09c-12.4,46.4-71.3,284.2,13.2,332.7c71.4,40.9,184.3-8.4,256.1-105.5C2581,1285.5,2613.8,1234.5,2626.6,1195.8z" class="st16"></path>%0A%09%09<path d="M2517.2,949.8c-125.5-23.1-169.6,125.8-169.6,125.8s-0.8,2.8-2.2,7.9%0A%09%09%09c1.4,24.2,8.9,47.9,32.8,58.9c69.5,32.1,149.6,24,224.4,18.7c18.7,0,29.4,18.7,24,34.7c-12.9,38.6-45.6,89.7-12,114.9%0A%09%09%09c22.5-30.4,41-65.6,52.8-104.1C2717.1,1045.3,2621.6,969,2517.2,949.8z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M2650.9,1208c2.1-1.4,41.5-29.8,53.8,4.1c10.6,31.7-40.8,91.7-77.6,80.7l-7.2-3.4" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M2641.7,1253.5c0,0,22.4-60.7,39.3-38c16.9,22.7-50.4,66.6-53,66.6C2625.5,1282,2641.7,1253.5,2641.7,1253.5%0A%09%09%09z" class="st16"></path>%0A%09%09<path d="M2695.3,1256.7L2573,1608.5c0,0-4.1,73.6,8.3,89.5c-74.5,98.7-223.4,363.4-223.4,363.4%0A%09%09%09c93.1,24.8,111.9,120,92.1,155.1c108.5-97.2,400.1-407.5,406.4-575C2879.1,1534.1,2854.6,1361.8,2695.3,1256.7z" class="st15"></path>%0A%09%09<path d="M2837.6,1430.3c30.9,169.9,7.7,183.1-75,353.6%0A%09%09%09c-61.7,127.1-230.6,287.4-312.6,360.9c9.9,28.2,8.9,56.1,0,71.9c108.5-97.2,400.1-407.5,406.4-575%0A%09%09%09C2868.7,1583.2,2867.1,1505.7,2837.6,1430.3z" class="Graphic_x0020_Style_x0020_114"></path>%0A%09%09<path d="M2680.8,1197.5c-6.7,0-12.5,1.5-17.3,3.9c-21.5,10.5-26.4,38.8-26.4,38.8s-8.9,23.1-16.3,12.6%0A%09%09%09c-0.8-1.2-1.6-2.7-2.3-4.8c18.6-24.8,18.6-85.5,11.7-103.4c-6.9-17.9-99.3,26.2-212.3-13.8c-68.9-29.9-68.1-84.2-59.4-118%0A%09%09%09c4.5-17.6,11.1-29.6,11.1-29.6c8.7-20.6,14.7-76,34.2-70.3c40.6,11.7,106.8-29.1,164.9-24.4c49.8,4.1,97.3,36.1,128.3,67.6%0A%09%09%09c18.2,18.5,30.7,36.8,34.4,49.1C2741.5,1038.4,2700.5,1163.4,2680.8,1197.5z" class="st17"></path>%0A%09%09<path d="M2759.2,2289.4c0,0-18.6,62.6,23.2,86c41.8,23.4,50.2,8.7,50.2,8.7S2751.6,2373.8,2759.2,2289.4z" class="st9"></path>%0A%09%09<path d="M1712.9,1890.5c-52.6-85.2-72.3-184.5-63.6-284.7c-5.7,3.2-11.6,6.9-17.5,11%0A%09%09%09c0,0-40.7,64.1,46.2,255.8c-60.7,57.2-63.2,76.8-57.8,148.5c3.8,6,7.7,11.4,11.8,16.3C1628.4,1981.4,1663.8,1922.1,1712.9,1890.5z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M1827.7,1946.4c-2.8-88.2-44.1-69.6-38.6-133.1c5.5-63.4,12.4-109.6,15.9-150.3%0A%09%09%09c3.3-38.4-60.9-110.4-155.6-57.2c-8.8,100.2,10.9,199.5,63.6,284.7c-49.2,31.6-84.5,91-80.9,146.9c42.1,50.6,95,40.7,95,40.7%0A%09%09%09s40.7-51,44.8-68.3c11.7,0.7-32.4,71-32.4,71s7.6,14.2,24.1,13C1780.1,2092.5,1830.4,2034.6,1827.7,1946.4z" class="st16"></path>%0A%09%09<path d="M1679.1,1995l-15.9,55.8c0,0,23.8-50.3,29.3-72C1698.1,1957.1,1679.1,1995,1679.1,1995z" class="st18"></path>%0A%09%09<path d="M1719.7,2081.7c0.5-1.4,56.1-102.4,65.3-88.7c9.2,13.7-42,92.4-42,92.4s-5.3,3.1-3.5-4.7%0A%09%09%09c1.8-7.8,42.7-68.9,35.4-68.5c-7.4,0.5-44.1,60.7-47.8,65.7S1719.7,2081.7,1719.7,2081.7z" class="st18"></path>%0A%09%09<path d="M1686.9,2067.8c0,0,33.5-83.7,43.3-79.9c9.8,3.9-39.4,83.3-39.4,83.3L1686.9,2067.8z" class="st18"></path>%0A%09%09<path d="M1653.4,1961.3c0,0-15.7,62.3-15.2,75C1645.6,2045.3,1657.7,1960.6,1653.4,1961.3z" class="st18"></path>%0A%09%09<path d="M1761.8,2227.6c-54.2-19.3-110.3-23.2-166.4-38.7c-0.1,0-0.2-0.1-0.3-0.1c8.4,8.6,16.7,17.2,25.1,25.7%0A%09%09%09c53.2,60.7,288.8,91.2,288.8,91.2s-10.9-9.9-72.5-89.2c-8.1,3.7-16.2,7.5-24.4,11.1C1796.6,2235.3,1777.3,2233.4,1761.8,2227.6z" class="st19"></path>%0A%09%09<path d="M1267.8,1860.2c0,0,164.6,162.1,327.3,328.6c0.1,0,0.2,0.1,0.3,0.1c56.1,15.5,112.2,19.3,166.4,38.7%0A%09%09%09c15.5,5.8,34.8,7.7,50.3,0c8.2-3.6,16.4-7.4,24.4-11.1c-33.8-43.5-82.8-108-153.6-203.3%0A%09%09%09C1514.7,2038.1,1267.8,1860.2,1267.8,1860.2z" class="st20"></path>%0A%09%09<path d="M1894.6,2339.3c-53.4,8-106.9,10.7-163-2.7c-19-4.7-34.6-13.9-48.5-25.2%0A%09%09%09c15.8,36.7,102.7,87.4,133.9,82.8c31.7-4.6,303.8-96.5,339.7-99.3c35.9-2.8,272.6-59.4,293.2-78.4c6.2-5.7,10.6-21.4,10.5-40.6%0A%09%09%09c-161,58-322,87.3-483.1,141.9C1950.7,2325.9,1921.3,2334,1894.6,2339.3z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M2357.9,2061.5c-149.6,34-453,200.5-549.1,192.3c0,0-60.2,7.5-96.1-8.3c-35.9-15.8-83.7-37.4-96.5-28.9%0A%09%09%09c-10.2,6.8,29.5,56.4,52.7,80.6c6,6.2,10.8,10.8,13.5,12.5c0.2,0.6,0.5,1.1,0.7,1.7c13.9,11.3,29.5,20.5,48.5,25.2%0A%09%09%09c56.1,13.4,109.5,10.7,163,2.7c26.7-5.3,56.1-13.4,82.8-21.4c161-54.5,322-83.8,483.1-141.9%0A%09%09%09C2460.3,2131.9,2436.5,2068.5,2357.9,2061.5z" class="st16"></path>%0A%09</g>%0A%09<path d="M5147.8,2758.7c3.3,42.6-104.8,129-220.1,160.2c-111.1,40.4-316.5,84.1-839.1,218.8%0A%09%09c-356.5,91.9-571.8,151.6-716.6,186.6c-191.1,46.2-259.5,49.2-368,26c-51.4-11-96.9-24.7-137.9-40%0A%09%09c-255-95.3-339.6-255.1-634.7-236.4c-200.1,12.7-322,96.2-560,42.5c-136.3-30.7-235.9-89.6-304.8-131.1%0A%09%09c0,0-186.3-112.1-344.2-301.7c-39.9-42.2-73.3-85.6-94.5-130.9l1061.8-81.6L5147.8,2758.7z" class="Graphic_x0020_Style_x0020_118"></path>%0A%09<polygon points="1909,2627.9 2329.7,2696.9 2880.5,2648.9 2839.9,2636 1902.2,2607.7 1873.4,2616.7" class="st21"></polygon>%0A%09<path d="M2902.4,2554.2c0,0,128.1,29.9,198.1,36.5c16.9,26,103.7,26.1,139.2,31.4c35.5,5.3,64.9,60.1,137.9,65%0A%09%09c73,4.9,88.9,32.2,118.2,30.1c29.2-2.1,39.1-54.7,49.7-59.9c10.6-5.2-32-38.9-10.7-45.5C3396.5,2597.2,2902.4,2554.2,2902.4,2554.2%0A%09%09z" class="st21"></path>%0A%09<path d="M3668.6,2761.4c39.6,3,90.3-36.8,169.2-23.5c88.5,14.9,307.2,32.5,354.3-1.4%0A%09%09c61.3,3.3,696.2,65.4,749.1,44.1c52.9-21.3,68-34.5,68-34.5l-1182-107.2c0,0-299.4,44.5-286.7,84.2%0A%09%09C3547.2,2749,3629,2758.4,3668.6,2761.4z" class="Graphic_x0020_Style_x0020_117"></path>%0A%09<path d="M3779.6,3218.3c-115.9-48.9-340.1-136.6-484.1-148c-201.1-15.9-340.3-109.9-337.2-157.7%0A%09%09c3.1-47.8-605.8-113-946.8-126.3c-204.7-8-676.2-112.3-330.9-291.5l-79,6.1c-81.3,57.9-200.4,165.5-77.3,230.8%0A%09%09c174.8,92.7,1373.9,95.9,1387.8,212c13.2,110.3,575.5,195.9,765.9,301.5C3710,3236.7,3743.7,3227.7,3779.6,3218.3z" class="st22"></path>%0A%09<g>%0A%09%09<path d="M4484.2,1461.7v1181h488.7v-1181H4484.2z M4939.2,2561.4h-421.4v-539.8h421.4%0A%09%09%09V2561.4z M4939.2,1982.4h-421.4v-485.5h421.4V1982.4z" class="Graphic_x0020_Style_x0020_107"></path>%0A%09%09<rect height="485.5" width="355.8" class="Graphic_x0020_Style_x0020_118" y="1496.9" x="4583.5"></rect>%0A%09%09<rect height="485.5" width="65.6" class="Graphic_x0020_Style_x0020_119" y="1496.9" x="4517.8"></rect>%0A%09%09<rect height="539.8" width="80.1" class="Graphic_x0020_Style_x0020_119" y="2021.5" x="4517.8"></rect>%0A%09%09<rect height="539.8" width="341.3" class="Graphic_x0020_Style_x0020_118" y="2021.5" x="4597.9"></rect>%0A%09%09<polygon points="5067.7,1559.5 4972.9,1461.7 4975.8,2765.4 5070.3,2765.4" class="Graphic_x0020_Style_x0020_110"></polygon>%0A%09</g>%0A%09<g>%0A%09%09<polyline points="2442.7,2752.3 2386.8,2825.9 2352.6,2827.7 2416.8,2743.1 2832.6,2738.3 %0A%09%09%092839.9,2747.7" class="Graphic_x0020_Style_x0020_117"></polyline>%0A%09%09<polygon points="2832.6,2738.3 2416.8,2743.1 2352.6,2827.7 2134.5,2839.2 2105.5,2724.6 %0A%09%09%092798.5,2694.4" class="Graphic_x0020_Style_x0020_117"></polygon>%0A%09%09<polygon points="3202.8,2854.8 2364.9,2854.8 2386.8,2825.9 2442.7,2752.3 2839.9,2747.7 %0A%09%09%093134.1,2744.3" class="Graphic_x0020_Style_x0020_117"></polygon>%0A%09%09<polygon points="2839.5,2730.9 2805.3,2687.1 2112.4,2717.2 2141.4,2831.8 2359.4,2820.3 %0A%09%09%092393.7,2818.5 2449.6,2745 2846.8,2740.3" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09%09<polygon points="3202.8,2848.8 2364.9,2848.8 2386.8,2819.9 2442.7,2746.3 2839.9,2741.7 %0A%09%09%093134.1,2738.3" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09</g>%0A%09<g>%0A%09%09<path d="M3326.7,2053.5c67.2,11.8,127,45.4,188.5,75.5c-25.6-21.6-54.4-38-66.9-44.7c-69.9-65-238.4-55.8-331.3-54.5%0A%09%09%09c-56.7,0.8-107.4,28.8-147.4,65.5C3076.9,2034.1,3204.5,2033.1,3326.7,2053.5z" class="st23"></path>%0A%09%09<path d="M3390.7,2125.6c29.4,10.7,40.1,48.1,64.1,69.5c33.5,30.3,76.4,36.8,117.6,27.5c-4-13-8.3-25.7-12.8-37.7%0A%09%09%09c-7.5-20.2-25.1-39.4-44.4-55.7c-61.4-30.2-121.3-63.8-188.5-75.5c-6.7-1.1-13.5-2.2-20.2-3.1c2.5,4.5,4.8,9.1,6.8,13.8%0A%09%09%09c6.9,18.8,10.9,38,12.4,57.2C3347.5,2119.7,3369.7,2120.3,3390.7,2125.6z" class="st23"></path>%0A%09%09<path d="M3454.8,2195c-24-21.4-34.7-58.8-64.1-69.5c-21.1-5.3-43.3-5.9-65.1-4.2c6.4,84.5-36.4,169.9-95.2,228.6%0A%09%09%09c-29.4,32.1-61.4,58.8-101.5,82.8c-32.1,21.4-66.8,37.4-101.5,53.4c-41.6,14.5-81.5,4.8-119.8-10.2c3.7,32.6,11.1,70.7,27.1,85.4%0A%09%09%09c2.2,2,149.9,56.5,246.1,29.3c130.3-36.9,227.4-163.5,314.2-210.2c10.9-5.9,21.4-12.4,31.4-19.5l-0.4-14l53.6-33.2%0A%09%09%09c3.8-4.2,7.6-8.5,11.2-12.9c-4.1-26.8-10.7-53.3-18.4-78.3C3531.3,2231.8,3488.3,2225.3,3454.8,2195z" class="st24"></path>%0A%09%09<path d="M2963.9,2113.7l-74.4,244.3c3.2,19.6,7.7,41,13.7,64.4c0.8-0.5,1.1,24.3,4.3,53.6%0A%09%09%09c38.3,15.1,78.3,24.8,119.8,10.2c34.7-16,69.5-32.1,101.5-53.4c40.1-24,72.1-50.8,101.5-82.8c65-65,110.5-162.6,91.4-255.6%0A%09%09%09C3210,2135.2,3083,2108.6,2963.9,2113.7z" class="st25"></path>%0A%09%09<path d="M3321.8,2094.4c-2.1-10.2-4.9-20.2-8.6-30.2c-2-4.6-4.2-9.2-6.8-13.8c-116-16.9-235.4-12.9-336.9,44.9%0A%09%09%09l-5.6,18.4C3083,2108.6,3210,2135.2,3321.8,2094.4z" class="st26"></path>%0A%09%09<path d="M3590.8,2300.8c-3.6,4.4-7.4,8.7-11.2,12.9l12-7.5C3591.4,2304.4,3591.1,2302.6,3590.8,2300.8z" class="st9"></path>%0A%09%09<g>%0A%09%09%09<path d="M3452.4,2090.3c-50.3-112.2-85.1-243.7-193.4-309.5c-17.4-9.7-50.3-13.5-71.6,3.9%0A%09%09%09%09c-34.5,27-36.4,68-35.6,109.5c51.1,42.2,96.7,74.2,118.4,75.2c65,3,117,150.1,192.8,215.4c35.5,30.6,78.2,23.7,113.6,7.7%0A%09%09%09%09c-19.8-3.7-39.3-11.4-54.6-19C3487.2,2158,3467.9,2123.1,3452.4,2090.3z" class="Graphic_x0020_Style_x0020_116"></path>%0A%09%09%09<path d="M3489,1994.5c-13.8-96.5-49-197.2-111.1-242.1c-62.1-44.9-38.1-160-114.8-199.7%0A%09%09%09%09c-190.3-102-287.5,4.8-333,55.2c-45.5,50.3-4.1,77.2-4.1,77.2s123.9,124.8,225.9,209c-0.9-41.4,1-82.4,35.6-109.5%0A%09%09%09%09c21.3-17.4,54.2-13.5,71.6-3.9c108.3,65.8,143.1,197.3,193.4,309.5c15.5,32.9,34.8,67.7,69.6,83.2c15.3,7.7,34.8,15.3,54.6,19%0A%09%09%09%09c40.3-18.2,71.2-48.2,71.2-48.2S3502.8,2091.1,3489,1994.5z" class="Graphic_x0020_Style_x0020_108"></path>%0A%09%09%09<path d="M3182.3,2144.3c-13.4-74.8,34.7-189.7-58.8-221.7c-16-61.4,5.3-128.2-37.4-184.3%0A%09%09%09%09c-33.7-46.4-75.8-81.1-127.5-97.6c-15.4,4-42.2,14-46.3,24.6c-13.8,35.6-24.4,108.3-3.6,195.1c19.9,94,53.6,191.2,151.7,162.7%0A%09%09%09%09c51,68.9,51,103.4,48.3,128.2c25.3,30.5,60,37.2,94.1,32.1C3192.8,2173.6,3185.5,2160.8,3182.3,2144.3z" class="st16"></path>%0A%09%09%09<path d="M3314.2,2124.9c-5.5-129.6-75.8-207-93.8-211.7c30.3-46.1,33.1-82-6.9-106.8%0A%09%09%09%09c-40-24.8-57.9,67.6-57.9,67.6s-19.3,18-16-3.3c17.7-114.7-62.5-214-170.5-231.9c-1.2-0.2-5.1,0.5-10.4,1.9%0A%09%09%09%09c51.7,16.5,93.8,51.2,127.5,97.6c42.7,56.1,21.4,122.9,37.4,184.3c93.5,32.1,45.4,146.9,58.8,221.7c3.1,16.5,10.5,29.3,20.4,38.9%0A%09%09%09%09C3250.3,2176,3296.5,2145.8,3314.2,2124.9z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09%09<path d="M2969,1635.8c0,0,75.2,27.2,72.4,70.7c-2.8,43.5-9.8,77.5,56.3,98.1c-31.6-35.6-34.2-44-26.9-86.3%0A%09%09%09%09S3035.8,1587.8,2969,1635.8z" class="st17"></path>%0A%09%09%09<path d="M2789.6,2288.5c-77.5,101.5-203,106.9-323.3,128.2c-27.7,5.9-43.7,28.1-64.3,43.4%0A%09%09%09%09c7.2,13.8,19.1,27.9,28,39.8c0.5-0.1,1.1-0.3,1.6-0.4c159.5-16.7,359.4-29.1,470.9-150.7l-0.1-16l61-218.3%0A%09%09%09%09c-27.4,9-56.1,12.8-77.6,32.4C2837.7,2184.3,2824.3,2243.1,2789.6,2288.5z" class="st25"></path>%0A%09%09%09<path d="M3017.4,2050.7c-17.9,4.3-35.5,9.7-52.8,16.1c-58.6,21.8-113.1,55-149.7,106.6%0A%09%09%09%09c-16.4,23.2-29.7,48.3-42.2,73.7c-5.8,11.7-11.7,21.5-19.5,31.9c-8.1,10.8-17.8,20.2-27.8,29.2c-21.9,19.5-47.7,34.4-75.4,44.1%0A%09%09%09%09c-33.1,11.6-67.9,16.1-101.5,25.4c-82.7,23-147.1,41.1-152.6,60.5c-0.2,7,2.3,14.5,6.2,22c20.6-15.4,36.6-37.5,64.3-43.4%0A%09%09%09%09c120.2-21.4,245.8-26.7,323.3-128.2c34.7-45.4,48.1-104.2,96.2-141.6c21.5-19.6,50.2-23.4,77.6-32.4l5.1-18.3%0A%09%09%09%09c11-10.8,16.7-15,29.5-24.1c14.7-10.5,30.5-19.7,47.1-26.7c0.1-0.2,0.2-0.4,0.3-0.6C3036,2046.5,3026.6,2048.4,3017.4,2050.7z" class="st23"></path>%0A%09%09%09<path d="M3045.4,2044.9c-0.1,0.2-0.2,0.4-0.3,0.6c0.7-0.3,1.4-0.6,2.1-0.9%0A%09%09%09%09C3046.6,2044.7,3046,2044.8,3045.4,2044.9z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09%09%09<path d="M2431.6,2499.6c-0.5,0.1-1.1,0.3-1.6,0.4c0.9,1.2,1.8,2.4,2.6,3.6c10.8,15.3,7.8,45,49.1,42.6%0A%09%09%09%09c30.8-6,230-18.7,273.3-29.7c32-8.2,82.2-26.3,148.2-94.1l-0.7-73.5C2791,2470.5,2591.1,2482.9,2431.6,2499.6z" class="st24"></path>%0A%09%09%09<path d="M2398.2,2439.8c0,0,40.7-31.7,69.6,4.1c29,35.9,49.3,96,29,100.7c-20.4,4.6-65.8,2.1-87-35.2%0A%09%09%09%09C2388.5,2472.2,2387.5,2454.3,2398.2,2439.8z" class="st27"></path>%0A%09%09%09<path d="M3350.7,1877.1c18.7-58.6,71.9-104,69.5-165.2c-4.1,1.2-8.2,5.1-10.8,12.5c-7.6,21.4-71.4,103.8-71.4,103.8%0A%09%09%09%09s0,0,3.8-22.1s1.4-35.5-9.7-36.9c-11-1.4-18.3,10.3-18.3,10.3c1-31-13.4-29.3-23.4-27.6c-10,1.7-9.3,51.4-10,64.8%0A%09%09%09%09c-0.7,13.4-15.2,26.9-20-4.1c-2.8-35.9-40.7-71.7-51.7-66.9c-11,4.8,14.8,62,13.1,94.5c-1.7,32.4-20,100.7-5.5,148.2%0A%09%09%09%09c14.5,47.6-3.4,102-3.4,102l85.3,21.2c4.2-67.5,4.5-134.6,44.5-197.1C3350.7,1903.8,3348,1890.5,3350.7,1877.1z" class="st16"></path>%0A%09%09%09<path d="M3420.1,1711.9c2.4,61.2-50.8,106.6-69.5,165.2c-2.7,13.4,0,26.7-8,37.4%0A%09%09%09%09c-40,62.5-40.2,129.7-44.5,197.1l22.9,5.7c0,0-3.5-115.8,17.2-141.3c20.7-25.5,15.2-80,25.3-108.9c10.1-29,71.3-117.9,72-137.2%0A%09%09%09%09C3436,1717.3,3427.9,1709.7,3420.1,1711.9z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09%09<path d="M3305.2,1839.7c-0.4,0.9,11-56.8,9-67.2c4.3,1.6,4.3,1.6,4.3,1.6S3312.8,1824.1,3305.2,1839.7z" class="st9"></path>%0A%09%09%09<g>%0A%09%09%09%09<polygon points="2369.1,2558.8 2880.5,2623.2 2325,2668.2 1891.1,2604.1" class="Graphic_x0020_Style_x0020_115"></polygon>%0A%09%09%09%09<polygon points="2264.3,2566.5 2626.8,2624.8 2334.4,2648.9 2170.4,2611.3" class="Graphic_x0020_Style_x0020_109"></polygon>%0A%09%09%09%09<path d="M2421.8,2452.1c-5.6-0.2-22.6,8.6-22.6,8.6s-13.8-44.1-80.7-43.4s-64.8,65.5-64.8,65.5s5.5,77.2,26.9,93.1%0A%09%09%09%09%09c21.4,15.9,99.3,4.1,102.4,0c3.1-4.1,45.3-6.9,66.9-30.3c21.6-23.4,33.5-24.4,33.5-24.4S2463.5,2453.5,2421.8,2452.1z" class="st16"></path>%0A%09%09%09%09<path d="M2319.3,2460c0,0-45.5,32.4-15.2,90.3c-6.8,0.6-6.8,0.6-6.8,0.6%0A%09%09%09%09%09S2262.7,2493.1,2319.3,2460z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09%09%09<path d="M2376.8,2552.2c0,0-56.9-11.2-43.1-33.6c13.8-22.4,45.5-15.9,46.9-24.5%0A%09%09%09%09%09c1.4-8.6-15.9-23.8-21.7-14.5c-5.9,9.3-15.5,25.2-15.5,25.2s-24.1,6.2-17.9,23.1c6.2,16.9,33.8,15.5,6.2,16.9%0A%09%09%09%09%09c-27.6,1.4-39.6,0-39.6,0s-7.4,36.2,7.3,37.5c14.7,1.4,61.6,6.9,105-10.3c43.4-17.2,43.8-24.7,43.8-24.7%0A%09%09%09%09%09S2401.3,2559.2,2376.8,2552.2z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09%09%09<polygon points="2331,2682 2848.1,2642 2880.5,2623.2 2322,2668.2 1885.6,2604.1 %0A%09%09%09%09%091893.9,2613.5" class="Graphic_x0020_Style_x0020_109"></polygon>%0A%09%09%09%09<path d="M1784.9,2001.5l427.1,0.5l15.9,3c18.3,3.5,31.9,18.7,33.5,37.3c9.9,120.2,38.5,538.8,42.7,616.9%0A%09%09%09%09%09c0.3,6.5-11.2,15-17.7,14.2l-444.6-65.8L1784.9,2001.5z" class="st28"></path>%0A%09%09%09%09<path d="M1794.6,1993.3l411.5,8.2c15.8,0.3,28.8,12.5,30.1,28.3c10.4,126.7,52.8,644.5,49.2,643.3%0A%09%09%09%09%09c-3.6-1.2-348.6-51.6-443.5-65.4c-14.1-2.1-24.9-13.4-26.2-27.6l-52.4-553C1761.5,2008.7,1776.2,1992.9,1794.6,1993.3z" class="st29"></path>%0A%09%09%09</g>%0A%09%09%09<path d="M3465.5,2285.9c-5.8-29.1-28.6-54-57-68.5c9.3,57-21.2,85.5-21.2,85.5c-6.8,3.4-40.2,78.1-48.3,71.7%0A%09%09%09%09c-4.1-3.3-5.8-14.7-6.3-29.4c-17.3-67.3-4-136.5-11.5-203.5c-2.3-18.1-0.7-36.2-6.7-52.6c-6.5-5.5-15.7-10.3-27.9-14.4%0A%09%09%09%09c0.8,120.3-17.7,240.4,10.5,355.6c8,37.4,77.5,16,112.2-8C3452.2,2392.7,3478.9,2339.3,3465.5,2285.9z" class="st24"></path>%0A%09%09%09<path d="M3332.7,2345.1c-0.9-27.1,2.3-65.1,1.7-83.5c-0.9-28.4,4.6-84.2-6.4-147.7c-0.5-9.3-4.6-17.6-13.4-24.9%0A%09%09%09%09c5.9,16.5,4.4,34.5,6.7,52.6C3328.7,2208.5,3315.4,2277.8,3332.7,2345.1z" class="st27"></path>%0A%09%09%09<path d="M3591.6,2306.2l-189.3-113.8c2.9,8.8,4.9,17.1,6.2,24.9c28.4,14.5,51.2,39.4,57,68.5%0A%09%09%09%09c4.9,19.6,4.4,39.1-0.3,57.5c36.8,33.3,76.9,62.3,118.5,89.3C3596.9,2393.5,3597.6,2349.6,3591.6,2306.2z" class="st24"></path>%0A%09%09%09<path d="M3226.7,2062.8c-4.2-0.5-8.6-0.9-13.2-1.3c-89.6,102-96.5,485.4-63.4,524c10.1,11.8,36.5,17.9,71.6,18.6%0A%09%09%09%09c-2.7-1.6-5.1-3.5-7.3-5.6C3080,2450.9,3137.9,2222.8,3226.7,2062.8z" class="st23"></path>%0A%09%09%09<path d="M3465.3,2343.4c-8.1,31.8-28.7,60.1-55.8,78.8c-34.7,24-104.2,45.4-112.2,8%0A%09%09%09%09c-28.2-115.2-9.7-235.3-10.5-355.6c-15.1-5.1-34.8-9.1-60-11.8c-88.8,160-146.7,388.1-12.3,535.7c2.1,2.1,4.6,4,7.3,5.6%0A%09%09%09%09c79.8,1.5,205-25.2,288.3-77.9c38.4-24.3,61.5-56.9,73.7-93.5C3542.2,2405.6,3502.1,2376.6,3465.3,2343.4z" class="st25"></path>%0A%09%09</g>%0A%09%09<path d="M3123.6,1922.5c3.2,5.9-36.5,92.1-63.1,100.4c35,56.6,28,41.3,37.6,63.1c63.2-44,78.1-61.9,78.3-92.2%0A%09%09%09C3177.1,1914.4,3123.6,1922.5,3123.6,1922.5z" class="st30"></path>%0A%09</g>%0A%09<g>%0A%09%09<path d="M3972.8,2436.5c-19.3-100.6-1.9-197.3,30.9-292.1c1.9-7.7,9.7-13.5,11.6-23.2%0A%09%09%09c13.5-58,34.8-108.3,58-160.5c1.9-7.7,1.9-15.5,3.9-23.2c1.5-4.4,6.3-7.7,9.3-11.5c-108.6,18.8-247.9,49.9-313.3,64.9%0A%09%09%09c22.2,33.7,40.9,69.3,52.5,109.1c3.9,7.7,13.5,13.5,17.4,21.3c3.9,5.8,0,11.6,3.9,17.4c11.6,15.5,21.3,29,25.1,48.4%0A%09%09%09c1.9,3.9,7.7,5.8,7.7,9.7c0,94.8,7.7,189.6,0,284.3c-6.7,72.9-22.6,143.8-37.3,214.7c84.9-0.2,183-1.6,281.4-2.7%0A%09%09%09c-52.2-58.4-91.1-128-129.9-198.4C3984.4,2475.2,3976.6,2455.8,3972.8,2436.5z" class="Graphic_x0020_Style_x0020_114"></path>%0A%09%09<path d="M4194.9,2483.6c82.8-18.7,163-5.3,237.8,48.1c8,8,26.7,5.3,37.4,0%0A%09%09%09c58.6-34.6,128.4-61.3,198-68.7c-150.8-225.4-393-546.7-446.5-551.9c-23.2-2.2-74.3,4.4-135,14.8c-3.1,3.9-7.9,7.1-9.3,11.5%0A%09%09%09c-1.9,7.7-1.9,15.5-3.9,23.2c-23.2,52.2-44.5,102.5-58,160.5c-1.9,9.7-9.7,15.5-11.6,23.2c-32.9,94.8-50.3,191.5-30.9,292.1%0A%09%09%09c3.3,16.6,9.5,33.3,17.3,49.9C4050.6,2508.5,4130.6,2499.3,4194.9,2483.6z" class="Graphic_x0020_Style_x0020_105"></path>%0A%09%09<path d="M4470.1,2531.7c-10.7,5.3-29.4,8-37.4,0c-74.8-53.4-155-66.8-237.8-48.1%0A%09%09%09c-64.3,15.7-144.3,24.9-204.8,2.8c1.3,2.7,2.6,5.4,3.9,8.1c38.9,70.4,77.7,140.1,129.9,198.4c233-2.6,467.2-3.9,529.1,13.9%0A%09%09%09c110.3,31.7,131,20.7,137.9-30.3c2.3-16.7-49.5-103.7-123-213.5C4598.5,2470.4,4528.6,2497,4470.1,2531.7z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M3879.9,2196.6c0-3.9-5.8-5.8-7.7-9.7c-3.9-19.3-13.5-32.9-25.1-48.4c-3.9-5.8,0-11.6-3.9-17.4%0A%09%09%09c-3.9-7.7-13.5-13.5-17.4-21.3c-11.6-39.8-30.4-75.4-52.5-109.1c-23.2,5.3-37.1,8.6-37.1,8.6s-76.6,50.8-73.5,108.1%0A%09%09%09c3.1,57.3,7.7,545.5-0.1,585.4c44.9,2.2,107.7,2.8,180,2.6c14.8-70.9,30.6-141.8,37.3-214.7%0A%09%09%09C3887.6,2386.2,3879.9,2291.4,3879.9,2196.6z" class="st31"></path>%0A%09%09<path d="M3622.6,2308.8c7.7-30.9,11.6-63.8,40.6-85.1c3.9-3.9,1.9-9.7,5.8-13.5c21.7-17.1,39.8-41.6,63-53.7%0A%09%09%09c-6.4-58.7-17.6-101.8-29.1-95c-30.3,17.9-474.3,322.7-497.1,369.5s-42.1,123.7,13.1,152.8c0,0-20.7-133.5,59.3-157%0A%09%09%09c80-23.4,155.8,45.5,157.2,51c0.7,2.8,16.3,25.9,31.7,46.8c24.5-12.2,48.8-24.7,72.3-41.8%0A%09%09%09C3593.6,2440.4,3609.1,2376.5,3622.6,2308.8z" class="st32"></path>%0A%09%09<path d="M3669.1,2210.2c-3.9,3.9-1.9,9.7-5.8,13.5c-29,21.3-32.9,54.2-40.6,85.1c-13.5,67.7-29,131.5-83.2,174.1%0A%09%09%09c-23.4,17.1-47.7,29.6-72.3,41.8c14.9,20.3,29.7,38.6,30.4,34.1c1.4-9.2,146.2-90.6,205.5-136.8c36.9-28.8,39.6-168.5,29.1-265.5%0A%09%09%09C3708.8,2168.5,3690.8,2193.1,3669.1,2210.2z" class="st31"></path>%0A%09%09<path d="M3252.8,2424.8c-14.7,6.4-25.2,15.5-32.7,25.8c33.5,31.1,84.8,42,119.8,22.2c22.9-10.4,45.8-17.6,64.9-32.9%0A%09%09%09c-0.9-0.6-1.9-1.3-3.1-2.1C3385.9,2421.4,3321.1,2395.2,3252.8,2424.8z" class="st16"></path>%0A%09%09<path d="M3220.1,2450.6c-5.4,7.5-9.3,15.6-11.9,23.8c11.3,29.8,34.2,55.9,59.6,75.9%0A%09%09%09c39.9,36.8,89.5,48.9,140.2,47.1l4-152.6c0,0,0,0-7.2-4.8c-19.1,15.3-42,22.5-64.9,32.9%0A%09%09%09C3304.9,2492.6,3253.6,2481.7,3220.1,2450.6z" class="Graphic_x0020_Style_x0020_113"></path>%0A%09%09<path d="M3267.8,2550.4c-25.4-20-48.3-46.1-59.6-75.9c-0.6,1.9-1.2,3.9-1.7,5.8%0A%09%09%09c-3.2,12.6-4,25-3.7,35.5c0.4,15.7,3.1,26.9,3.1,26.9s73.1,121.3,186.1,122.7c14.5-13.8,14.5-13.8,14.5-13.8l0.5-17.8l0.7-24.6%0A%09%09%09l0.3-11.9C3357.3,2599.3,3307.7,2587.2,3267.8,2550.4z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09<path d="M3235.6,2602c0,0,20.6,1.7,15.5-3.8c-16.6-18-47.6-98.2-21.8-124.8c29.7-30.7,122.5-41.5,160.6-26.4%0A%09%09%09c-3.3-14.6-3.3-14.6-3.3-14.6s-76.5-31-120-13.1c-43.4,17.9-62.2,9.2-63.8,77c-1.7,67.8,9.5,101.6,23.2,107.8%0A%09%09%09C3239.7,2610.3,3235.6,2602,3235.6,2602z" class="st33"></path>%0A%09%09<path d="M3226,2604.1c0,0-34.8-98.6-3.2-143.2s183.6-37.2,209.7,22.5c15.9-4.6,15.9-4.6,15.9-4.6%0A%09%09%09s51.4-54.7-36.3-81.6c-87.8-26.9-216.5,9.7-228.4,92.5S3199.4,2597,3226,2604.1z" class="st20"></path>%0A%09%09<path d="M3340,2529c32.1-10.7,40.1-29.4,53.4-58.8c2.7-5.3,21.4,2.7,32.1-5.3%0A%09%09%09c34.7-32.1,80.1-48.1,120.2-32.1c9,3,17.6,7.1,26,11.5c-6.3-16.9-12.8-29.1-12.8-29.1s-3-1.5-7.6-3.6%0A%09%09%09c-11.7-5.4-33.9-14.8-44.8-14.3c-15.2,0.7-29.9,22.1-29.9,22.1s-32.8-9-49.4,0c-16.5,9-18.5,35.5-18.5,35.5s-15.9-1.7-33.9,7.3%0A%09%09%09s-6.2,37.2-6.2,37.2s-15.2-12.4-42.1,6.2c-20.5,12.6-13.4,51.1-1.3,85.4C3326.1,2565.1,3319.5,2533.5,3340,2529z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M3545.7,2432.8c-40.1-16-85.5,0-120.2,32.1c-10.7,8-29.4,0-32.1,5.3c-13.4,29.4-21.4,48.1-53.4,58.8%0A%09%09%09c-20.4,4.5-13.9,36.1-14.7,61.9c4.6,13,9.9,25.4,14.7,35.5c6.7,14.3,12.4,24,13.6,24.5c32.4,14.5,39.8-12.1,39.8-12.1%0A%09%09%09s7.4,27.2,34.4,26.6c27-0.6,13.8-43.4,13.8-43.4s36.8,33.1,54,29c17.2-4.1,4.1-42.1,4.1-42.1s23.4,27.6,48.3,21.4%0A%09%09%09c24.8-6.2-10.3-94-10.3-94s24.1,13.3,41.4-12.2c10.5-21.9,1.8-55.6-7.2-79.8C3563.2,2439.9,3554.7,2435.8,3545.7,2432.8z" class="st16"></path>%0A%09%09<path d="M3855.6,1746.2c-34.7-66.8-53.4-157.6-120.2-181.7c-70.3-26.7-149.3,8.2-227.2-3%0A%09%09%09c-21.3,43.8-31,95-34.5,140.3c-7.9,103.1,20.2,204.3,82.4,287.5c9.2,12.3,20.1,15.4,35.2,15.3c13.5-0.1,92.2-26.6,94.3-24.1%0A%09%09%09c0,0,89.2,104.8,138.8,155.4c3.9,4,7.6,7.6,11.1,10.9c41,38.7,55.1,33.2,55.1,33.2s66.2-16.5,80-60.7c13.8-44.1,68-261.3,68-261.3%0A%09%09%09s-2.5-6.5-5.6-15.8C3959.1,1845.2,3889.3,1813.7,3855.6,1746.2z" class="st16"></path>%0A%09%09<path d="M4022,1797.7c-2.8-24.8,81.8-357.6-168.2-366.8c-89.9-3.3-189,3.2-269.9,46.9%0A%09%09%09c-34.4,18.6-58.8,48.8-75.7,83.7c77.9,11.2,156.9-23.7,227.2,3c66.8,24,85.5,114.9,120.2,181.7c33.8,67.5,103.5,99,177.4,96.1%0A%09%09%09c-1.2-3.7-2.5-7.7-3.8-12.1C4026.1,1819.7,4023.1,1807.8,4022,1797.7z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M4069.8,1569.7c-23-40.4-27.6-96.5-46-109.4c-0.8-25.3-12.8-44.3-33.2-58.9%0A%09%09%09c-26.3-18.9-66.6-30.6-114.7-39.4c-85.5-15.6-326.4,68.3-388.9,41.2c-46.2-20-44.1,85.7-44.1,85.7s-0.6,8.6,2.7,18.9%0A%09%09%09c0.8,2.6,1.9,5.3,3.4,8c6.8,13.1,21.3,26,51.9,25.5c61.6-0.9,148-35.8,156.3-17.5c8.3,18.4,0.9,143.8,12.9,163.8%0A%09%09%09c4.5,0.7,8.3,1.3,11.5,1.8c16,2.6,16,2.6,16,2.6s1.8-85.5,55.2-84.1c18.2,0.5,37.2,5.3,55.1,14.9c34.5,18.6,64.6,55.2,75.4,113.4%0A%09%09%09c16.6,88.2,147.1,77.2,147.1,77.2s2.3-7.5,5.9-19.9c5.1-17.8,12.8-45.6,20-75.9C4070,1659,4082.1,1591.2,4069.8,1569.7z" class="Graphic_x0020_Style_x0020_108"></path>%0A%09%09<polygon points="3720.5,1573.4 3453,1652.4 3452.3,1641 3736.1,1563.3" class="Graphic_x0020_Style_x0020_110"></polygon>%0A%09%09<path d="M3661.3,2544.8c-2.7-1-5.3-2.4-7.9-4.1c4.4,48.9,8.2,80.7,8.2,80.7l146.2-7.8%0A%09%09%09c0,0,5.8-43,13.8-101.1c-7.6,1.5-15.3,3.9-23,7.2C3756.1,2539,3707.8,2556.4,3661.3,2544.8z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M3847.5,2157.6c-42.9-65.3-126-117.2-122.4-138.8c-110.1-35.4-87.2,349.7-71.6,521.9%0A%09%09%09c2.6,1.7,5.2,3.1,7.9,4.1c46.4,11.6,94.8-5.8,137.3-25.1c7.7-3.3,15.3-5.7,23-7.2c11.1-80.9,26.4-191.1,35.8-255.6%0A%09%09%09C3859.9,2240.5,3857.5,2172.8,3847.5,2157.6z" class="st32"></path>%0A%09%09<path d="M4242.6,2242.6c0,0,36.8,108.5,119.5,116.7c-13.8,52.4,206.2,183.4,206.2,183.4l9.8-23.8l-239.8-248.8%0A%09%09%09L4242.6,2242.6z" class="st34"></path>%0A%09%09<path d="M3298.6,2799c-8.5,5.6-14.3,9.3-14.8,9.1c-2.1-0.7-22.1,19.3-22.1,19.3%0A%09%09%09s33.8,2.8,36.5,0c0.5-0.5,4.9-3.2,11.4-7C3308.5,2811.6,3304.6,2802.8,3298.6,2799z" class="Graphic_x0020_Style_x0020_108"></path>%0A%09%09<path d="M3379,2744c0,0-53.6,37.3-80.3,55c3.9,2.5,6.9,7,8.8,12.3l95.8-56.5%0A%09%09%09C3402.9,2747.5,3396.9,2742.8,3379,2744z" class="Graphic_x0020_Style_x0020_112"></path>%0A%09%09<path d="M3307.5,2811.4c1.1,2.9,1.8,6,2.3,9.1c26.5-15.5,89.9-50.9,89.9-50.9%0A%09%09%09c2.2-5.4,3.8-10.5,3.6-14.7L3307.5,2811.4z" class="Graphic_x0020_Style_x0020_110"></path>%0A%09%09<path d="M4750.6,2686.6c-104.2,18.7-203,5.3-304.6,0c-109.5-2.7-227.1-26.7-334,16%0A%09%09%09c-80.1,29.4-171-21.4-261.8-2.7c-64.6,14.9-126.9,34.4-189.1,52.1c1.8,0.1,3.8,0.2,6,0.2c37.2,0,155.8-45.5,257.9-29%0A%09%09%09s212.4,30.3,251-6.9c96.5,5.5,601.2,41.4,650.9,26.2c10.9-23.2,13.8-50.2,10.6-77.7C4808.9,2673.1,4780.3,2680.7,4750.6,2686.6z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M4112.1,2702.6c106.9-42.7,224.4-18.7,334-16c101.5,5.3,200.4,18.7,304.6,0c29.7-5.9,58.4-13.5,86.9-21.6%0A%09%09%09c-9.7-83.3-75.3-171.2-141.6-173.3c-45.6,12.2-90.4,22.8-134.1,31.9c-331.1,69.3-596.5,55.3-657.4,37%0A%09%09%09c-68.9-20.7-170.7,19.4-243.8,51.1c-73.1,31.7-122,56.6-95.8,74.6c-0.8,1.2-5,6.1-5.1,9.5c-0.1,3.5-5.8,5.5-8.7,8.7%0A%09%09%09c-8.6,9.5-7.7,26.2,7.4,27.1c1.8,0.1,3.6,0.3,5.3,0.6c20,3.4,31.7,17.6,60.9,4.9c30.3-4.1,30.3-4.1,30.3-4.1s-21.9,17.1,6.4,19.1%0A%09%09%09c62.2-17.7,124.5-37.2,189.1-52.1C3941.1,2681.3,4031.9,2732,4112.1,2702.6z" class="st16"></path>%0A%09%09<path d="M5017.7,2587.8c-2.7-5.3,2.7-13.4,0-18.7c-37.4-72.1-72.1-141.6-130.9-195%0A%09%09%09c-45.4-42.7-96.2-77.5-141.6-120.2c-64.1-53.4-101.5-125.6-173.7-165.6c-80.1-45.4-157.6-88.2-243.1-120.2%0A%09%09%09c-56.1-18.7-114.9-8-173.7-10.7c-8,0-13.4-8-18.7-8c-26.9-3.6-52.7-12-77.2-22.8l-4.1,6.3l-47.1,153.2l241.3,154.8%0A%09%09%09c0.7,4.9,2.5,10,5.3,15.1c70.7-21.4,153.8-12.5,210.4,35.3c58.8,50.8,77.5,133.6,138.9,176.3c50.8,37.4,117.6,48.1,155,101.5%0A%09%09%09c26.3,32.9,23.8,78.3-4.4,111.2c16.3,20,31.9,41.7,46.4,65.4c43.6,17.7,172.5,20.1,226.6-52.4%0A%09%09%09C5038.9,2660.1,5036.7,2621.8,5017.7,2587.8z" class="Graphic_x0020_Style_x0020_105"></path>%0A%09%09<path d="M4666.9,2134.6c-215.1-230.3-311.2-220.2-404.5-226.6%0A%09%09%09c-58.4-29.4-93.8-48.3-120.4-4.6c-12.4-21.6-57-17.5-57-17.5l-26.1,40.5c24.5,10.8,50.2,19.2,77.2,22.8c5.3,0,10.7,8,18.7,8%0A%09%09%09c58.8,2.7,117.6-8,173.7,10.7c85.5,32.1,163,74.8,243.1,120.2c72.1,40.1,109.5,112.2,173.7,165.6c45.4,42.7,96.2,77.5,141.6,120.2%0A%09%09%09c58.8,53.4,93.5,122.9,130.9,195c2.7,5.3-2.7,13.4,0,18.7c18.9,34.1,21.2,72.4,9.5,105.5c14.4-19.2,23.5-43.8,24.4-74.7%0A%09%09%09C5055.7,2471,4882,2364.8,4666.9,2134.6z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M4758.6,2569.1c-37.4-53.4-104.2-64.1-155-101.5%0A%09%09%09c-61.4-42.7-80.1-125.6-138.9-176.3c-56.5-47.8-139.6-56.7-210.4-35.3c25.1,47.2,127.1,102.1,127.1,102.1s20.7,44.1,55.2,84.1%0A%09%09%09c30.5,35.4,193.5,85.8,317.6,238.2C4782.4,2647.3,4784.9,2601.9,4758.6,2569.1z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M3715.8,2015.7l-33.4,5.8c0,0,86.9,194.9,81.4,227c99.3-46.4,98.4-56.1,98.4-56.1%0A%09%09%09l-7.4-38.1C3852.2,2113.2,3774.4,2063.6,3715.8,2015.7z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09%09<path d="M4035.3,1825.7c0,0-127.3,345.2-108.9,400.3c60.7-14.7,108.9,4.6,108.9,4.6%0A%09%09%09s-11.5-222.5,55.6-345.6C4061.5,1845.5,4035.3,1825.7,4035.3,1825.7z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09%09<path d="M3654.8,2733l130-51c-71.4,10.3-156.4,53.6-160.3,55.2C3633.4,2740.2,3654.8,2733,3654.8,2733z" class="st18"></path>%0A%09%09<path d="M3576.1,2735.8c0,0,55.9-47.6,182.8-76.5c-16.5-5.5-133.9,28.9-190.4,74.1%0A%09%09%09C3573.4,2738.5,3576.1,2735.8,3576.1,2735.8z" class="st18"></path>%0A%09%09<path d="M3558,2699.3c0,0,110.1-70.4,179-82.8c-35.9-12.4-176.2,71.6-176.2,71.6L3558,2699.3z" class="st18"></path>%0A%09%09<path d="M3834.5,1885.6c0,0-102,90.4-148.9,95c48.7,53.3,78.2,78.6,99.3,89.2%0A%09%09%09c0-99.3,91.9-168.2,83.7-237.2c-8.3-68.9-6.4-64.3-6.4-64.3S3863,1851.2,3834.5,1885.6z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09<path d="M4897.2,2712.3c-24.8-45.5-111.6-233-210.3-220.6c0,0-65.2,9.2-99.4,20.8c-1.1,12.9,9.7,22,21.7,26.5%0A%09%09%09c104.1,32,201.6,111.9,214.5,216.4c41.8,6.1,86.6,20.3,88.3-2.4C4912.3,2747.3,4901.4,2720.1,4897.2,2712.3z" class="st20"></path>%0A%09%09<path d="M4609.1,2539c-12-4.5-22.8-13.6-21.7-26.5c-9.2,3.1-16.2,6.4-19,9.7c149.6,89.2,160.1,153.2,228.5,227.8%0A%09%09%09c9,2.3,18,4.1,26.7,5.4C4810.8,2650.9,4713.3,2571,4609.1,2539z" class="st35"></path>%0A%09%09<path d="M3389.9,2642.1c0,0-40.9-81.4-37.1-99.3c3.8-17.9-3.1-35.9,15.9-43.4c-6.2,13.8-11,29-10,45.5%0A%09%09%09c1,16.5,34.6,94,34.6,94L3389.9,2642.1z" class="st18"></path>%0A%09%09<path d="M3407,2460.9c0,0-9.2,34.9-1.9,66.6c7.4,31.7,30.8,93.9,37,97.1c6.2,3.2,6.2,3.2,6.2,3.2%0A%09%09%09S3398.3,2507.3,3407,2460.9z" class="st18"></path>%0A%09%09<path d="M3472.9,2418.4c0,0-17,55.4-15.2,76c1.8,20.7,41.7,120.8,41.7,120.8l2.9-3.5%0A%09%09%09c0,0-42.5-108.1-31.7-146c10.9-37.9,9.3-50.7,9.3-50.7L3472.9,2418.4z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09<path d="M3537.6,2454.9c0,0-9.2,72.2,0,81.4s20.4,7.3,20.4,7.3S3539.9,2483.9,3537.6,2454.9z" class="st18"></path>%0A%09%09<path d="M3543.3,2484.1c0,0-7.6,38.4-5.8,52.2c0.7,5.4,2.5,11.2,5.6,16.5c7.7,6.5,16.6,9.4,25.4,1.7%0A%09%09%09c15.6-12.5,17.4-32.6,17.5-52.1c-0.7-2.3-1.4-4.6-2.2-7" class="st16"></path>%0A%09%09<g>%0A%09%09%09<polygon points="3466.8,1624.2 3466.8,1624.2 3466.8,1624.2" class="st9"></polygon>%0A%09%09%09<path d="M3516.4,1675.9c-7.1-21.6-14.1-34.6-21-42.6c-3.4-4-6.9-6.7-10.3-8.4%0A%09%09%09%09c-3.4-1.7-6.8-2.3-9.8-2.3c-3.4,0-6.3,0.8-8.6,1.5c-4.1,1.3-8,4.5-10.7,9.6c-2.7,5.1-4.4,12.1-4.4,21.5%0A%09%09%09%09c0,12.2,2.8,28.6,10.1,50.4c6.4,19,13.3,30.6,20.3,37.6c3.5,3.5,7.1,5.8,10.5,7.3c3.4,1.4,6.8,2,9.7,2c2.7,0,5.1-0.4,7.1-0.9%0A%09%09%09%09c2-0.5,3.5-1.1,4.4-1.4l0,0c2.9-0.9,6.2-3.2,8.5-7.4c2.3-4.2,3.8-10.1,3.8-18.4C3526.2,1713.3,3523.6,1697.9,3516.4,1675.9z%0A%09%09%09%09 M3515.7,1738.9c-1.5,2.6-3.1,3.5-4.1,3.8c-1.2,0.4-2.5,0.9-4,1.3c-1.5,0.4-3.3,0.7-5.1,0.7c-2,0-4.3-0.3-6.7-1.4%0A%09%09%09%09c-3.7-1.5-7.9-4.6-12.5-10.9c-4.6-6.2-9.4-15.6-14-29.3c-7.1-21.2-9.7-36.9-9.7-47.9c0-8.5,1.5-14.2,3.5-17.9%0A%09%09%09%09c2-3.6,4.2-5.2,6.2-5.8l0,0c2-0.6,4.1-1.1,6.3-1.1c2,0,4,0.4,6.3,1.5c3.5,1.7,7.7,5.3,12.4,12.6c4.7,7.2,9.7,18.1,14.9,33.8%0A%09%09%09%09c7.1,21.4,9.4,36.2,9.4,46C3518.5,1731.7,3517.1,1736.3,3515.7,1738.9z" class="Graphic_x0020_Style_x0020_110"></path>%0A%09%09</g>%0A%09</g>%0A%09<polygon points="4535.9,1753.6 4677.9,1982.4 4774.4,1982.4 4597.9,1697.5" class="Graphic_x0020_Style_x0020_109"></polygon>%0A%09<polygon points="4616.6,1659.7 4815.1,1982.4 4916.5,1982.4 4705.5,1586.9" class="Graphic_x0020_Style_x0020_105"></polygon>%0A%09<polygon points="4597.9,1697.5 4644.4,1704.9 4815.1,1982.4 4774.4,1982.4" class="Graphic_x0020_Style_x0020_108"></polygon>%0A%09<polygon points="4791.1,1650.6 4705.5,1586.9 4916.5,1982.4 4939.2,1982.4 4939.2,1925.9" class="Graphic_x0020_Style_x0020_107"></polygon>%0A%09<path d="M4590.7,1773.7c0,0,19.3-16,39,11c19.6,27-20.3,47.3-33.4,30.1%0A%09%09C4583.1,1797.4,4579.5,1778.2,4590.7,1773.7z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09<path d="M4596.3,1780.1c0,0,13.5-11.2,27.3,7.7s-14.2,33.1-23.4,21.1%0A%09%09C4591,1796.7,4588.5,1783.2,4596.3,1780.1z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09<polygon points="4609.5,1841.2 4648,1821.1 4757.4,1982.4 4699.5,1982.4" class="Graphic_x0020_Style_x0020_105"></polygon>%0A%09<ellipse ry="38.6" rx="31.7" cy="1701" cx="4703.2" class="Graphic_x0020_Style_x0020_104"></ellipse>%0A%09<polygon points="4705.5,1762.7 4757.4,1724.1 4766.2,1734.7 4712.4,1768.9" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09<polygon points="4718.4,1793 4770.3,1754.3 4779,1764.9 4725.3,1799.2" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09<polygon points="4731.2,1823.2 4783.2,1784.6 4791.9,1795.1 4738.1,1829.4" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09<g>%0A%09%09<path d="M973.4,2494.7c-1.1-7.7-1.9-15.4-2.3-22.9c9.5-13.4,26.8-31.8,52.9-40.2c23.1-6.1,15.4-16.7,6-14.3%0A%09%09%09c-6.8,1.7-40.3,15-58.6,22.4c6.9-84.5,62.6-145.2,175.4-122.9c0,0,168.2-115.8,215,66.2c-26.6-8.7-77.4-22.7-81.8-5%0A%09%09%09c-5.6,22.6,45.1-7,86.4,25.8c2.5,13.6,4.5,28.6,5.7,45.1c0.4,18.1-4.3,37.3-12.2,56.6c-19.6-23.9-69.9-81.6-86.6-63.7%0A%09%09%09c-19.3,20.6,50.3,7.3,76.9,84.6c-10.3,19.7-23.2,39-36.6,56.7c-13.9-23.9-42.7-67.9-60.7-56.8c-7.2,6.3,6.6,15.6,21,31%0A%09%09%09c9.1,9.8,20.1,29.2,27,42.1c-32.6,40-64,68.5-64,68.5s-40.6-10.2-90-29.6c-2.2-17-5.6-50,0.5-58c8.3-10.9-3.5-21.2-17.7-9.4%0A%09%09%09c-11,9.1-13.4,36.4-10.2,55.9c-20.3-9-41-19.4-60.3-31.1c3.7-24.8,13.8-80.3,30.3-90.6c10.5-9.2,2.3-22.4-22.7-3.4%0A%09%09%09c-19.2,14.5-25.3,60.3-27.2,81.1C1004.8,2558,978.2,2528.6,973.4,2494.7z" class="st10"></path>%0A%09%09<path d="M1225.4,2633.4c0,0-71-217.9-78.6-316.8" class="st11"></path>%0A%09%09<path d="M1129.2,2552.6c0,0,15.4-40.3,50.3-75.4" class="st11"></path>%0A%09%09<path d="M1261.1,2488.4c0,0-59.5-46.7-90-43.7" class="st11"></path>%0A%09%09<path d="M1052.5,2468.5c0,0,69.2-57,107.6-70.5" class="st11"></path>%0A%09%09<path d="M1243.7,2349.5c0,0-52.8-23.4-93.7-5.9" class="st11"></path>%0A%09</g>%0A%09<path d="M3360.2,3327.1c-71.4-58-182.9-129.1-345.1-184.1c-329.3-111.6-176.9-187.3-303.6-225.2%0A%09%09s-430.3-22.5-784.9-68.8s-643.1-33.1-556-162c60.4-89.4,145-152.7,191.1-183.1l-109.7,8.4c-108.3,81.3-312.5,270.2,66.8,308.2%0A%09%09c486.5,48.7,1181.1,101.9,1192.6,208.2c9.2,84.8,440.1,200.1,610.2,307.3C3334,3333.3,3346.8,3330.3,3360.2,3327.1z" class="st22"></path>%0A%09<linearGradient y2="608.8419" x2="3633.9429" y1="608.8419" x1="3431.6741" gradientUnits="userSpaceOnUse" id="SVGID_9_">%0A%09%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="101.1" rx="101.1" cy="608.8" cx="3532.8" class="st36"></ellipse>%0A%09<linearGradient y2="3174.8586" x2="1457.2415" y1="3174.8586" x1="1136.8959" gradientUnits="userSpaceOnUse" id="SVGID_10_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="106.3" rx="160.2" cy="3174.9" cx="1297.1" class="st37"></ellipse>%0A%09<linearGradient y2="2968.6479" x2="1266.5088" y1="2968.6479" x1="1085.6805" gradientUnits="userSpaceOnUse" id="SVGID_11_">%0A%09%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="60" rx="90.4" cy="2968.6" cx="1176.1" class="st38"></ellipse>%0A%09<linearGradient y2="3078.0559" x2="5051.6841" y1="3078.0559" x1="4866.0625" gradientUnits="userSpaceOnUse" id="SVGID_12_">%0A%09%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="92.8" rx="92.8" cy="3078.1" cx="4958.9" class="st39"></ellipse>%0A%09<path d="M2285.6,3438c0,0,206.8,24.5,420.7-87.7c42.5-28.4,62.6,33.1,35.4,53.2%0A%09%09c-27.2,20.1-168.9,100.4-399.3,87.4C2216,3486.1,2239.4,3435.8,2285.6,3438z" class="Graphic_x0020_Style_x0020_100"></path>%0A</g>%0A</svg>%0A';var Dt="notRegistered",m2="https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1",d2=()=>{let e=Y(s=>s.clearToken),t=useNavigate(),{signInUrl:o}=S();return s=>{e(),t(o,{state:{[Dt]:s}});}},u2=e=>{let{notRegistered:t}=e,o=Y(r=>r.clearToken),{signInUrl:s}=S();return useEffect(()=>()=>{o();},[]),jsx(Navigate,{relative:"path",to:s,state:{[Dt]:t}})},f2=()=>{let e=useLocation(),t=new URLSearchParams(window.location.search),{token:o,setToken:s}=Y(),{t:r}=x(),{signInPageTitle:a,localeDropdownMenu:i,signInSuccessRedirectUrl:f}=S(),n=encodeURIComponent(window.location.href);if(Xs(t.has("ticket")?`/api/usystem/user/login?ticket=${t.get("ticket")}`:null,m=>C(m),{suspense:!0,onSuccess:m=>{s(m.data.token);}}),o){let m=!!window.location.hash,l=f;return m?(window.location.href=`${window.location.origin}${window.location.pathname}#${l}`,null):jsx(Navigate,{replace:!0,to:l})}return jsxs("div",{className:"w-screen h-screen relative flex overflow-hidden",children:[i&&jsx("div",{className:"absolute top-16 right-16 z-10",children:i}),jsx("div",{className:"absolute left-14 top-6",children:jsxs(Space,{align:"center",children:[jsx(de,{width:48}),a]})}),jsx("div",{className:"flex-1 flex justify-center items-center bg-slate-50",children:jsx("img",{src:us,alt:"background",className:"w-10/12"})}),jsx("div",{className:"w-[650px] relative top-0 left-0 right-0 bottom-0",children:jsx("div",{className:"absolute top-1/2 -translate-y-1/2 left-0 right-0",children:jsx("div",{className:"-translate-y-10 px-36",children:jsxs("div",{className:"flex flex-col justify-center",children:[jsx("div",{className:"h-10",children:e.state?.[Dt]&&jsx(Alert,{banner:!0,closable:!0,message:r("SignIn.notRegistered"),type:"error"})}),jsx(Typography.Title,{level:2,children:r("SignIn.welcome")}),jsx("div",{className:"mt-4",children:jsxs(Form,{layout:"vertical",autoComplete:"off",children:[jsx(Form.Item,{label:r("global.username"),name:"username",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:r("global.password"),name:"password",rules:[{required:!0}],children:jsx(Input.Password,{})}),jsx(Form.Item,{children:jsx(Button,{block:!0,type:"primary",shape:"round",htmlType:"submit",children:r("global.signIn")})})]})}),jsx(Divider,{plain:!0,dashed:!0,children:r("SignIn.thirdParty")}),jsx("div",{className:"flex justify-center items-center",children:jsxs(Button,{block:!0,shape:"round",href:`${m2}/login?service=${n}`,target:"_self",children:[jsx(de,{width:18}),r("SignIn.signInWithIDass")]})})]})})})})]})},y2=f2;W();L();var g2=(e,t)=>()=>jsx(ct,{...t,children:jsx(Be,{children:jsx(e,{})})});dt();
23
+ var __defProp = Object.defineProperty;
24
+ var __getOwnPropNames = Object.getOwnPropertyNames;
25
+ var __esm = (fn, res) => function __init() {
26
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
27
+ };
28
+ var __export = (target, all) => {
29
+ for (var name in all)
30
+ __defProp(target, name, { get: all[name], enumerable: true });
31
+ };
32
+ var LocaleContext, context_default;
33
+ var init_context = __esm({
34
+ "src/components/locale/context.ts"() {
35
+ LocaleContext = createContext(void 0);
36
+ context_default = LocaleContext;
37
+ }
38
+ });
24
39
 
25
- export { ct as ContextProvider, Bs as DynamicTags, Oe as ExpandableParagraph, _e as FilterFormWrapper, Ue as GameSelect, Pe as Highlight, po as InfiniteList, Be as Layout, Ae as NavMenu, Zr as NotFound, sa as OperationLogList, K as PermissionButton, Cr as PermissionGuard, e2 as PermissionRoutes, ee as QueryList, St as QueryListAction, u2 as RedirectToSignIn, we as RequestError, y2 as SignIn, gt as UserWidget, be as contextStore, mt as mixedStorage, C as request, ke as useFormModal, q as useGameStore, _t as useModal, Po as useModalStore, N as usePermission, pe as usePermissions, Q as useQueryListStore, d2 as useRedirectToSignIn, Y as useTokenStore, t1 as useTokenValidation, S as useToolkitsContext, g2 as withLayout };
40
+ // src/components/locale/zh_CN.ts
41
+ var locale, zh_CN_default;
42
+ var init_zh_CN = __esm({
43
+ "src/components/locale/zh_CN.ts"() {
44
+ locale = {
45
+ global: {
46
+ noEntitlement: "\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u3002",
47
+ name: "\u540D\u79F0",
48
+ creationTime: "\u521B\u5EFA\u65F6\u95F4",
49
+ operation: "\u64CD\u4F5C",
50
+ update: "\u66F4\u65B0",
51
+ edit: "\u7F16\u8F91",
52
+ delete: "\u5220\u9664",
53
+ selectAll: "\u5168\u9009",
54
+ game: "\u6E38\u620F",
55
+ user: "\u7528\u6237",
56
+ role: "\u89D2\u8272",
57
+ username: "\u7528\u6237\u540D",
58
+ password: "\u5BC6\u7801",
59
+ label: "\u6807\u7B7E",
60
+ method: "\u65B9\u6CD5",
61
+ route: "\u8DEF\u7531",
62
+ request: "\u8BF7\u6C42",
63
+ response: "\u54CD\u5E94",
64
+ add: "\u6DFB\u52A0",
65
+ signIn: "\u767B\u5F55"
66
+ },
67
+ SignIn: {
68
+ title: "\u767B\u5F55\u65B9\u5F0F",
69
+ thirdParty: "\u7B2C\u4E09\u65B9\u767B\u5F55",
70
+ signInWithIDass: "IDass \u767B\u5F55",
71
+ notRegistered: "\u60A8\u8FD8\u672A\u5728\u5E73\u53F0\u6CE8\u518C\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",
72
+ welcome: "\u6B22\u8FCE"
73
+ },
74
+ NotFound: {
75
+ subTitle: "\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728",
76
+ buttonText: "\u8FD4\u56DE\u9996\u9875"
77
+ },
78
+ FilterFormWrapper: {
79
+ confirmText: "\u67E5\u8BE2",
80
+ resetText: "\u91CD\u7F6E"
81
+ },
82
+ FormModal: {
83
+ confirmText: "\u786E\u8BA4",
84
+ cancelText: "\u53D6\u6D88"
85
+ },
86
+ GameSelect: {
87
+ label: "\u5F53\u524D\u6E38\u620F",
88
+ placeholder: "\u8BF7\u9009\u62E9\u6E38\u620F"
89
+ },
90
+ RequireGame: {
91
+ description: "\u8BF7\u9009\u62E9\u6E38\u620F"
92
+ },
93
+ UserWidget: {
94
+ signOutText: "\u767B\u51FA"
95
+ },
96
+ UserList: {
97
+ createTitle: "\u521B\u5EFA\u7528\u6237",
98
+ createSuccessfully: "\u7528\u6237\u521B\u5EFA\u6210\u529F",
99
+ updateTitle: "\u66F4\u65B0\u7528\u6237",
100
+ updateSuccessfully: "\u7528\u6237\u66F4\u65B0\u6210\u529F",
101
+ deleteTitle: "\u5220\u9664\u7528\u6237",
102
+ deleteContent: "\u786E\u5B9A\u8981\u5220\u9664\u7528\u6237 <%= user %> \u5417\uFF1F",
103
+ deleteSuccessfully: "\u7528\u6237\u5220\u9664\u6210\u529F"
104
+ },
105
+ RoleList: {
106
+ createTitle: "\u521B\u5EFA\u89D2\u8272",
107
+ createSuccessfully: "\u89D2\u8272\u521B\u5EFA\u6210\u529F",
108
+ updateTitle: "\u66F4\u65B0\u89D2\u8272",
109
+ updateSuccessfully: "\u89D2\u8272\u66F4\u65B0\u6210\u529F",
110
+ deleteTitle: "\u5220\u9664\u89D2\u8272",
111
+ deleteContent: "\u786E\u5B9A\u8981\u5220\u9664\u89D2\u8272 <%= role %> \u5417\uFF1F",
112
+ deleteSuccessfully: "\u89D2\u8272\u5220\u9664\u6210\u529F"
113
+ },
114
+ PermissionList: {
115
+ failedDescription: "\u83B7\u53D6\u6743\u9650\u5217\u8868\u5931\u8D25",
116
+ baseSectionTitle: "\u5E73\u53F0\u57FA\u7840\u6743\u9650",
117
+ gameSectionTitle: "\u6E38\u620F\u6743\u9650",
118
+ gameSectionDescription: "\u8BF7\u5148\u9009\u62E9\u6E38\u620F",
119
+ gameSelectPlaceholder: "\u8BF7\u5148\u9009\u62E9\u6E38\u620F",
120
+ removeText: "\u79FB\u9664",
121
+ addText: "\u6DFB\u52A0\u6E38\u620F\u6743\u9650"
122
+ },
123
+ RoleDetail: {
124
+ title: "\u89D2\u8272\u8BE6\u60C5"
125
+ },
126
+ InfiniteList: {
127
+ loadingText: "\u52A0\u8F7D\u4E2D",
128
+ reachEndText: "\u5DF2\u7ECF\u5230\u5E95\u4E86",
129
+ loadMoreText: "\u52A0\u8F7D\u66F4\u591A"
130
+ }
131
+ };
132
+ zh_CN_default = locale;
133
+ }
134
+ });
135
+ function useTranslation() {
136
+ const localeFromContext = useContext(context_default);
137
+ const locale2 = {
138
+ ...zh_CN_default,
139
+ ...localeFromContext
140
+ };
141
+ const t = useMemo(
142
+ () => (key, data) => has(locale2, key) ? template(get(locale2, key))(data) : key,
143
+ [locale2]
144
+ );
145
+ return { t };
146
+ }
147
+ var init_hooks = __esm({
148
+ "src/components/locale/hooks.ts"() {
149
+ init_context();
150
+ init_zh_CN();
151
+ }
152
+ });
153
+ var LocaleProvider, locale_default;
154
+ var init_locale = __esm({
155
+ "src/components/locale/index.tsx"() {
156
+ init_context();
157
+ init_hooks();
158
+ LocaleProvider = (props) => {
159
+ const { locale: locale2 = {}, children } = props;
160
+ const memoizedContextValue = useMemo(() => ({ ...locale2 }), [locale2]);
161
+ return /* @__PURE__ */ jsx(context_default.Provider, { value: memoizedContextValue, children });
162
+ };
163
+ locale_default = LocaleProvider;
164
+ }
165
+ });
166
+
167
+ // src/components/contextProvider/constants.ts
168
+ var defaultState;
169
+ var init_constants = __esm({
170
+ "src/components/contextProvider/constants.ts"() {
171
+ defaultState = {
172
+ appTitle: "",
173
+ menuItems: [],
174
+ hideGameSelect: false,
175
+ usePermissionApiV2: false,
176
+ signInUrl: "",
177
+ signInSuccessRedirectUrl: "/"
178
+ };
179
+ }
180
+ });
181
+ var ToolkitsContext, context_default2;
182
+ var init_context2 = __esm({
183
+ "src/components/contextProvider/context.ts"() {
184
+ init_constants();
185
+ ToolkitsContext = createContext(defaultState);
186
+ context_default2 = ToolkitsContext;
187
+ }
188
+ });
189
+ function useToolkitsContext() {
190
+ return useContext(context_default2);
191
+ }
192
+ var contextStore, ContextProvider, contextProvider_default;
193
+ var init_contextProvider = __esm({
194
+ "src/components/contextProvider/index.tsx"() {
195
+ init_locale();
196
+ init_constants();
197
+ init_context2();
198
+ contextStore = createStore(() => defaultState);
199
+ ContextProvider = (props) => {
200
+ const { children, locale: locale2, ...rest } = props;
201
+ const parentConfig = useToolkitsContext();
202
+ const config = {
203
+ ...parentConfig,
204
+ ...rest
205
+ };
206
+ const childNode = locale2 ? /* @__PURE__ */ jsx(locale_default, { locale: locale2, children }) : children;
207
+ useEffect(() => {
208
+ contextStore.setState(config);
209
+ }, [config]);
210
+ return /* @__PURE__ */ jsx(context_default2.Provider, { value: config, children: childNode });
211
+ };
212
+ if (process.env.NODE_ENV !== "production") {
213
+ ContextProvider.displayName = "ContextProvider";
214
+ }
215
+ contextProvider_default = ContextProvider;
216
+ }
217
+ });
218
+ var FilterFormWrapper, filterFormWrapper_default;
219
+ var init_filterFormWrapper = __esm({
220
+ "src/components/filterFormWrapper/index.tsx"() {
221
+ init_locale();
222
+ FilterFormWrapper = (props) => {
223
+ const { extras, isConfirming, onConfirm, onReset, children, buttonsAlign = "left" } = props;
224
+ const { t } = useTranslation();
225
+ const {
226
+ token: { colorFillAlter, lineWidth, lineType, colorBorder, borderRadiusLG }
227
+ } = theme.useToken();
228
+ const style = {
229
+ maxWidth: "none",
230
+ background: colorFillAlter,
231
+ borderWidth: lineWidth,
232
+ borderStyle: lineType,
233
+ borderColor: colorBorder,
234
+ borderRadius: borderRadiusLG,
235
+ padding: 24,
236
+ marginBottom: 24
237
+ };
238
+ return /* @__PURE__ */ jsx("div", { style, children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
239
+ /* @__PURE__ */ jsx("div", { className: `${buttonsAlign === "right" ? "flex-1" : "flex-grow-0"}`, children }),
240
+ /* @__PURE__ */ jsx("div", { className: "ml-4", children: /* @__PURE__ */ jsxs(Space, { children: [
241
+ /* @__PURE__ */ jsx(Button, { type: "primary", loading: isConfirming, onClick: onConfirm, children: t("FilterFormWrapper.confirmText") }),
242
+ extras?.map((item) => /* @__PURE__ */ jsx(Fragment$1, { children: item.children }, item.key)),
243
+ /* @__PURE__ */ jsx(Button, { onClick: onReset, children: t("FilterFormWrapper.resetText") })
244
+ ] }) })
245
+ ] }) });
246
+ };
247
+ filterFormWrapper_default = FilterFormWrapper;
248
+ }
249
+ });
250
+ var Logo, Logo_default;
251
+ var init_Logo = __esm({
252
+ "src/components/logo/Logo.tsx"() {
253
+ Logo = (props) => {
254
+ return /* @__PURE__ */ jsx("img", { src: logoUrl, alt: "logo", ...props });
255
+ };
256
+ Logo_default = Logo;
257
+ }
258
+ });
259
+
260
+ // src/components/logo/index.tsx
261
+ var init_logo = __esm({
262
+ "src/components/logo/index.tsx"() {
263
+ init_Logo();
264
+ }
265
+ });
266
+
267
+ // src/pages/signIn/background.svg
268
+ var background_default;
269
+ var init_background = __esm({
270
+ "src/pages/signIn/background.svg"() {
271
+ background_default = 'data:image/svg+xml,<svg xml:space="preserve" style="enable-background:new 0 0 6000 4000;" viewBox="0 0 6000 4000" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" id="Layer_1" version="1.1">%0A<style type="text/css">%0A%09.Graphic_x0020_Style_x0020_100{fill:%23FFFFFF;}%0A%09.Graphic_x0020_Style_x0020_101{fill:url(%23SVGID_1_);}%0A%09.Graphic_x0020_Style_x0020_102{fill:url(%23SVGID_2_);}%0A%09.Graphic_x0020_Style_x0020_104{fill:%23DB6767;}%0A%09.Graphic_x0020_Style_x0020_105{fill:%23FFDE70;}%0A%09.Graphic_x0020_Style_x0020_106{fill:%23FFB114;}%0A%09.Graphic_x0020_Style_x0020_107{fill:%236584C6;}%0A%09.Graphic_x0020_Style_x0020_108{fill:%23102140;}%0A%09.Graphic_x0020_Style_x0020_109{fill:%233B546B;}%0A%09.Graphic_x0020_Style_x0020_110{fill:%23152A52;}%0A%09.Graphic_x0020_Style_x0020_111{fill:%23E8766F;}%0A%09.Graphic_x0020_Style_x0020_112{fill:%23EF5668;}%0A%09.Graphic_x0020_Style_x0020_113{fill:%23FC9590;}%0A%09.Graphic_x0020_Style_x0020_114{fill:%23912433;}%0A%09.Graphic_x0020_Style_x0020_115{opacity:0.5;fill:%23FFFFFF;}%0A%09.Graphic_x0020_Style_x0020_116{fill:%231A1A1A;}%0A%09.Graphic_x0020_Style_x0020_117{fill:%23535353;}%0A%09.Graphic_x0020_Style_x0020_118{fill:%23DBD2DB;}%0A%09.Graphic_x0020_Style_x0020_119{fill:%234D73C6;}%0A%09.Graphic_x0020_Style_x0020_120{fill:%23D1334A;}%0A%09.Graphic_x0020_Style_x0020_123{fill:url(%23SVGID_3_);}%0A%09.st0{fill:url(%23SVGID_4_);}%0A%09.st1{fill:url(%23SVGID_5_);}%0A%09.st2{fill:url(%23SVGID_6_);}%0A%09.st3{fill:%239D8A9D;}%0A%09.st4{fill:url(%23SVGID_7_);}%0A%09.st5{fill:url(%23SVGID_8_);}%0A%09.st6{fill:%233B546B;}%0A%09.st7{fill:%23A8A1A8;}%0A%09.st8{fill:%23DBD2DB;}%0A%09.st9{fill:%23FFFFFF;stroke:%231A1A1A;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st10{fill:%23339E7E;}%0A%09.st11{fill:none;stroke:%2310663F;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st12{fill:%2300593B;}%0A%09.st13{fill:none;stroke:%233DBE88;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st14{fill:none;stroke:%23134411;stroke-width:8.0149;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st15{fill:%23EF5668;}%0A%09.st16{fill:%23FC9590;}%0A%09.st17{fill:%23102140;}%0A%09.st18{fill:%23DB6767;}%0A%09.st19{fill:%231A1A1A;stroke:%231A1A1A;stroke-width:5.3432;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%0A%09.st20{fill:%23FFFFFF;}%0A%09.st21{fill:%23535353;}%0A%09.st22{fill:%23F9EBF9;}%0A%09.st23{fill:%23D896D8;}%0A%09.st24{fill:%238E3D8E;}%0A%09.st25{fill:%23CA74CA;}%0A%09.st26{fill:%23D590D5;}%0A%09.st27{fill:%23160A16;}%0A%09.st28{fill:%23384A6E;}%0A%09.st29{fill:%23B7C0D4;}%0A%09.st30{fill:%23E8766F;}%0A%09.st31{fill:%23FFB114;}%0A%09.st32{fill:%23FFDE70;}%0A%09.st33{fill:%23434343;}%0A%09.st34{fill:%23664708;}%0A%09.st35{fill:%23D9D9D9;}%0A%09.st36{fill:url(%23SVGID_9_);}%0A%09.st37{fill:url(%23SVGID_10_);}%0A%09.st38{fill:url(%23SVGID_11_);}%0A%09.st39{fill:url(%23SVGID_12_);}%0A</style>%0A<linearGradient y2="0" x2="1" y1="0" x1="0" gradientUnits="userSpaceOnUse" id="SVGID_1_">%0A%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A</linearGradient>%0A<linearGradient y2="0" x2="1" y1="0" x1="0" gradientUnits="userSpaceOnUse" id="SVGID_2_">%0A%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A</linearGradient>%0A<linearGradient y2="0" x2="1" y1="0" x1="0" gradientUnits="userSpaceOnUse" id="SVGID_3_">%0A%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A</linearGradient>%0A<g>%0A%09<linearGradient y2="3014.9536" x2="4941.2124" y1="3014.9536" x1="1288.5804" gradientUnits="userSpaceOnUse" id="SVGID_4_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M1288.6,2793.9c55.3,134.1,186.5,387.6,453.7,503.3c220.8,95.6,442.9,57.4,694.7,14.2%0A%09%09c343.1-59,344.3-140.4,552.9-134.7c282.5,7.8,357.3,159.3,673.4,219.7c66.5,12.7,309.6,47.5,574.2-28.4%0A%09%09c360.6-103.4,734.8-407.2,701.8-560C4895.4,2605.9,4103.5,2505.3,1288.6,2793.9z" class="st0"></path>%0A%09<linearGradient y2="1994.5433" x2="5456.5684" y1="1994.5433" x1="686.3356" gradientUnits="userSpaceOnUse" id="SVGID_5_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M5428.3,1649.1c-131.4-612.4-697.6-977.3-1155.4-1020.7c-232.1-22-245.1,56.7-616.7,117%0A%09%09c-821.7,133.2-1081-199.5-1850.1-85.1c-341.2,50.8-687.6,102.3-914.4,382.8C519.9,1502.7,718.2,2270,973.9,2621.3%0A%09%09c165.2,227,392.7,363.9,392.7,363.9c68.9,41.5,168.6,100.4,304.8,131.1c237.9,53.7,359.9-29.9,560-42.5%0A%09%09c342.7-21.6,401.6,197.2,772.6,276.4c190.7,40.7,257.4,0.5,1084.5-212.6c811.7-209.1,858.2-198.9,974.7-297.7%0A%09%09C5379.4,2571.8,5521.7,2084.7,5428.3,1649.1z M2709.5,2042.7v-2.7V2042.7z" class="st1"></path>%0A%09<linearGradient y2="1859.5726" x2="5227.9292" y1="1859.5726" x1="1116.5316" gradientUnits="userSpaceOnUse" id="SVGID_6_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M5148.1,1664.4c-146.3-421.8-552.5-838.3-943.2-819c-297.4,14.6-412.5,273.3-678.4,215.1%0A%09%09c-227.7-49.8-217.9-255.8-471.6-405.4c-401.7-236.8-1083-107.4-1265.9,223.4c-99.3,179.7-11.7,346.7-173.7,521.2%0A%09%09c-113.5,122.3-192.5,78.9-314.4,198.6c-154.9,152-219.8,410.7-165.5,645.3c73.8,318.7,366.8,477.2,388.9,488.1%0A%09%09c827.4,146.2,1654.7,292.3,2482.1,438.5c80.8,13.1,529.4,77.9,879.7-216.7C5295.8,2609,5272.6,2023.2,5148.1,1664.4z%0A%09%09 M2709.5,2042.7v-2.7V2042.7z" class="st2"></path>%0A%09<path d="M5224.3,2042.5c-143.7-88.6-413.9-68.2-740.1-95.9c-488.7-41.5-1188.7,312.8-1437,221.4%0A%09%09c-95.1-35-167.4-141.7-220.4-260v1053.6c291.4,51.5,582.8,103,874.2,154.4l1292.2-269.1C5190,2615.6,5243.4,2314,5224.3,2042.5z" class="st3"></path>%0A%09<linearGradient y2="1741.7239" x2="2757.678" y1="1741.7239" x1="1116.5317" gradientUnits="userSpaceOnUse" id="SVGID_7_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M1789.1,878.4c-99.3,179.7-11.7,346.7-173.7,521.2c-113.5,122.3-192.5,78.9-314.4,198.6%0A%09%09c-154.9,152-219.8,410.7-165.5,645.3c73.8,318.7,366.8,477.2,388.9,488.1c411.1,72.6,822.2,145.3,1233.4,217.9V550.2%0A%09%09C2377.7,484.9,1931.7,620.4,1789.1,878.4z M2709.5,2042.7v-2.7V2042.7z" class="st4"></path>%0A%09<linearGradient y2="1215.4698" x2="2649.5779" y1="1215.4698" x1="1137.9542" gradientUnits="userSpaceOnUse" id="SVGID_8_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23EBF0F7" offset="1"></stop>%0A%09</linearGradient>%0A%09<path d="M1789.1,878.4c-99.4,179.7-11.7,346.7-173.7,521.2c-113.6,122.3-192.5,78.9-314.4,198.6%0A%09%09c-79.1,77.6-134.7,183-163,298.8c82.9-108.4,187.6-189.5,319.3-210.4c445.6-70.8,892.8,45.1,1192.3-113.7V537.1%0A%09%09C2296.9,511.3,1918.4,644.5,1789.1,878.4z" class="st5"></path>%0A%09<polygon points="1937.1,644.5 1937.1,2265.3 1979.7,2269.9 1983,640.9" class="st6"></polygon>%0A%09<path d="M2757.7,550.2c-35.6-6.1-71.7-10.5-108.1-13.1v1035.7c38.6-20.4,74.7-45.4,108.1-76V550.2z" class="st7"></path>%0A%09<path d="M1117.4,850.5c-15.5,9-30.8,18.5-45.8,28.5v1689.5l42.6,5.1L1117.4,850.5z" class="st6"></path>%0A%09<path d="M2826.8,564.5c-22.7-5.5-45.8-10.3-69.1-14.3v2399.3c23,4.1,46.1,8.1,69.1,12.2V564.5z" class="st8"></path>%0A%09<g>%0A%09%09<path d="M1121,2361c0,0-98.3-110.7,84.2-222.1c-25.3,43.4-118,92.3-52.4,202.9%0A%09%09%09c27.1,62.9-12.8,89.7-12.8,89.7S1080.6,2436.5,1121,2361z" class="Graphic_x0020_Style_x0020_116"></path>%0A%09%09<g>%0A%09%09%09<path d="M1282.2,2470.4c-15.5,28.9-215.1,26.5-315.7,23.4c-1.1-4.4-2.1-8.7-3.1-13c-1.8-7.8-3.5-15.5-5-23.2%0A%09%09%09%09C1035.2,2452.4,1299.9,2437.2,1282.2,2470.4z" class="st9"></path>%0A%09%09%09<path d="M1282.2,2470.4l-16.7,216.9c-25.9,39.1-25.5,89.5-36,137.5c-4.3,22.7-20.4,30.2-38.6,29.2%0A%09%09%09%09c-39.4-34.1-82.1-74.2-124.2-119.9c-50-80.3-81.3-162.6-100.3-240.3C1067.1,2496.9,1266.7,2499.4,1282.2,2470.4z" class="st9"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M1331.3,2151c12.7,12.2,30.7,16,43,17c5.5-2.7,11.1-5.7,16.6-8.9c24.3-13.9,39.8-38.8,49.7-66.7%0A%09%09%09%09c-16.1,5.8-51.8,17.4-67.4,11.2c-20.4-8.1-12.5-17.1-3-14.1c11.7,6,55.7-6.5,75.3-12.5c4.1-14.9,6.8-30.2,8.6-44.8%0A%09%09%09%09c-13.9,8.3-34.9,15.8-44.4,12.6c-12.3-4.2-7.4-14.4,2.7-13.2c7.4,0.8,31.4-12,43.6-18.8c2.2-29.7,0.8-53.4,0.4-59.6%0A%09%09%09%09c-0.1-1-0.1-1.6-0.1-1.6s-29-8.6-66.9-14.1c-8,8.1-19.9,20.8-24.9,29.3c-8,13.3-11.7,24.3-18.1,22.2%0A%09%09%09%09c-12.7-6.6,13.3-37.6,27.8-53.4c-16.5-1.8-34.1-2.9-51.4-2.3c-51.5,40.6-24.5,76.1-44.7,71.8c-17.5-3.7,13.5-51.5,26.6-70.5%0A%09%09%09%09c-16.3,1.8-31.9,5.4-45.3,11.6c-12.1,6.2-22.8,12.2-32.4,18.1c-14.5,34.4,20,53.7,1.7,57.9c-14.3,3.3-16.2-30.4-16.2-48.5%0A%09%09%09%09c-124.9,86.7,2.8,144.8,2.8,144.8c0.1,0.5,0.2,1,0.3,1.6c11.4,70.5,70.1,82,134.6,58.3c-10-8-28.1-22.8-31-26.1%0A%09%09%09%09C1315,2147.7,1321.1,2139.9,1331.3,2151z" class="st10"></path>%0A%09%09%09<path d="M1433.5,1969.4c0,0-146,112.4-218.2,149.3" class="st11"></path>%0A%09%09%09<path d="M1396.4,2051c0,0-33.9,4.5-68.8-3.9" class="st11"></path>%0A%09%09%09<path d="M1316.2,1996.6c0,0-20.5,49.4-10.8,65.9" class="st11"></path>%0A%09%09%09<path d="M1352,2122.6c0,0-59.6-20.8-79-38.4" class="st11"></path>%0A%09%09%09<path d="M1216.4,2052.4c0,0-4.7,37.9,18.4,55.6" class="st11"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M882.7,2066.4c10.6,1.3,21,2.9,31.1,4.8c13.6,13.1,30.4,35.2,30.3,62.7c-1.8,23.8,15.4,19.7,16.3,10%0A%09%09%09%09c0.7-7-2.6-43-4.5-62.6c108.1,32.2,164.1,103.7,86.8,204.4c0,0,80.5,195.4-178.5,184.8c22.7-22.7,62.8-66.9,41.4-76.4%0A%09%09%09%09c-27.3-12.2-10,45.1-70.7,74.5c-19-1.7-39.5-4.4-61.7-8.2c-24-5.1-47.2-15.4-69.1-28.8c39.7-11.4,137-41.9,120.6-63.3%0A%09%09%09%09c-18.9-24.6-31,45.8-143.9,47.6c-21.5-15.8-41.4-33.9-58.9-52.1c37.3-6,107.4-20.1,100.5-40.6c-5.2-8.8-23.3,1.5-49.6,10.6%0A%09%09%09%09c-16.7,5.7-46.9,10.3-66.7,12.9c-38.7-43.2-62.7-81.8-62.7-81.8s30.7-35.6,77.3-76.8c23.3,3.1,68.1,9.9,76,18.1%0A%09%09%09%09c10.7,11.2,29.3,3.1,19.9-14.1c-7.3-13.2-42.1-23.8-69.1-26.7c20.4-16.6,42.9-33.2,66.6-48c31,11.1,99.6,37.5,106.2,56.3%0A%09%09%09%09c7.6,12.8,28.5,9,14.2-20.6c-10.9-22.7-68.4-42.4-95-50.5C786.1,2077.1,836.1,2060.7,882.7,2066.4z" class="st12"></path>%0A%09%09%09<path d="M593.2,2264.5c0,0,316.6-1.6,449.7,21.1" class="st13"></path>%0A%09%09%09<path d="M740.2,2197.3c0,0,46.4,26.9,77.7,70.8" class="st13"></path>%0A%09%09%09<path d="M768.3,2342.5c0,0,86.7-42.5,95.7-72.6" class="st13"></path>%0A%09%09%09<path d="M883.4,2149.7c0,0,45.4,83.2,46.7,123.9" class="st13"></path>%0A%09%09%09<path d="M958.3,2368c0,0,53.3-43.2,47.7-87.5" class="st13"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M924,1810c7.6,5.4,14.9,11,21.8,16.7c4.5,17.1,7.4,43.4-5.2,67.8c-12.3,20.5,2.9,23.7,8,15.4%0A%09%09%09%09c3.7-5.9,17.7-39.3,25.2-57.5c68.8,71.8,79.4,157.7-26.4,216.5c0,0-27.1,205.9-222.4,93.1c27.9-11.1,79.1-34.4,67-51.4%0A%09%09%09%09c-15.5-21.8-28.3,36.1-88.6,38c-13.9-9.1-28.5-19.7-43.9-32c-16.2-14.1-29.4-32.6-40.2-53.2c35.9,5.7,125,17.5,122.1-8.1%0A%09%09%09%09c-3.3-29.5-44.9,28.3-132.9-15.1c-9.4-22.6-16.5-46.7-21.7-69.8c31.6,9.6,92.2,25,96.2,4c0-9.9-18.7-8-43.2-10.4%0A%09%09%09%09c-15.5-1.6-41-9.5-57.5-15.1c-10.2-53.9-11.1-97.8-11.1-97.8s40-19.4,94.8-37.4c16.6,12,48.1,36,50.4,46.4%0A%09%09%09%09c3.2,14.2,21.3,14.5,21.8-4.6c0.4-14.7-21.6-38-41.2-51.3c23.4-6.6,48.4-12.4,73.4-16.1c18.9,22.3,59.8,73.1,56.3,92.5%0A%09%09%09%09c0,14.5,17.9,19.4,20.4-12.7c1.9-24.5-33.5-65-50.3-82.8C844.5,1781,890.6,1786.3,924,1810z" class="st10"></path>%0A%09%09%09<path d="M609.7,1870.6c0,0,245.3,125,337.8,198.4" class="st11"></path>%0A%09%09%09<path d="M754.1,1869.5c0,0,23.6,42.4,27.7,94" class="st11"></path>%0A%09%09%09<path d="M709.4,2009.9c0,0,86.4-3.2,107.1-26.3" class="st11"></path>%0A%09%09%09<path d="M886.5,1884.4c0,0-2.9,92.1-20.5,128.9" class="st11"></path>%0A%09%09%09<path d="M844.5,2108.4c0,0,60.9-17.2,76.8-58.8" class="st11"></path>%0A%09%09</g>%0A%09%09<g>%0A%09%09%09<path d="M1245.1,1794.2c20.8-5.3,34.8-21,42.5-32.8c-0.2-7.2-0.7-14.6-1.4-22.1c-3.2-32.9-23.8-63.7-50.7-90.6%0A%09%09%09%09c-1.8,19.7-7.4,62.7-22.8,74.5c-20.1,15.5-26.4,2-17.9-5.6c13.2-8.1,22.1-59.9,25.4-83.2c-15-13.2-31.3-25.3-47.2-36%0A%09%09%09%09c2.2,19-0.2,44.7-9,52.2c-11.4,9.8-20.6-1.3-13.9-10.8c4.9-7,2.8-38.8,1.4-55.2c-33.1-20.3-61.3-33.5-68.7-36.8%0A%09%09%09%09c-1.2-0.6-1.9-0.9-1.9-0.9s-25.3,23.8-51.7,58.6c5.2,13,13.5,32.7,20.6,42.9c11.1,16.1,21.9,26.5,16,31.7%0A%09%09%09%09c-14.4,8.7-36.4-36.3-47-60.5c-10.9,15.5-21.4,32.5-29.9,50.2c19.7,76.5,74.9,71.1,59.3,88.7c-13.5,15.3-52.4-45-67.4-69.8%0A%09%09%09%09c-6.6,17.5-10.6,35.3-10.6,52.6c0.7,15.9,2,30.4,3.8,43.6c32.1,35.6,72.7,12.7,67.8,33.6c-3.8,16.4-43.7-2.3-64.6-13.4%0A%09%09%09%09c33.9,178.4,168.8,85.6,168.8,85.6c0.7,0.2,1.3,0.5,2,0.7c87.5,31.6,132-20.3,138.8-99.5c-14.6,5.1-41.3,14.3-46.7,15.2%0A%09%09%09%09C1232.6,1808.5,1226.7,1797.5,1245.1,1794.2z" class="st10"></path>%0A%09%09%09<path d="M1089.2,1580.6c0,0,52.5,215.2,56.8,310.2" class="st11"></path>%0A%09%09%09<path d="M1164,1667.7c0,0-12.8,36.8-41,66.6" class="st11"></path>%0A%09%09%09<path d="M1058.6,1715c0,0,46.2,50.8,70.4,51.1" class="st11"></path>%0A%09%09%09<path d="M1223.1,1755.9c0,0-55.6,47.1-86.3,55.9" class="st11"></path>%0A%09%09%09<path d="M1070,1849.3c0,0,41.4,27.9,74,15.4" class="st11"></path>%0A%09%09</g>%0A%09%09<path d="M1146.1,1890.8c0,0,14.8,158.8-25,350.6" class="st14"></path>%0A%09%09<path d="M937.7,2061.4c0,0,170.2,50.3,183.3,183.5" class="st14"></path>%0A%09%09<path d="M1029.4,2285.6c13.6-4.9,80.6-4.6,99.5,8.8" class="st14"></path>%0A%09%09<path d="M1223.3,2114.4c0,0-98.3,30.9-77.3,232.1" class="st14"></path>%0A%09</g>%0A%09<g>%0A%09%09<path d="M2812.2,2216.6c0,0,60.8,180.6,68.3,350.2c-193.8,44.1-832.8-6.2-832.8-6.2%0A%09%09%09s14-297.1,80.4-332.6C2416.5,2250.4,2812.2,2216.6,2812.2,2216.6z" class="Graphic_x0020_Style_x0020_110"></path>%0A%09%09<path d="M2880.5,2566.9c-7.5-169.6-68.3-350.2-68.3-350.2s-395.8,33.8-684.1,11.4%0A%09%09%09c-17.2,9.2-30.9,36-41.7,70.6c61.5,25.5,298.6,104,672.8-9.3c-4.1,90.6,73.5,94.8,73.5,94.8c12.1,42.2,11.5,131.9,9.7,189.5%0A%09%09%09C2856.4,2571.7,2869.2,2569.4,2880.5,2566.9z" class="Graphic_x0020_Style_x0020_116"></path>%0A%09%09<path d="M2025.5,1497.7c-85.5,55.5-169,100.9-241.9,164.1c7.6,4.2,13.3,9.3,16.2,15.7%0A%09%09%09c0,0,180.9-97,314-235c-1,0.6-1.9,1.2-2.9,1.8C2081.6,1463,2054.9,1479,2025.5,1497.7z" class="Graphic_x0020_Style_x0020_120"></path>%0A%09%09<path d="M2229.4,1095.4c-25.7-0.9-176.5,78.1-272.1,168.2c-95.6,90.1-340.3,323.9-337.5,369.2%0A%09%09%09c19.6,10.4,121.7,5.7,163.9,29c72.9-63.1,156.4-108.6,241.9-164.1c29.4-18.7,56.1-34.7,85.5-53.4c0.9-0.7,1.9-1.2,2.9-1.8%0A%09%09%09c13.7-14.2,26.8-28.8,39.2-43.8C2153.1,1398.7,2255.2,1096.3,2229.4,1095.4z" class="st15"></path>%0A%09%09<path d="M2771.6,1674.1c-70.5,28.9-142.4,50.7-222.4,50.7c-37.4,0-80.1,18.7-104.2,53.4%0A%09%09%09c-61.4,98.9-133.6,184.3-232.4,229.8c-32.1,14.6-74.5,15.6-110.7,1.8c-16.7,87.9-31.4,153-31.4,153s68.3,148.9,349.6,142.7%0A%09%09%09c281.3-6.2,397.1-37.2,407.5-93.1C2841.2,2157.3,2787.4,1837.7,2771.6,1674.1z M2709.5,2042.7v-2.7V2042.7z" class="Graphic_x0020_Style_x0020_120"></path>%0A%09%09<path d="M2767.4,1598.2c4.1-101.3,24.8-260.6-97.2-366.1c-122-105.5-384.9-173.4-473.5-126.7l-76.5,292.8%0A%09%09%09c11.8,55.4,25.9,140.8,27.6,239.6c1.7,97.6-23.8,254.9-46,372c36.3,13.8,78.6,12.7,110.7-1.8c98.9-45.4,171-130.9,232.4-229.8%0A%09%09%09c24-34.7,66.8-53.4,104.2-53.4c80,0,151.9-21.8,222.4-50.7C2768.4,1641.5,2766.7,1615.1,2767.4,1598.2z" class="st15"></path>%0A%09%09<path d="M2357.9,1064.1c0,0-9-52.4-22.1-33.8c-13.1,18.6-10.3,92.4,9,98.6" class="st16"></path>%0A%09%09<path d="M2626.6,1195.8c5.3-16-5.3-34.7-24-34.7c-74.8,5.3-155,13.4-224.4-18.7c-23.9-11-31.4-34.7-32.8-58.9%0A%09%09%09c-12.4,46.4-71.3,284.2,13.2,332.7c71.4,40.9,184.3-8.4,256.1-105.5C2581,1285.5,2613.8,1234.5,2626.6,1195.8z" class="st16"></path>%0A%09%09<path d="M2517.2,949.8c-125.5-23.1-169.6,125.8-169.6,125.8s-0.8,2.8-2.2,7.9%0A%09%09%09c1.4,24.2,8.9,47.9,32.8,58.9c69.5,32.1,149.6,24,224.4,18.7c18.7,0,29.4,18.7,24,34.7c-12.9,38.6-45.6,89.7-12,114.9%0A%09%09%09c22.5-30.4,41-65.6,52.8-104.1C2717.1,1045.3,2621.6,969,2517.2,949.8z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M2650.9,1208c2.1-1.4,41.5-29.8,53.8,4.1c10.6,31.7-40.8,91.7-77.6,80.7l-7.2-3.4" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M2641.7,1253.5c0,0,22.4-60.7,39.3-38c16.9,22.7-50.4,66.6-53,66.6C2625.5,1282,2641.7,1253.5,2641.7,1253.5%0A%09%09%09z" class="st16"></path>%0A%09%09<path d="M2695.3,1256.7L2573,1608.5c0,0-4.1,73.6,8.3,89.5c-74.5,98.7-223.4,363.4-223.4,363.4%0A%09%09%09c93.1,24.8,111.9,120,92.1,155.1c108.5-97.2,400.1-407.5,406.4-575C2879.1,1534.1,2854.6,1361.8,2695.3,1256.7z" class="st15"></path>%0A%09%09<path d="M2837.6,1430.3c30.9,169.9,7.7,183.1-75,353.6%0A%09%09%09c-61.7,127.1-230.6,287.4-312.6,360.9c9.9,28.2,8.9,56.1,0,71.9c108.5-97.2,400.1-407.5,406.4-575%0A%09%09%09C2868.7,1583.2,2867.1,1505.7,2837.6,1430.3z" class="Graphic_x0020_Style_x0020_114"></path>%0A%09%09<path d="M2680.8,1197.5c-6.7,0-12.5,1.5-17.3,3.9c-21.5,10.5-26.4,38.8-26.4,38.8s-8.9,23.1-16.3,12.6%0A%09%09%09c-0.8-1.2-1.6-2.7-2.3-4.8c18.6-24.8,18.6-85.5,11.7-103.4c-6.9-17.9-99.3,26.2-212.3-13.8c-68.9-29.9-68.1-84.2-59.4-118%0A%09%09%09c4.5-17.6,11.1-29.6,11.1-29.6c8.7-20.6,14.7-76,34.2-70.3c40.6,11.7,106.8-29.1,164.9-24.4c49.8,4.1,97.3,36.1,128.3,67.6%0A%09%09%09c18.2,18.5,30.7,36.8,34.4,49.1C2741.5,1038.4,2700.5,1163.4,2680.8,1197.5z" class="st17"></path>%0A%09%09<path d="M2759.2,2289.4c0,0-18.6,62.6,23.2,86c41.8,23.4,50.2,8.7,50.2,8.7S2751.6,2373.8,2759.2,2289.4z" class="st9"></path>%0A%09%09<path d="M1712.9,1890.5c-52.6-85.2-72.3-184.5-63.6-284.7c-5.7,3.2-11.6,6.9-17.5,11%0A%09%09%09c0,0-40.7,64.1,46.2,255.8c-60.7,57.2-63.2,76.8-57.8,148.5c3.8,6,7.7,11.4,11.8,16.3C1628.4,1981.4,1663.8,1922.1,1712.9,1890.5z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M1827.7,1946.4c-2.8-88.2-44.1-69.6-38.6-133.1c5.5-63.4,12.4-109.6,15.9-150.3%0A%09%09%09c3.3-38.4-60.9-110.4-155.6-57.2c-8.8,100.2,10.9,199.5,63.6,284.7c-49.2,31.6-84.5,91-80.9,146.9c42.1,50.6,95,40.7,95,40.7%0A%09%09%09s40.7-51,44.8-68.3c11.7,0.7-32.4,71-32.4,71s7.6,14.2,24.1,13C1780.1,2092.5,1830.4,2034.6,1827.7,1946.4z" class="st16"></path>%0A%09%09<path d="M1679.1,1995l-15.9,55.8c0,0,23.8-50.3,29.3-72C1698.1,1957.1,1679.1,1995,1679.1,1995z" class="st18"></path>%0A%09%09<path d="M1719.7,2081.7c0.5-1.4,56.1-102.4,65.3-88.7c9.2,13.7-42,92.4-42,92.4s-5.3,3.1-3.5-4.7%0A%09%09%09c1.8-7.8,42.7-68.9,35.4-68.5c-7.4,0.5-44.1,60.7-47.8,65.7S1719.7,2081.7,1719.7,2081.7z" class="st18"></path>%0A%09%09<path d="M1686.9,2067.8c0,0,33.5-83.7,43.3-79.9c9.8,3.9-39.4,83.3-39.4,83.3L1686.9,2067.8z" class="st18"></path>%0A%09%09<path d="M1653.4,1961.3c0,0-15.7,62.3-15.2,75C1645.6,2045.3,1657.7,1960.6,1653.4,1961.3z" class="st18"></path>%0A%09%09<path d="M1761.8,2227.6c-54.2-19.3-110.3-23.2-166.4-38.7c-0.1,0-0.2-0.1-0.3-0.1c8.4,8.6,16.7,17.2,25.1,25.7%0A%09%09%09c53.2,60.7,288.8,91.2,288.8,91.2s-10.9-9.9-72.5-89.2c-8.1,3.7-16.2,7.5-24.4,11.1C1796.6,2235.3,1777.3,2233.4,1761.8,2227.6z" class="st19"></path>%0A%09%09<path d="M1267.8,1860.2c0,0,164.6,162.1,327.3,328.6c0.1,0,0.2,0.1,0.3,0.1c56.1,15.5,112.2,19.3,166.4,38.7%0A%09%09%09c15.5,5.8,34.8,7.7,50.3,0c8.2-3.6,16.4-7.4,24.4-11.1c-33.8-43.5-82.8-108-153.6-203.3%0A%09%09%09C1514.7,2038.1,1267.8,1860.2,1267.8,1860.2z" class="st20"></path>%0A%09%09<path d="M1894.6,2339.3c-53.4,8-106.9,10.7-163-2.7c-19-4.7-34.6-13.9-48.5-25.2%0A%09%09%09c15.8,36.7,102.7,87.4,133.9,82.8c31.7-4.6,303.8-96.5,339.7-99.3c35.9-2.8,272.6-59.4,293.2-78.4c6.2-5.7,10.6-21.4,10.5-40.6%0A%09%09%09c-161,58-322,87.3-483.1,141.9C1950.7,2325.9,1921.3,2334,1894.6,2339.3z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M2357.9,2061.5c-149.6,34-453,200.5-549.1,192.3c0,0-60.2,7.5-96.1-8.3c-35.9-15.8-83.7-37.4-96.5-28.9%0A%09%09%09c-10.2,6.8,29.5,56.4,52.7,80.6c6,6.2,10.8,10.8,13.5,12.5c0.2,0.6,0.5,1.1,0.7,1.7c13.9,11.3,29.5,20.5,48.5,25.2%0A%09%09%09c56.1,13.4,109.5,10.7,163,2.7c26.7-5.3,56.1-13.4,82.8-21.4c161-54.5,322-83.8,483.1-141.9%0A%09%09%09C2460.3,2131.9,2436.5,2068.5,2357.9,2061.5z" class="st16"></path>%0A%09</g>%0A%09<path d="M5147.8,2758.7c3.3,42.6-104.8,129-220.1,160.2c-111.1,40.4-316.5,84.1-839.1,218.8%0A%09%09c-356.5,91.9-571.8,151.6-716.6,186.6c-191.1,46.2-259.5,49.2-368,26c-51.4-11-96.9-24.7-137.9-40%0A%09%09c-255-95.3-339.6-255.1-634.7-236.4c-200.1,12.7-322,96.2-560,42.5c-136.3-30.7-235.9-89.6-304.8-131.1%0A%09%09c0,0-186.3-112.1-344.2-301.7c-39.9-42.2-73.3-85.6-94.5-130.9l1061.8-81.6L5147.8,2758.7z" class="Graphic_x0020_Style_x0020_118"></path>%0A%09<polygon points="1909,2627.9 2329.7,2696.9 2880.5,2648.9 2839.9,2636 1902.2,2607.7 1873.4,2616.7" class="st21"></polygon>%0A%09<path d="M2902.4,2554.2c0,0,128.1,29.9,198.1,36.5c16.9,26,103.7,26.1,139.2,31.4c35.5,5.3,64.9,60.1,137.9,65%0A%09%09c73,4.9,88.9,32.2,118.2,30.1c29.2-2.1,39.1-54.7,49.7-59.9c10.6-5.2-32-38.9-10.7-45.5C3396.5,2597.2,2902.4,2554.2,2902.4,2554.2%0A%09%09z" class="st21"></path>%0A%09<path d="M3668.6,2761.4c39.6,3,90.3-36.8,169.2-23.5c88.5,14.9,307.2,32.5,354.3-1.4%0A%09%09c61.3,3.3,696.2,65.4,749.1,44.1c52.9-21.3,68-34.5,68-34.5l-1182-107.2c0,0-299.4,44.5-286.7,84.2%0A%09%09C3547.2,2749,3629,2758.4,3668.6,2761.4z" class="Graphic_x0020_Style_x0020_117"></path>%0A%09<path d="M3779.6,3218.3c-115.9-48.9-340.1-136.6-484.1-148c-201.1-15.9-340.3-109.9-337.2-157.7%0A%09%09c3.1-47.8-605.8-113-946.8-126.3c-204.7-8-676.2-112.3-330.9-291.5l-79,6.1c-81.3,57.9-200.4,165.5-77.3,230.8%0A%09%09c174.8,92.7,1373.9,95.9,1387.8,212c13.2,110.3,575.5,195.9,765.9,301.5C3710,3236.7,3743.7,3227.7,3779.6,3218.3z" class="st22"></path>%0A%09<g>%0A%09%09<path d="M4484.2,1461.7v1181h488.7v-1181H4484.2z M4939.2,2561.4h-421.4v-539.8h421.4%0A%09%09%09V2561.4z M4939.2,1982.4h-421.4v-485.5h421.4V1982.4z" class="Graphic_x0020_Style_x0020_107"></path>%0A%09%09<rect height="485.5" width="355.8" class="Graphic_x0020_Style_x0020_118" y="1496.9" x="4583.5"></rect>%0A%09%09<rect height="485.5" width="65.6" class="Graphic_x0020_Style_x0020_119" y="1496.9" x="4517.8"></rect>%0A%09%09<rect height="539.8" width="80.1" class="Graphic_x0020_Style_x0020_119" y="2021.5" x="4517.8"></rect>%0A%09%09<rect height="539.8" width="341.3" class="Graphic_x0020_Style_x0020_118" y="2021.5" x="4597.9"></rect>%0A%09%09<polygon points="5067.7,1559.5 4972.9,1461.7 4975.8,2765.4 5070.3,2765.4" class="Graphic_x0020_Style_x0020_110"></polygon>%0A%09</g>%0A%09<g>%0A%09%09<polyline points="2442.7,2752.3 2386.8,2825.9 2352.6,2827.7 2416.8,2743.1 2832.6,2738.3 %0A%09%09%092839.9,2747.7" class="Graphic_x0020_Style_x0020_117"></polyline>%0A%09%09<polygon points="2832.6,2738.3 2416.8,2743.1 2352.6,2827.7 2134.5,2839.2 2105.5,2724.6 %0A%09%09%092798.5,2694.4" class="Graphic_x0020_Style_x0020_117"></polygon>%0A%09%09<polygon points="3202.8,2854.8 2364.9,2854.8 2386.8,2825.9 2442.7,2752.3 2839.9,2747.7 %0A%09%09%093134.1,2744.3" class="Graphic_x0020_Style_x0020_117"></polygon>%0A%09%09<polygon points="2839.5,2730.9 2805.3,2687.1 2112.4,2717.2 2141.4,2831.8 2359.4,2820.3 %0A%09%09%092393.7,2818.5 2449.6,2745 2846.8,2740.3" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09%09<polygon points="3202.8,2848.8 2364.9,2848.8 2386.8,2819.9 2442.7,2746.3 2839.9,2741.7 %0A%09%09%093134.1,2738.3" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09</g>%0A%09<g>%0A%09%09<path d="M3326.7,2053.5c67.2,11.8,127,45.4,188.5,75.5c-25.6-21.6-54.4-38-66.9-44.7c-69.9-65-238.4-55.8-331.3-54.5%0A%09%09%09c-56.7,0.8-107.4,28.8-147.4,65.5C3076.9,2034.1,3204.5,2033.1,3326.7,2053.5z" class="st23"></path>%0A%09%09<path d="M3390.7,2125.6c29.4,10.7,40.1,48.1,64.1,69.5c33.5,30.3,76.4,36.8,117.6,27.5c-4-13-8.3-25.7-12.8-37.7%0A%09%09%09c-7.5-20.2-25.1-39.4-44.4-55.7c-61.4-30.2-121.3-63.8-188.5-75.5c-6.7-1.1-13.5-2.2-20.2-3.1c2.5,4.5,4.8,9.1,6.8,13.8%0A%09%09%09c6.9,18.8,10.9,38,12.4,57.2C3347.5,2119.7,3369.7,2120.3,3390.7,2125.6z" class="st23"></path>%0A%09%09<path d="M3454.8,2195c-24-21.4-34.7-58.8-64.1-69.5c-21.1-5.3-43.3-5.9-65.1-4.2c6.4,84.5-36.4,169.9-95.2,228.6%0A%09%09%09c-29.4,32.1-61.4,58.8-101.5,82.8c-32.1,21.4-66.8,37.4-101.5,53.4c-41.6,14.5-81.5,4.8-119.8-10.2c3.7,32.6,11.1,70.7,27.1,85.4%0A%09%09%09c2.2,2,149.9,56.5,246.1,29.3c130.3-36.9,227.4-163.5,314.2-210.2c10.9-5.9,21.4-12.4,31.4-19.5l-0.4-14l53.6-33.2%0A%09%09%09c3.8-4.2,7.6-8.5,11.2-12.9c-4.1-26.8-10.7-53.3-18.4-78.3C3531.3,2231.8,3488.3,2225.3,3454.8,2195z" class="st24"></path>%0A%09%09<path d="M2963.9,2113.7l-74.4,244.3c3.2,19.6,7.7,41,13.7,64.4c0.8-0.5,1.1,24.3,4.3,53.6%0A%09%09%09c38.3,15.1,78.3,24.8,119.8,10.2c34.7-16,69.5-32.1,101.5-53.4c40.1-24,72.1-50.8,101.5-82.8c65-65,110.5-162.6,91.4-255.6%0A%09%09%09C3210,2135.2,3083,2108.6,2963.9,2113.7z" class="st25"></path>%0A%09%09<path d="M3321.8,2094.4c-2.1-10.2-4.9-20.2-8.6-30.2c-2-4.6-4.2-9.2-6.8-13.8c-116-16.9-235.4-12.9-336.9,44.9%0A%09%09%09l-5.6,18.4C3083,2108.6,3210,2135.2,3321.8,2094.4z" class="st26"></path>%0A%09%09<path d="M3590.8,2300.8c-3.6,4.4-7.4,8.7-11.2,12.9l12-7.5C3591.4,2304.4,3591.1,2302.6,3590.8,2300.8z" class="st9"></path>%0A%09%09<g>%0A%09%09%09<path d="M3452.4,2090.3c-50.3-112.2-85.1-243.7-193.4-309.5c-17.4-9.7-50.3-13.5-71.6,3.9%0A%09%09%09%09c-34.5,27-36.4,68-35.6,109.5c51.1,42.2,96.7,74.2,118.4,75.2c65,3,117,150.1,192.8,215.4c35.5,30.6,78.2,23.7,113.6,7.7%0A%09%09%09%09c-19.8-3.7-39.3-11.4-54.6-19C3487.2,2158,3467.9,2123.1,3452.4,2090.3z" class="Graphic_x0020_Style_x0020_116"></path>%0A%09%09%09<path d="M3489,1994.5c-13.8-96.5-49-197.2-111.1-242.1c-62.1-44.9-38.1-160-114.8-199.7%0A%09%09%09%09c-190.3-102-287.5,4.8-333,55.2c-45.5,50.3-4.1,77.2-4.1,77.2s123.9,124.8,225.9,209c-0.9-41.4,1-82.4,35.6-109.5%0A%09%09%09%09c21.3-17.4,54.2-13.5,71.6-3.9c108.3,65.8,143.1,197.3,193.4,309.5c15.5,32.9,34.8,67.7,69.6,83.2c15.3,7.7,34.8,15.3,54.6,19%0A%09%09%09%09c40.3-18.2,71.2-48.2,71.2-48.2S3502.8,2091.1,3489,1994.5z" class="Graphic_x0020_Style_x0020_108"></path>%0A%09%09%09<path d="M3182.3,2144.3c-13.4-74.8,34.7-189.7-58.8-221.7c-16-61.4,5.3-128.2-37.4-184.3%0A%09%09%09%09c-33.7-46.4-75.8-81.1-127.5-97.6c-15.4,4-42.2,14-46.3,24.6c-13.8,35.6-24.4,108.3-3.6,195.1c19.9,94,53.6,191.2,151.7,162.7%0A%09%09%09%09c51,68.9,51,103.4,48.3,128.2c25.3,30.5,60,37.2,94.1,32.1C3192.8,2173.6,3185.5,2160.8,3182.3,2144.3z" class="st16"></path>%0A%09%09%09<path d="M3314.2,2124.9c-5.5-129.6-75.8-207-93.8-211.7c30.3-46.1,33.1-82-6.9-106.8%0A%09%09%09%09c-40-24.8-57.9,67.6-57.9,67.6s-19.3,18-16-3.3c17.7-114.7-62.5-214-170.5-231.9c-1.2-0.2-5.1,0.5-10.4,1.9%0A%09%09%09%09c51.7,16.5,93.8,51.2,127.5,97.6c42.7,56.1,21.4,122.9,37.4,184.3c93.5,32.1,45.4,146.9,58.8,221.7c3.1,16.5,10.5,29.3,20.4,38.9%0A%09%09%09%09C3250.3,2176,3296.5,2145.8,3314.2,2124.9z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09%09<path d="M2969,1635.8c0,0,75.2,27.2,72.4,70.7c-2.8,43.5-9.8,77.5,56.3,98.1c-31.6-35.6-34.2-44-26.9-86.3%0A%09%09%09%09S3035.8,1587.8,2969,1635.8z" class="st17"></path>%0A%09%09%09<path d="M2789.6,2288.5c-77.5,101.5-203,106.9-323.3,128.2c-27.7,5.9-43.7,28.1-64.3,43.4%0A%09%09%09%09c7.2,13.8,19.1,27.9,28,39.8c0.5-0.1,1.1-0.3,1.6-0.4c159.5-16.7,359.4-29.1,470.9-150.7l-0.1-16l61-218.3%0A%09%09%09%09c-27.4,9-56.1,12.8-77.6,32.4C2837.7,2184.3,2824.3,2243.1,2789.6,2288.5z" class="st25"></path>%0A%09%09%09<path d="M3017.4,2050.7c-17.9,4.3-35.5,9.7-52.8,16.1c-58.6,21.8-113.1,55-149.7,106.6%0A%09%09%09%09c-16.4,23.2-29.7,48.3-42.2,73.7c-5.8,11.7-11.7,21.5-19.5,31.9c-8.1,10.8-17.8,20.2-27.8,29.2c-21.9,19.5-47.7,34.4-75.4,44.1%0A%09%09%09%09c-33.1,11.6-67.9,16.1-101.5,25.4c-82.7,23-147.1,41.1-152.6,60.5c-0.2,7,2.3,14.5,6.2,22c20.6-15.4,36.6-37.5,64.3-43.4%0A%09%09%09%09c120.2-21.4,245.8-26.7,323.3-128.2c34.7-45.4,48.1-104.2,96.2-141.6c21.5-19.6,50.2-23.4,77.6-32.4l5.1-18.3%0A%09%09%09%09c11-10.8,16.7-15,29.5-24.1c14.7-10.5,30.5-19.7,47.1-26.7c0.1-0.2,0.2-0.4,0.3-0.6C3036,2046.5,3026.6,2048.4,3017.4,2050.7z" class="st23"></path>%0A%09%09%09<path d="M3045.4,2044.9c-0.1,0.2-0.2,0.4-0.3,0.6c0.7-0.3,1.4-0.6,2.1-0.9%0A%09%09%09%09C3046.6,2044.7,3046,2044.8,3045.4,2044.9z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09%09%09<path d="M2431.6,2499.6c-0.5,0.1-1.1,0.3-1.6,0.4c0.9,1.2,1.8,2.4,2.6,3.6c10.8,15.3,7.8,45,49.1,42.6%0A%09%09%09%09c30.8-6,230-18.7,273.3-29.7c32-8.2,82.2-26.3,148.2-94.1l-0.7-73.5C2791,2470.5,2591.1,2482.9,2431.6,2499.6z" class="st24"></path>%0A%09%09%09<path d="M2398.2,2439.8c0,0,40.7-31.7,69.6,4.1c29,35.9,49.3,96,29,100.7c-20.4,4.6-65.8,2.1-87-35.2%0A%09%09%09%09C2388.5,2472.2,2387.5,2454.3,2398.2,2439.8z" class="st27"></path>%0A%09%09%09<path d="M3350.7,1877.1c18.7-58.6,71.9-104,69.5-165.2c-4.1,1.2-8.2,5.1-10.8,12.5c-7.6,21.4-71.4,103.8-71.4,103.8%0A%09%09%09%09s0,0,3.8-22.1s1.4-35.5-9.7-36.9c-11-1.4-18.3,10.3-18.3,10.3c1-31-13.4-29.3-23.4-27.6c-10,1.7-9.3,51.4-10,64.8%0A%09%09%09%09c-0.7,13.4-15.2,26.9-20-4.1c-2.8-35.9-40.7-71.7-51.7-66.9c-11,4.8,14.8,62,13.1,94.5c-1.7,32.4-20,100.7-5.5,148.2%0A%09%09%09%09c14.5,47.6-3.4,102-3.4,102l85.3,21.2c4.2-67.5,4.5-134.6,44.5-197.1C3350.7,1903.8,3348,1890.5,3350.7,1877.1z" class="st16"></path>%0A%09%09%09<path d="M3420.1,1711.9c2.4,61.2-50.8,106.6-69.5,165.2c-2.7,13.4,0,26.7-8,37.4%0A%09%09%09%09c-40,62.5-40.2,129.7-44.5,197.1l22.9,5.7c0,0-3.5-115.8,17.2-141.3c20.7-25.5,15.2-80,25.3-108.9c10.1-29,71.3-117.9,72-137.2%0A%09%09%09%09C3436,1717.3,3427.9,1709.7,3420.1,1711.9z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09%09<path d="M3305.2,1839.7c-0.4,0.9,11-56.8,9-67.2c4.3,1.6,4.3,1.6,4.3,1.6S3312.8,1824.1,3305.2,1839.7z" class="st9"></path>%0A%09%09%09<g>%0A%09%09%09%09<polygon points="2369.1,2558.8 2880.5,2623.2 2325,2668.2 1891.1,2604.1" class="Graphic_x0020_Style_x0020_115"></polygon>%0A%09%09%09%09<polygon points="2264.3,2566.5 2626.8,2624.8 2334.4,2648.9 2170.4,2611.3" class="Graphic_x0020_Style_x0020_109"></polygon>%0A%09%09%09%09<path d="M2421.8,2452.1c-5.6-0.2-22.6,8.6-22.6,8.6s-13.8-44.1-80.7-43.4s-64.8,65.5-64.8,65.5s5.5,77.2,26.9,93.1%0A%09%09%09%09%09c21.4,15.9,99.3,4.1,102.4,0c3.1-4.1,45.3-6.9,66.9-30.3c21.6-23.4,33.5-24.4,33.5-24.4S2463.5,2453.5,2421.8,2452.1z" class="st16"></path>%0A%09%09%09%09<path d="M2319.3,2460c0,0-45.5,32.4-15.2,90.3c-6.8,0.6-6.8,0.6-6.8,0.6%0A%09%09%09%09%09S2262.7,2493.1,2319.3,2460z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09%09%09<path d="M2376.8,2552.2c0,0-56.9-11.2-43.1-33.6c13.8-22.4,45.5-15.9,46.9-24.5%0A%09%09%09%09%09c1.4-8.6-15.9-23.8-21.7-14.5c-5.9,9.3-15.5,25.2-15.5,25.2s-24.1,6.2-17.9,23.1c6.2,16.9,33.8,15.5,6.2,16.9%0A%09%09%09%09%09c-27.6,1.4-39.6,0-39.6,0s-7.4,36.2,7.3,37.5c14.7,1.4,61.6,6.9,105-10.3c43.4-17.2,43.8-24.7,43.8-24.7%0A%09%09%09%09%09S2401.3,2559.2,2376.8,2552.2z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09%09%09<polygon points="2331,2682 2848.1,2642 2880.5,2623.2 2322,2668.2 1885.6,2604.1 %0A%09%09%09%09%091893.9,2613.5" class="Graphic_x0020_Style_x0020_109"></polygon>%0A%09%09%09%09<path d="M1784.9,2001.5l427.1,0.5l15.9,3c18.3,3.5,31.9,18.7,33.5,37.3c9.9,120.2,38.5,538.8,42.7,616.9%0A%09%09%09%09%09c0.3,6.5-11.2,15-17.7,14.2l-444.6-65.8L1784.9,2001.5z" class="st28"></path>%0A%09%09%09%09<path d="M1794.6,1993.3l411.5,8.2c15.8,0.3,28.8,12.5,30.1,28.3c10.4,126.7,52.8,644.5,49.2,643.3%0A%09%09%09%09%09c-3.6-1.2-348.6-51.6-443.5-65.4c-14.1-2.1-24.9-13.4-26.2-27.6l-52.4-553C1761.5,2008.7,1776.2,1992.9,1794.6,1993.3z" class="st29"></path>%0A%09%09%09</g>%0A%09%09%09<path d="M3465.5,2285.9c-5.8-29.1-28.6-54-57-68.5c9.3,57-21.2,85.5-21.2,85.5c-6.8,3.4-40.2,78.1-48.3,71.7%0A%09%09%09%09c-4.1-3.3-5.8-14.7-6.3-29.4c-17.3-67.3-4-136.5-11.5-203.5c-2.3-18.1-0.7-36.2-6.7-52.6c-6.5-5.5-15.7-10.3-27.9-14.4%0A%09%09%09%09c0.8,120.3-17.7,240.4,10.5,355.6c8,37.4,77.5,16,112.2-8C3452.2,2392.7,3478.9,2339.3,3465.5,2285.9z" class="st24"></path>%0A%09%09%09<path d="M3332.7,2345.1c-0.9-27.1,2.3-65.1,1.7-83.5c-0.9-28.4,4.6-84.2-6.4-147.7c-0.5-9.3-4.6-17.6-13.4-24.9%0A%09%09%09%09c5.9,16.5,4.4,34.5,6.7,52.6C3328.7,2208.5,3315.4,2277.8,3332.7,2345.1z" class="st27"></path>%0A%09%09%09<path d="M3591.6,2306.2l-189.3-113.8c2.9,8.8,4.9,17.1,6.2,24.9c28.4,14.5,51.2,39.4,57,68.5%0A%09%09%09%09c4.9,19.6,4.4,39.1-0.3,57.5c36.8,33.3,76.9,62.3,118.5,89.3C3596.9,2393.5,3597.6,2349.6,3591.6,2306.2z" class="st24"></path>%0A%09%09%09<path d="M3226.7,2062.8c-4.2-0.5-8.6-0.9-13.2-1.3c-89.6,102-96.5,485.4-63.4,524c10.1,11.8,36.5,17.9,71.6,18.6%0A%09%09%09%09c-2.7-1.6-5.1-3.5-7.3-5.6C3080,2450.9,3137.9,2222.8,3226.7,2062.8z" class="st23"></path>%0A%09%09%09<path d="M3465.3,2343.4c-8.1,31.8-28.7,60.1-55.8,78.8c-34.7,24-104.2,45.4-112.2,8%0A%09%09%09%09c-28.2-115.2-9.7-235.3-10.5-355.6c-15.1-5.1-34.8-9.1-60-11.8c-88.8,160-146.7,388.1-12.3,535.7c2.1,2.1,4.6,4,7.3,5.6%0A%09%09%09%09c79.8,1.5,205-25.2,288.3-77.9c38.4-24.3,61.5-56.9,73.7-93.5C3542.2,2405.6,3502.1,2376.6,3465.3,2343.4z" class="st25"></path>%0A%09%09</g>%0A%09%09<path d="M3123.6,1922.5c3.2,5.9-36.5,92.1-63.1,100.4c35,56.6,28,41.3,37.6,63.1c63.2-44,78.1-61.9,78.3-92.2%0A%09%09%09C3177.1,1914.4,3123.6,1922.5,3123.6,1922.5z" class="st30"></path>%0A%09</g>%0A%09<g>%0A%09%09<path d="M3972.8,2436.5c-19.3-100.6-1.9-197.3,30.9-292.1c1.9-7.7,9.7-13.5,11.6-23.2%0A%09%09%09c13.5-58,34.8-108.3,58-160.5c1.9-7.7,1.9-15.5,3.9-23.2c1.5-4.4,6.3-7.7,9.3-11.5c-108.6,18.8-247.9,49.9-313.3,64.9%0A%09%09%09c22.2,33.7,40.9,69.3,52.5,109.1c3.9,7.7,13.5,13.5,17.4,21.3c3.9,5.8,0,11.6,3.9,17.4c11.6,15.5,21.3,29,25.1,48.4%0A%09%09%09c1.9,3.9,7.7,5.8,7.7,9.7c0,94.8,7.7,189.6,0,284.3c-6.7,72.9-22.6,143.8-37.3,214.7c84.9-0.2,183-1.6,281.4-2.7%0A%09%09%09c-52.2-58.4-91.1-128-129.9-198.4C3984.4,2475.2,3976.6,2455.8,3972.8,2436.5z" class="Graphic_x0020_Style_x0020_114"></path>%0A%09%09<path d="M4194.9,2483.6c82.8-18.7,163-5.3,237.8,48.1c8,8,26.7,5.3,37.4,0%0A%09%09%09c58.6-34.6,128.4-61.3,198-68.7c-150.8-225.4-393-546.7-446.5-551.9c-23.2-2.2-74.3,4.4-135,14.8c-3.1,3.9-7.9,7.1-9.3,11.5%0A%09%09%09c-1.9,7.7-1.9,15.5-3.9,23.2c-23.2,52.2-44.5,102.5-58,160.5c-1.9,9.7-9.7,15.5-11.6,23.2c-32.9,94.8-50.3,191.5-30.9,292.1%0A%09%09%09c3.3,16.6,9.5,33.3,17.3,49.9C4050.6,2508.5,4130.6,2499.3,4194.9,2483.6z" class="Graphic_x0020_Style_x0020_105"></path>%0A%09%09<path d="M4470.1,2531.7c-10.7,5.3-29.4,8-37.4,0c-74.8-53.4-155-66.8-237.8-48.1%0A%09%09%09c-64.3,15.7-144.3,24.9-204.8,2.8c1.3,2.7,2.6,5.4,3.9,8.1c38.9,70.4,77.7,140.1,129.9,198.4c233-2.6,467.2-3.9,529.1,13.9%0A%09%09%09c110.3,31.7,131,20.7,137.9-30.3c2.3-16.7-49.5-103.7-123-213.5C4598.5,2470.4,4528.6,2497,4470.1,2531.7z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M3879.9,2196.6c0-3.9-5.8-5.8-7.7-9.7c-3.9-19.3-13.5-32.9-25.1-48.4c-3.9-5.8,0-11.6-3.9-17.4%0A%09%09%09c-3.9-7.7-13.5-13.5-17.4-21.3c-11.6-39.8-30.4-75.4-52.5-109.1c-23.2,5.3-37.1,8.6-37.1,8.6s-76.6,50.8-73.5,108.1%0A%09%09%09c3.1,57.3,7.7,545.5-0.1,585.4c44.9,2.2,107.7,2.8,180,2.6c14.8-70.9,30.6-141.8,37.3-214.7%0A%09%09%09C3887.6,2386.2,3879.9,2291.4,3879.9,2196.6z" class="st31"></path>%0A%09%09<path d="M3622.6,2308.8c7.7-30.9,11.6-63.8,40.6-85.1c3.9-3.9,1.9-9.7,5.8-13.5c21.7-17.1,39.8-41.6,63-53.7%0A%09%09%09c-6.4-58.7-17.6-101.8-29.1-95c-30.3,17.9-474.3,322.7-497.1,369.5s-42.1,123.7,13.1,152.8c0,0-20.7-133.5,59.3-157%0A%09%09%09c80-23.4,155.8,45.5,157.2,51c0.7,2.8,16.3,25.9,31.7,46.8c24.5-12.2,48.8-24.7,72.3-41.8%0A%09%09%09C3593.6,2440.4,3609.1,2376.5,3622.6,2308.8z" class="st32"></path>%0A%09%09<path d="M3669.1,2210.2c-3.9,3.9-1.9,9.7-5.8,13.5c-29,21.3-32.9,54.2-40.6,85.1c-13.5,67.7-29,131.5-83.2,174.1%0A%09%09%09c-23.4,17.1-47.7,29.6-72.3,41.8c14.9,20.3,29.7,38.6,30.4,34.1c1.4-9.2,146.2-90.6,205.5-136.8c36.9-28.8,39.6-168.5,29.1-265.5%0A%09%09%09C3708.8,2168.5,3690.8,2193.1,3669.1,2210.2z" class="st31"></path>%0A%09%09<path d="M3252.8,2424.8c-14.7,6.4-25.2,15.5-32.7,25.8c33.5,31.1,84.8,42,119.8,22.2c22.9-10.4,45.8-17.6,64.9-32.9%0A%09%09%09c-0.9-0.6-1.9-1.3-3.1-2.1C3385.9,2421.4,3321.1,2395.2,3252.8,2424.8z" class="st16"></path>%0A%09%09<path d="M3220.1,2450.6c-5.4,7.5-9.3,15.6-11.9,23.8c11.3,29.8,34.2,55.9,59.6,75.9%0A%09%09%09c39.9,36.8,89.5,48.9,140.2,47.1l4-152.6c0,0,0,0-7.2-4.8c-19.1,15.3-42,22.5-64.9,32.9%0A%09%09%09C3304.9,2492.6,3253.6,2481.7,3220.1,2450.6z" class="Graphic_x0020_Style_x0020_113"></path>%0A%09%09<path d="M3267.8,2550.4c-25.4-20-48.3-46.1-59.6-75.9c-0.6,1.9-1.2,3.9-1.7,5.8%0A%09%09%09c-3.2,12.6-4,25-3.7,35.5c0.4,15.7,3.1,26.9,3.1,26.9s73.1,121.3,186.1,122.7c14.5-13.8,14.5-13.8,14.5-13.8l0.5-17.8l0.7-24.6%0A%09%09%09l0.3-11.9C3357.3,2599.3,3307.7,2587.2,3267.8,2550.4z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09<path d="M3235.6,2602c0,0,20.6,1.7,15.5-3.8c-16.6-18-47.6-98.2-21.8-124.8c29.7-30.7,122.5-41.5,160.6-26.4%0A%09%09%09c-3.3-14.6-3.3-14.6-3.3-14.6s-76.5-31-120-13.1c-43.4,17.9-62.2,9.2-63.8,77c-1.7,67.8,9.5,101.6,23.2,107.8%0A%09%09%09C3239.7,2610.3,3235.6,2602,3235.6,2602z" class="st33"></path>%0A%09%09<path d="M3226,2604.1c0,0-34.8-98.6-3.2-143.2s183.6-37.2,209.7,22.5c15.9-4.6,15.9-4.6,15.9-4.6%0A%09%09%09s51.4-54.7-36.3-81.6c-87.8-26.9-216.5,9.7-228.4,92.5S3199.4,2597,3226,2604.1z" class="st20"></path>%0A%09%09<path d="M3340,2529c32.1-10.7,40.1-29.4,53.4-58.8c2.7-5.3,21.4,2.7,32.1-5.3%0A%09%09%09c34.7-32.1,80.1-48.1,120.2-32.1c9,3,17.6,7.1,26,11.5c-6.3-16.9-12.8-29.1-12.8-29.1s-3-1.5-7.6-3.6%0A%09%09%09c-11.7-5.4-33.9-14.8-44.8-14.3c-15.2,0.7-29.9,22.1-29.9,22.1s-32.8-9-49.4,0c-16.5,9-18.5,35.5-18.5,35.5s-15.9-1.7-33.9,7.3%0A%09%09%09s-6.2,37.2-6.2,37.2s-15.2-12.4-42.1,6.2c-20.5,12.6-13.4,51.1-1.3,85.4C3326.1,2565.1,3319.5,2533.5,3340,2529z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M3545.7,2432.8c-40.1-16-85.5,0-120.2,32.1c-10.7,8-29.4,0-32.1,5.3c-13.4,29.4-21.4,48.1-53.4,58.8%0A%09%09%09c-20.4,4.5-13.9,36.1-14.7,61.9c4.6,13,9.9,25.4,14.7,35.5c6.7,14.3,12.4,24,13.6,24.5c32.4,14.5,39.8-12.1,39.8-12.1%0A%09%09%09s7.4,27.2,34.4,26.6c27-0.6,13.8-43.4,13.8-43.4s36.8,33.1,54,29c17.2-4.1,4.1-42.1,4.1-42.1s23.4,27.6,48.3,21.4%0A%09%09%09c24.8-6.2-10.3-94-10.3-94s24.1,13.3,41.4-12.2c10.5-21.9,1.8-55.6-7.2-79.8C3563.2,2439.9,3554.7,2435.8,3545.7,2432.8z" class="st16"></path>%0A%09%09<path d="M3855.6,1746.2c-34.7-66.8-53.4-157.6-120.2-181.7c-70.3-26.7-149.3,8.2-227.2-3%0A%09%09%09c-21.3,43.8-31,95-34.5,140.3c-7.9,103.1,20.2,204.3,82.4,287.5c9.2,12.3,20.1,15.4,35.2,15.3c13.5-0.1,92.2-26.6,94.3-24.1%0A%09%09%09c0,0,89.2,104.8,138.8,155.4c3.9,4,7.6,7.6,11.1,10.9c41,38.7,55.1,33.2,55.1,33.2s66.2-16.5,80-60.7c13.8-44.1,68-261.3,68-261.3%0A%09%09%09s-2.5-6.5-5.6-15.8C3959.1,1845.2,3889.3,1813.7,3855.6,1746.2z" class="st16"></path>%0A%09%09<path d="M4022,1797.7c-2.8-24.8,81.8-357.6-168.2-366.8c-89.9-3.3-189,3.2-269.9,46.9%0A%09%09%09c-34.4,18.6-58.8,48.8-75.7,83.7c77.9,11.2,156.9-23.7,227.2,3c66.8,24,85.5,114.9,120.2,181.7c33.8,67.5,103.5,99,177.4,96.1%0A%09%09%09c-1.2-3.7-2.5-7.7-3.8-12.1C4026.1,1819.7,4023.1,1807.8,4022,1797.7z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M4069.8,1569.7c-23-40.4-27.6-96.5-46-109.4c-0.8-25.3-12.8-44.3-33.2-58.9%0A%09%09%09c-26.3-18.9-66.6-30.6-114.7-39.4c-85.5-15.6-326.4,68.3-388.9,41.2c-46.2-20-44.1,85.7-44.1,85.7s-0.6,8.6,2.7,18.9%0A%09%09%09c0.8,2.6,1.9,5.3,3.4,8c6.8,13.1,21.3,26,51.9,25.5c61.6-0.9,148-35.8,156.3-17.5c8.3,18.4,0.9,143.8,12.9,163.8%0A%09%09%09c4.5,0.7,8.3,1.3,11.5,1.8c16,2.6,16,2.6,16,2.6s1.8-85.5,55.2-84.1c18.2,0.5,37.2,5.3,55.1,14.9c34.5,18.6,64.6,55.2,75.4,113.4%0A%09%09%09c16.6,88.2,147.1,77.2,147.1,77.2s2.3-7.5,5.9-19.9c5.1-17.8,12.8-45.6,20-75.9C4070,1659,4082.1,1591.2,4069.8,1569.7z" class="Graphic_x0020_Style_x0020_108"></path>%0A%09%09<polygon points="3720.5,1573.4 3453,1652.4 3452.3,1641 3736.1,1563.3" class="Graphic_x0020_Style_x0020_110"></polygon>%0A%09%09<path d="M3661.3,2544.8c-2.7-1-5.3-2.4-7.9-4.1c4.4,48.9,8.2,80.7,8.2,80.7l146.2-7.8%0A%09%09%09c0,0,5.8-43,13.8-101.1c-7.6,1.5-15.3,3.9-23,7.2C3756.1,2539,3707.8,2556.4,3661.3,2544.8z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M3847.5,2157.6c-42.9-65.3-126-117.2-122.4-138.8c-110.1-35.4-87.2,349.7-71.6,521.9%0A%09%09%09c2.6,1.7,5.2,3.1,7.9,4.1c46.4,11.6,94.8-5.8,137.3-25.1c7.7-3.3,15.3-5.7,23-7.2c11.1-80.9,26.4-191.1,35.8-255.6%0A%09%09%09C3859.9,2240.5,3857.5,2172.8,3847.5,2157.6z" class="st32"></path>%0A%09%09<path d="M4242.6,2242.6c0,0,36.8,108.5,119.5,116.7c-13.8,52.4,206.2,183.4,206.2,183.4l9.8-23.8l-239.8-248.8%0A%09%09%09L4242.6,2242.6z" class="st34"></path>%0A%09%09<path d="M3298.6,2799c-8.5,5.6-14.3,9.3-14.8,9.1c-2.1-0.7-22.1,19.3-22.1,19.3%0A%09%09%09s33.8,2.8,36.5,0c0.5-0.5,4.9-3.2,11.4-7C3308.5,2811.6,3304.6,2802.8,3298.6,2799z" class="Graphic_x0020_Style_x0020_108"></path>%0A%09%09<path d="M3379,2744c0,0-53.6,37.3-80.3,55c3.9,2.5,6.9,7,8.8,12.3l95.8-56.5%0A%09%09%09C3402.9,2747.5,3396.9,2742.8,3379,2744z" class="Graphic_x0020_Style_x0020_112"></path>%0A%09%09<path d="M3307.5,2811.4c1.1,2.9,1.8,6,2.3,9.1c26.5-15.5,89.9-50.9,89.9-50.9%0A%09%09%09c2.2-5.4,3.8-10.5,3.6-14.7L3307.5,2811.4z" class="Graphic_x0020_Style_x0020_110"></path>%0A%09%09<path d="M4750.6,2686.6c-104.2,18.7-203,5.3-304.6,0c-109.5-2.7-227.1-26.7-334,16%0A%09%09%09c-80.1,29.4-171-21.4-261.8-2.7c-64.6,14.9-126.9,34.4-189.1,52.1c1.8,0.1,3.8,0.2,6,0.2c37.2,0,155.8-45.5,257.9-29%0A%09%09%09s212.4,30.3,251-6.9c96.5,5.5,601.2,41.4,650.9,26.2c10.9-23.2,13.8-50.2,10.6-77.7C4808.9,2673.1,4780.3,2680.7,4750.6,2686.6z" class="Graphic_x0020_Style_x0020_111"></path>%0A%09%09<path d="M4112.1,2702.6c106.9-42.7,224.4-18.7,334-16c101.5,5.3,200.4,18.7,304.6,0c29.7-5.9,58.4-13.5,86.9-21.6%0A%09%09%09c-9.7-83.3-75.3-171.2-141.6-173.3c-45.6,12.2-90.4,22.8-134.1,31.9c-331.1,69.3-596.5,55.3-657.4,37%0A%09%09%09c-68.9-20.7-170.7,19.4-243.8,51.1c-73.1,31.7-122,56.6-95.8,74.6c-0.8,1.2-5,6.1-5.1,9.5c-0.1,3.5-5.8,5.5-8.7,8.7%0A%09%09%09c-8.6,9.5-7.7,26.2,7.4,27.1c1.8,0.1,3.6,0.3,5.3,0.6c20,3.4,31.7,17.6,60.9,4.9c30.3-4.1,30.3-4.1,30.3-4.1s-21.9,17.1,6.4,19.1%0A%09%09%09c62.2-17.7,124.5-37.2,189.1-52.1C3941.1,2681.3,4031.9,2732,4112.1,2702.6z" class="st16"></path>%0A%09%09<path d="M5017.7,2587.8c-2.7-5.3,2.7-13.4,0-18.7c-37.4-72.1-72.1-141.6-130.9-195%0A%09%09%09c-45.4-42.7-96.2-77.5-141.6-120.2c-64.1-53.4-101.5-125.6-173.7-165.6c-80.1-45.4-157.6-88.2-243.1-120.2%0A%09%09%09c-56.1-18.7-114.9-8-173.7-10.7c-8,0-13.4-8-18.7-8c-26.9-3.6-52.7-12-77.2-22.8l-4.1,6.3l-47.1,153.2l241.3,154.8%0A%09%09%09c0.7,4.9,2.5,10,5.3,15.1c70.7-21.4,153.8-12.5,210.4,35.3c58.8,50.8,77.5,133.6,138.9,176.3c50.8,37.4,117.6,48.1,155,101.5%0A%09%09%09c26.3,32.9,23.8,78.3-4.4,111.2c16.3,20,31.9,41.7,46.4,65.4c43.6,17.7,172.5,20.1,226.6-52.4%0A%09%09%09C5038.9,2660.1,5036.7,2621.8,5017.7,2587.8z" class="Graphic_x0020_Style_x0020_105"></path>%0A%09%09<path d="M4666.9,2134.6c-215.1-230.3-311.2-220.2-404.5-226.6%0A%09%09%09c-58.4-29.4-93.8-48.3-120.4-4.6c-12.4-21.6-57-17.5-57-17.5l-26.1,40.5c24.5,10.8,50.2,19.2,77.2,22.8c5.3,0,10.7,8,18.7,8%0A%09%09%09c58.8,2.7,117.6-8,173.7,10.7c85.5,32.1,163,74.8,243.1,120.2c72.1,40.1,109.5,112.2,173.7,165.6c45.4,42.7,96.2,77.5,141.6,120.2%0A%09%09%09c58.8,53.4,93.5,122.9,130.9,195c2.7,5.3-2.7,13.4,0,18.7c18.9,34.1,21.2,72.4,9.5,105.5c14.4-19.2,23.5-43.8,24.4-74.7%0A%09%09%09C5055.7,2471,4882,2364.8,4666.9,2134.6z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M4758.6,2569.1c-37.4-53.4-104.2-64.1-155-101.5%0A%09%09%09c-61.4-42.7-80.1-125.6-138.9-176.3c-56.5-47.8-139.6-56.7-210.4-35.3c25.1,47.2,127.1,102.1,127.1,102.1s20.7,44.1,55.2,84.1%0A%09%09%09c30.5,35.4,193.5,85.8,317.6,238.2C4782.4,2647.3,4784.9,2601.9,4758.6,2569.1z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09%09<path d="M3715.8,2015.7l-33.4,5.8c0,0,86.9,194.9,81.4,227c99.3-46.4,98.4-56.1,98.4-56.1%0A%09%09%09l-7.4-38.1C3852.2,2113.2,3774.4,2063.6,3715.8,2015.7z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09%09<path d="M4035.3,1825.7c0,0-127.3,345.2-108.9,400.3c60.7-14.7,108.9,4.6,108.9,4.6%0A%09%09%09s-11.5-222.5,55.6-345.6C4061.5,1845.5,4035.3,1825.7,4035.3,1825.7z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09%09<path d="M3654.8,2733l130-51c-71.4,10.3-156.4,53.6-160.3,55.2C3633.4,2740.2,3654.8,2733,3654.8,2733z" class="st18"></path>%0A%09%09<path d="M3576.1,2735.8c0,0,55.9-47.6,182.8-76.5c-16.5-5.5-133.9,28.9-190.4,74.1%0A%09%09%09C3573.4,2738.5,3576.1,2735.8,3576.1,2735.8z" class="st18"></path>%0A%09%09<path d="M3558,2699.3c0,0,110.1-70.4,179-82.8c-35.9-12.4-176.2,71.6-176.2,71.6L3558,2699.3z" class="st18"></path>%0A%09%09<path d="M3834.5,1885.6c0,0-102,90.4-148.9,95c48.7,53.3,78.2,78.6,99.3,89.2%0A%09%09%09c0-99.3,91.9-168.2,83.7-237.2c-8.3-68.9-6.4-64.3-6.4-64.3S3863,1851.2,3834.5,1885.6z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09<path d="M4897.2,2712.3c-24.8-45.5-111.6-233-210.3-220.6c0,0-65.2,9.2-99.4,20.8c-1.1,12.9,9.7,22,21.7,26.5%0A%09%09%09c104.1,32,201.6,111.9,214.5,216.4c41.8,6.1,86.6,20.3,88.3-2.4C4912.3,2747.3,4901.4,2720.1,4897.2,2712.3z" class="st20"></path>%0A%09%09<path d="M4609.1,2539c-12-4.5-22.8-13.6-21.7-26.5c-9.2,3.1-16.2,6.4-19,9.7c149.6,89.2,160.1,153.2,228.5,227.8%0A%09%09%09c9,2.3,18,4.1,26.7,5.4C4810.8,2650.9,4713.3,2571,4609.1,2539z" class="st35"></path>%0A%09%09<path d="M3389.9,2642.1c0,0-40.9-81.4-37.1-99.3c3.8-17.9-3.1-35.9,15.9-43.4c-6.2,13.8-11,29-10,45.5%0A%09%09%09c1,16.5,34.6,94,34.6,94L3389.9,2642.1z" class="st18"></path>%0A%09%09<path d="M3407,2460.9c0,0-9.2,34.9-1.9,66.6c7.4,31.7,30.8,93.9,37,97.1c6.2,3.2,6.2,3.2,6.2,3.2%0A%09%09%09S3398.3,2507.3,3407,2460.9z" class="st18"></path>%0A%09%09<path d="M3472.9,2418.4c0,0-17,55.4-15.2,76c1.8,20.7,41.7,120.8,41.7,120.8l2.9-3.5%0A%09%09%09c0,0-42.5-108.1-31.7-146c10.9-37.9,9.3-50.7,9.3-50.7L3472.9,2418.4z" class="Graphic_x0020_Style_x0020_104"></path>%0A%09%09<path d="M3537.6,2454.9c0,0-9.2,72.2,0,81.4s20.4,7.3,20.4,7.3S3539.9,2483.9,3537.6,2454.9z" class="st18"></path>%0A%09%09<path d="M3543.3,2484.1c0,0-7.6,38.4-5.8,52.2c0.7,5.4,2.5,11.2,5.6,16.5c7.7,6.5,16.6,9.4,25.4,1.7%0A%09%09%09c15.6-12.5,17.4-32.6,17.5-52.1c-0.7-2.3-1.4-4.6-2.2-7" class="st16"></path>%0A%09%09<g>%0A%09%09%09<polygon points="3466.8,1624.2 3466.8,1624.2 3466.8,1624.2" class="st9"></polygon>%0A%09%09%09<path d="M3516.4,1675.9c-7.1-21.6-14.1-34.6-21-42.6c-3.4-4-6.9-6.7-10.3-8.4%0A%09%09%09%09c-3.4-1.7-6.8-2.3-9.8-2.3c-3.4,0-6.3,0.8-8.6,1.5c-4.1,1.3-8,4.5-10.7,9.6c-2.7,5.1-4.4,12.1-4.4,21.5%0A%09%09%09%09c0,12.2,2.8,28.6,10.1,50.4c6.4,19,13.3,30.6,20.3,37.6c3.5,3.5,7.1,5.8,10.5,7.3c3.4,1.4,6.8,2,9.7,2c2.7,0,5.1-0.4,7.1-0.9%0A%09%09%09%09c2-0.5,3.5-1.1,4.4-1.4l0,0c2.9-0.9,6.2-3.2,8.5-7.4c2.3-4.2,3.8-10.1,3.8-18.4C3526.2,1713.3,3523.6,1697.9,3516.4,1675.9z%0A%09%09%09%09 M3515.7,1738.9c-1.5,2.6-3.1,3.5-4.1,3.8c-1.2,0.4-2.5,0.9-4,1.3c-1.5,0.4-3.3,0.7-5.1,0.7c-2,0-4.3-0.3-6.7-1.4%0A%09%09%09%09c-3.7-1.5-7.9-4.6-12.5-10.9c-4.6-6.2-9.4-15.6-14-29.3c-7.1-21.2-9.7-36.9-9.7-47.9c0-8.5,1.5-14.2,3.5-17.9%0A%09%09%09%09c2-3.6,4.2-5.2,6.2-5.8l0,0c2-0.6,4.1-1.1,6.3-1.1c2,0,4,0.4,6.3,1.5c3.5,1.7,7.7,5.3,12.4,12.6c4.7,7.2,9.7,18.1,14.9,33.8%0A%09%09%09%09c7.1,21.4,9.4,36.2,9.4,46C3518.5,1731.7,3517.1,1736.3,3515.7,1738.9z" class="Graphic_x0020_Style_x0020_110"></path>%0A%09%09</g>%0A%09</g>%0A%09<polygon points="4535.9,1753.6 4677.9,1982.4 4774.4,1982.4 4597.9,1697.5" class="Graphic_x0020_Style_x0020_109"></polygon>%0A%09<polygon points="4616.6,1659.7 4815.1,1982.4 4916.5,1982.4 4705.5,1586.9" class="Graphic_x0020_Style_x0020_105"></polygon>%0A%09<polygon points="4597.9,1697.5 4644.4,1704.9 4815.1,1982.4 4774.4,1982.4" class="Graphic_x0020_Style_x0020_108"></polygon>%0A%09<polygon points="4791.1,1650.6 4705.5,1586.9 4916.5,1982.4 4939.2,1982.4 4939.2,1925.9" class="Graphic_x0020_Style_x0020_107"></polygon>%0A%09<path d="M4590.7,1773.7c0,0,19.3-16,39,11c19.6,27-20.3,47.3-33.4,30.1%0A%09%09C4583.1,1797.4,4579.5,1778.2,4590.7,1773.7z" class="Graphic_x0020_Style_x0020_100"></path>%0A%09<path d="M4596.3,1780.1c0,0,13.5-11.2,27.3,7.7s-14.2,33.1-23.4,21.1%0A%09%09C4591,1796.7,4588.5,1783.2,4596.3,1780.1z" class="Graphic_x0020_Style_x0020_106"></path>%0A%09<polygon points="4609.5,1841.2 4648,1821.1 4757.4,1982.4 4699.5,1982.4" class="Graphic_x0020_Style_x0020_105"></polygon>%0A%09<ellipse ry="38.6" rx="31.7" cy="1701" cx="4703.2" class="Graphic_x0020_Style_x0020_104"></ellipse>%0A%09<polygon points="4705.5,1762.7 4757.4,1724.1 4766.2,1734.7 4712.4,1768.9" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09<polygon points="4718.4,1793 4770.3,1754.3 4779,1764.9 4725.3,1799.2" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09<polygon points="4731.2,1823.2 4783.2,1784.6 4791.9,1795.1 4738.1,1829.4" class="Graphic_x0020_Style_x0020_100"></polygon>%0A%09<g>%0A%09%09<path d="M973.4,2494.7c-1.1-7.7-1.9-15.4-2.3-22.9c9.5-13.4,26.8-31.8,52.9-40.2c23.1-6.1,15.4-16.7,6-14.3%0A%09%09%09c-6.8,1.7-40.3,15-58.6,22.4c6.9-84.5,62.6-145.2,175.4-122.9c0,0,168.2-115.8,215,66.2c-26.6-8.7-77.4-22.7-81.8-5%0A%09%09%09c-5.6,22.6,45.1-7,86.4,25.8c2.5,13.6,4.5,28.6,5.7,45.1c0.4,18.1-4.3,37.3-12.2,56.6c-19.6-23.9-69.9-81.6-86.6-63.7%0A%09%09%09c-19.3,20.6,50.3,7.3,76.9,84.6c-10.3,19.7-23.2,39-36.6,56.7c-13.9-23.9-42.7-67.9-60.7-56.8c-7.2,6.3,6.6,15.6,21,31%0A%09%09%09c9.1,9.8,20.1,29.2,27,42.1c-32.6,40-64,68.5-64,68.5s-40.6-10.2-90-29.6c-2.2-17-5.6-50,0.5-58c8.3-10.9-3.5-21.2-17.7-9.4%0A%09%09%09c-11,9.1-13.4,36.4-10.2,55.9c-20.3-9-41-19.4-60.3-31.1c3.7-24.8,13.8-80.3,30.3-90.6c10.5-9.2,2.3-22.4-22.7-3.4%0A%09%09%09c-19.2,14.5-25.3,60.3-27.2,81.1C1004.8,2558,978.2,2528.6,973.4,2494.7z" class="st10"></path>%0A%09%09<path d="M1225.4,2633.4c0,0-71-217.9-78.6-316.8" class="st11"></path>%0A%09%09<path d="M1129.2,2552.6c0,0,15.4-40.3,50.3-75.4" class="st11"></path>%0A%09%09<path d="M1261.1,2488.4c0,0-59.5-46.7-90-43.7" class="st11"></path>%0A%09%09<path d="M1052.5,2468.5c0,0,69.2-57,107.6-70.5" class="st11"></path>%0A%09%09<path d="M1243.7,2349.5c0,0-52.8-23.4-93.7-5.9" class="st11"></path>%0A%09</g>%0A%09<path d="M3360.2,3327.1c-71.4-58-182.9-129.1-345.1-184.1c-329.3-111.6-176.9-187.3-303.6-225.2%0A%09%09s-430.3-22.5-784.9-68.8s-643.1-33.1-556-162c60.4-89.4,145-152.7,191.1-183.1l-109.7,8.4c-108.3,81.3-312.5,270.2,66.8,308.2%0A%09%09c486.5,48.7,1181.1,101.9,1192.6,208.2c9.2,84.8,440.1,200.1,610.2,307.3C3334,3333.3,3346.8,3330.3,3360.2,3327.1z" class="st22"></path>%0A%09<linearGradient y2="608.8419" x2="3633.9429" y1="608.8419" x1="3431.6741" gradientUnits="userSpaceOnUse" id="SVGID_9_">%0A%09%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="101.1" rx="101.1" cy="608.8" cx="3532.8" class="st36"></ellipse>%0A%09<linearGradient y2="3174.8586" x2="1457.2415" y1="3174.8586" x1="1136.8959" gradientUnits="userSpaceOnUse" id="SVGID_10_">%0A%09%09<stop style="stop-color:%2368B2FC" offset="0"></stop>%0A%09%09<stop style="stop-color:%23529BF7" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="106.3" rx="160.2" cy="3174.9" cx="1297.1" class="st37"></ellipse>%0A%09<linearGradient y2="2968.6479" x2="1266.5088" y1="2968.6479" x1="1085.6805" gradientUnits="userSpaceOnUse" id="SVGID_11_">%0A%09%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="60" rx="90.4" cy="2968.6" cx="1176.1" class="st38"></ellipse>%0A%09<linearGradient y2="3078.0559" x2="5051.6841" y1="3078.0559" x1="4866.0625" gradientUnits="userSpaceOnUse" id="SVGID_12_">%0A%09%09<stop style="stop-color:%234085F0" offset="0"></stop>%0A%09%09<stop style="stop-color:%23275DC9" offset="1"></stop>%0A%09</linearGradient>%0A%09<ellipse ry="92.8" rx="92.8" cy="3078.1" cx="4958.9" class="st39"></ellipse>%0A%09<path d="M2285.6,3438c0,0,206.8,24.5,420.7-87.7c42.5-28.4,62.6,33.1,35.4,53.2%0A%09%09c-27.2,20.1-168.9,100.4-399.3,87.4C2216,3486.1,2239.4,3435.8,2285.6,3438z" class="Graphic_x0020_Style_x0020_100"></path>%0A</g>%0A</svg>%0A';
272
+ }
273
+ });
274
+ var NotRegisteredFlag, SSO_URL, SignIn, signIn_default;
275
+ var init_signIn = __esm({
276
+ "src/pages/signIn/index.tsx"() {
277
+ init_contextProvider();
278
+ init_locale();
279
+ init_logo();
280
+ init_request();
281
+ init_token();
282
+ init_background();
283
+ NotRegisteredFlag = "notRegistered";
284
+ SSO_URL = "https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1";
285
+ SignIn = () => {
286
+ const location = useLocation();
287
+ const queryParams = useMemo(() => new URLSearchParams(window.location.search), [window.location.search]);
288
+ const { token, setToken } = useTokenStore();
289
+ const { t } = useTranslation();
290
+ const { signInPageTitle, localeDropdownMenu, signInSuccessRedirectUrl } = useToolkitsContext();
291
+ const idaasRedirectUrl = encodeURIComponent(window.location.href);
292
+ const { get: get2 } = useRequest();
293
+ useEffect(() => {
294
+ if (queryParams.has("ticket")) {
295
+ get2(`/api/usystem/user/login?ticket=${queryParams.get("ticket")}`).then((data) => {
296
+ if (data?.token) {
297
+ setToken(data.token);
298
+ }
299
+ });
300
+ }
301
+ }, [queryParams, get2]);
302
+ if (token) {
303
+ const hashMode = !!window.location.hash;
304
+ const path = signInSuccessRedirectUrl;
305
+ if (!hashMode) {
306
+ return /* @__PURE__ */ jsx(Navigate, { replace: true, to: path });
307
+ }
308
+ window.location.href = `${window.location.origin}${window.location.pathname}#${path}`;
309
+ return null;
310
+ }
311
+ return /* @__PURE__ */ jsxs("div", { className: "w-screen h-screen relative flex overflow-hidden", children: [
312
+ localeDropdownMenu && /* @__PURE__ */ jsx("div", { className: "absolute top-16 right-16 z-10", children: localeDropdownMenu }),
313
+ /* @__PURE__ */ jsx("div", { className: "absolute left-14 top-6", children: /* @__PURE__ */ jsxs(Space, { align: "center", children: [
314
+ /* @__PURE__ */ jsx(Logo_default, { width: 48 }),
315
+ signInPageTitle
316
+ ] }) }),
317
+ /* @__PURE__ */ jsx("div", { className: "flex-1 flex justify-center items-center bg-slate-50", children: /* @__PURE__ */ jsx("img", { src: background_default, alt: "background", className: "w-10/12" }) }),
318
+ /* @__PURE__ */ jsx("div", { className: "w-[650px] relative top-0 left-0 right-0 bottom-0", children: /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 -translate-y-1/2 left-0 right-0", children: /* @__PURE__ */ jsx("div", { className: "-translate-y-10 px-36", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-center", children: [
319
+ /* @__PURE__ */ jsx("div", { className: "h-10", children: location.state?.[NotRegisteredFlag] && /* @__PURE__ */ jsx(Alert, { banner: true, closable: true, message: t("SignIn.notRegistered"), type: "error" }) }),
320
+ /* @__PURE__ */ jsx(Typography.Title, { level: 2, children: t("SignIn.welcome") }),
321
+ /* @__PURE__ */ jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxs(Form, { layout: "vertical", autoComplete: "off", children: [
322
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.username"), name: "username", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, {}) }),
323
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.password"), name: "password", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input.Password, {}) }),
324
+ /* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsx(Button, { block: true, type: "primary", shape: "round", htmlType: "submit", children: t("global.signIn") }) })
325
+ ] }) }),
326
+ /* @__PURE__ */ jsx(Divider, { plain: true, dashed: true, children: t("SignIn.thirdParty") }),
327
+ /* @__PURE__ */ jsx("div", { className: "flex justify-center items-center", children: /* @__PURE__ */ jsxs(Button, { block: true, shape: "round", href: `${SSO_URL}/login?service=${idaasRedirectUrl}`, target: "_self", children: [
328
+ /* @__PURE__ */ jsx(Logo_default, { width: 18 }),
329
+ t("SignIn.signInWithIDass")
330
+ ] }) })
331
+ ] }) }) }) })
332
+ ] });
333
+ };
334
+ signIn_default = SignIn;
335
+ }
336
+ });
337
+ var useRedirectToSignIn, useRequest;
338
+ var init_request = __esm({
339
+ "src/hooks/request.ts"() {
340
+ init_contextProvider();
341
+ init_gameSelect();
342
+ init_signIn();
343
+ init_token();
344
+ useRedirectToSignIn = () => {
345
+ const clearToken = useTokenStore((state) => state.clearToken);
346
+ const navigate = useNavigate();
347
+ const { signInUrl } = useToolkitsContext();
348
+ return (notRegistered) => {
349
+ clearToken();
350
+ navigate(signInUrl, { state: { [NotRegisteredFlag]: notRegistered } });
351
+ };
352
+ };
353
+ useRequest = (opts) => {
354
+ const { notification } = App.useApp();
355
+ const { token } = useTokenStore();
356
+ const { usePermissionApiV2 } = useToolkitsContext();
357
+ const { game } = useGameStore();
358
+ const redirectToSignIn = useRedirectToSignIn();
359
+ const { isGlobal = false, responseType = "json", ...restOptions } = opts ?? {};
360
+ const memorizedOptions = useMemo(
361
+ () => ({
362
+ ...restOptions,
363
+ interceptors: {
364
+ request: ({ options }) => {
365
+ const headers = new Headers(options?.headers);
366
+ if (token) {
367
+ headers.set("Authorization", `Bearer ${token}`);
368
+ }
369
+ if (usePermissionApiV2) {
370
+ if (isGlobal) {
371
+ headers.set("App-ID", "global");
372
+ } else if (game) {
373
+ headers.set("App-ID", String(game.id));
374
+ }
375
+ }
376
+ options.headers = headers;
377
+ return options;
378
+ },
379
+ response: async ({ response }) => {
380
+ if (!response.ok) {
381
+ if (response.status === 401) {
382
+ redirectToSignIn();
383
+ } else if (response.status === 412) {
384
+ redirectToSignIn(true);
385
+ } else if (response.status === 403) {
386
+ notification.error({
387
+ message: "\u672A\u6388\u6743",
388
+ description: "\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743"
389
+ });
390
+ }
391
+ }
392
+ if (responseType === "blob") {
393
+ return response.blob();
394
+ } else if (responseType === "json") {
395
+ const data = await response.json();
396
+ if (data.code === 0 || data.status === 0) {
397
+ return data;
398
+ } else {
399
+ notification.error({
400
+ message: "\u8BF7\u6C42\u51FA\u9519",
401
+ description: data.msg
402
+ });
403
+ }
404
+ } else if (responseType === "text") {
405
+ return response.text();
406
+ }
407
+ return response;
408
+ }
409
+ }
410
+ }),
411
+ [game, isGlobal, notification, token, usePermissionApiV2, responseType, restOptions, redirectToSignIn]
412
+ );
413
+ const { response: _response, get: get2, ...rest } = useFetch(memorizedOptions);
414
+ const _get = (route, params) => {
415
+ if (route) {
416
+ const { url: url3, query } = qs.parseUrl(route);
417
+ const queryParams = Object.assign({}, query, params);
418
+ const queryString = qs.stringify(queryParams, {
419
+ skipNull: true,
420
+ skipEmptyString: true,
421
+ strict: true,
422
+ encode: true
423
+ });
424
+ return get2(queryString ? `${url3}?${queryString}` : url3);
425
+ }
426
+ return get2(route);
427
+ };
428
+ return { ...rest, get: _get };
429
+ };
430
+ }
431
+ });
432
+ function useTokenValidation(skip = false) {
433
+ const { usePermissionApiV2 } = useToolkitsContext();
434
+ const { post } = useRequest({ isGlobal: true });
435
+ useEffect(() => {
436
+ if (!skip) {
437
+ const url3 = usePermissionApiV2 ? "/api/usystem/user/checkV2" : "/api/usystem/user/check";
438
+ post(url3, { permissions: ["100001"] });
439
+ }
440
+ }, []);
441
+ }
442
+ var useTokenStore;
443
+ var init_token = __esm({
444
+ "src/hooks/token.ts"() {
445
+ init_contextProvider();
446
+ init_request();
447
+ useTokenStore = create()(
448
+ persist(
449
+ (set, get2, store) => ({
450
+ token: "",
451
+ getUser: () => {
452
+ try {
453
+ return jwtDecode(get2().token);
454
+ } catch (_) {
455
+ return null;
456
+ }
457
+ },
458
+ setToken: (token) => set({ token }),
459
+ clearToken: () => {
460
+ get2().setToken("");
461
+ store.persist.clearStorage();
462
+ }
463
+ }),
464
+ {
465
+ name: "token",
466
+ partialize: (state) => ({ token: state.token })
467
+ }
468
+ )
469
+ );
470
+ }
471
+ });
472
+
473
+ // src/utils/storage.ts
474
+ var mixedStorage;
475
+ var init_storage = __esm({
476
+ "src/utils/storage.ts"() {
477
+ mixedStorage = {
478
+ getItem: (name) => {
479
+ return sessionStorage.getItem(name) || localStorage.getItem(name);
480
+ },
481
+ setItem: (name, value) => {
482
+ sessionStorage.setItem(name, value);
483
+ localStorage.setItem(name, value);
484
+ },
485
+ removeItem: async (name) => {
486
+ sessionStorage.removeItem(name);
487
+ localStorage.removeItem(name);
488
+ }
489
+ };
490
+ }
491
+ });
492
+ var useGameStore;
493
+ var init_store = __esm({
494
+ "src/components/gameSelect/store.ts"() {
495
+ init_token();
496
+ init_storage();
497
+ useGameStore = create()(
498
+ persist(
499
+ (set, get2) => ({
500
+ initialized: false,
501
+ isLoading: false,
502
+ switching: false,
503
+ game: null,
504
+ games: [],
505
+ async setGame(id2) {
506
+ const { initialized, refetchGames } = get2();
507
+ if (!initialized) {
508
+ await refetchGames();
509
+ }
510
+ const matchedGame = (get2().games ?? []).find((item) => String(item.id) === String(id2));
511
+ set({ game: matchedGame ?? null });
512
+ },
513
+ async refetchGames() {
514
+ if (!get2().isLoading) {
515
+ try {
516
+ set({ isLoading: true });
517
+ const token = useTokenStore?.getState()?.token;
518
+ const response = await fetch("/api/usystem/game/all", {
519
+ method: "GET",
520
+ headers: {
521
+ Authorization: `Bearer ${token}`
522
+ }
523
+ });
524
+ if (!response.ok) {
525
+ throw new Error("Failed to fetch games");
526
+ }
527
+ const data = await response.json();
528
+ set({ games: data.data });
529
+ } finally {
530
+ set({
531
+ initialized: true,
532
+ isLoading: false
533
+ });
534
+ }
535
+ }
536
+ },
537
+ setSwitching: (switching) => set({ switching })
538
+ }),
539
+ {
540
+ name: "game",
541
+ storage: createJSONStorage(() => mixedStorage),
542
+ partialize: (state) => ({ game: state.game })
543
+ }
544
+ )
545
+ );
546
+ }
547
+ });
548
+ var Text, GameSelect, GameSelect_default;
549
+ var init_GameSelect = __esm({
550
+ "src/components/gameSelect/GameSelect.tsx"() {
551
+ init_contextProvider();
552
+ init_locale();
553
+ init_store();
554
+ ({ Text } = Typography);
555
+ GameSelect = () => {
556
+ const { t } = useTranslation();
557
+ const { gameFilter } = useToolkitsContext();
558
+ const { game, games, isLoading, refetchGames, setGame } = useGameStore();
559
+ useEffect(() => {
560
+ refetchGames();
561
+ }, []);
562
+ const options = (games ?? [])?.filter((item) => gameFilter?.(item) ?? true)?.map((item) => ({
563
+ label: item.name,
564
+ value: String(item.id)
565
+ }));
566
+ const onGameChange = async (id2) => {
567
+ setGame(id2);
568
+ };
569
+ return /* @__PURE__ */ jsxs(Space, { children: [
570
+ /* @__PURE__ */ jsx(Text, { children: t("GameSelect.label") }),
571
+ /* @__PURE__ */ jsx(
572
+ Select,
573
+ {
574
+ showSearch: true,
575
+ optionFilterProp: "label",
576
+ value: String(game?.id ?? ""),
577
+ placeholder: t("GameSelect.placeholder"),
578
+ loading: isLoading,
579
+ style: { width: "200px" },
580
+ options,
581
+ onChange: onGameChange
582
+ }
583
+ )
584
+ ] });
585
+ };
586
+ GameSelect_default = GameSelect;
587
+ }
588
+ });
589
+
590
+ // src/components/gameSelect/index.ts
591
+ var init_gameSelect = __esm({
592
+ "src/components/gameSelect/index.ts"() {
593
+ init_GameSelect();
594
+ init_store();
595
+ }
596
+ });
597
+ function renderToString(node) {
598
+ const container = document.createElement("div");
599
+ const root = createRoot(container);
600
+ return new Promise((resolve) => {
601
+ setTimeout(() => {
602
+ flushSync(() => {
603
+ root.render(node);
604
+ });
605
+ resolve(container.innerHTML);
606
+ });
607
+ });
608
+ }
609
+ var splitByTags, Highlight, highlight_default;
610
+ var init_highlight = __esm({
611
+ "src/components/highlight/index.tsx"() {
612
+ splitByTags = (str) => {
613
+ const regex = /(<[^>]*>)/;
614
+ return str.split(regex).filter((part) => part !== "");
615
+ };
616
+ Highlight = (props) => {
617
+ const { texts, children } = props;
618
+ const [htmlString, setHtmlString] = useState("");
619
+ useEffect(() => {
620
+ renderToString(children).then((str) => {
621
+ const result = splitByTags(str);
622
+ for (const text of texts) {
623
+ for (let index = 0; index < result.length; index++) {
624
+ result[index] = result[index].replace(String(text), `<span style='color: #DC143C;'>${text}</span>`);
625
+ }
626
+ }
627
+ setHtmlString(result.join(""));
628
+ });
629
+ }, [children, texts]);
630
+ return /* @__PURE__ */ jsx("div", { dangerouslySetInnerHTML: { __html: htmlString } });
631
+ };
632
+ highlight_default = Highlight;
633
+ }
634
+ });
635
+ function usePermissions(codes, isGlobal) {
636
+ const { usePermissionApiV2 } = useToolkitsContext();
637
+ const { post } = useRequest({ isGlobal });
638
+ const { data, isValidating, isLoading } = useSWR3(
639
+ codes.length > 0 ? { url: usePermissionApiV2 ? "/api/usystem/user/checkV2" : "/api/usystem/user/check", codes } : null,
640
+ ({ url: url3 }) => post(url3, { permissions: codes }).then((response) => {
641
+ if (response?.has_all) {
642
+ return codes.reduce(
643
+ (acc, curr) => {
644
+ acc[curr] = true;
645
+ return acc;
646
+ },
647
+ {}
648
+ );
649
+ }
650
+ return codes.reduce(
651
+ (acc, curr) => {
652
+ acc[curr] = response?.[curr] ?? false;
653
+ return acc;
654
+ },
655
+ {}
656
+ );
657
+ }),
658
+ {
659
+ revalidateOnFocus: false
660
+ }
661
+ );
662
+ return { data, isValidating, isLoading };
663
+ }
664
+ function usePermission(code, isGlobal) {
665
+ const { data, isValidating, isLoading } = usePermissions(code ? [code] : [], isGlobal);
666
+ if (code === void 0) {
667
+ return {
668
+ accessible: true,
669
+ isValidating: false,
670
+ isLoading: false
671
+ };
672
+ }
673
+ return {
674
+ accessible: data?.[code] ?? false,
675
+ isValidating,
676
+ isLoading
677
+ };
678
+ }
679
+ var init_permission = __esm({
680
+ "src/hooks/permission.ts"() {
681
+ init_contextProvider();
682
+ init_request();
683
+ }
684
+ });
685
+ var PermissionButton, PermissionButton_default;
686
+ var init_PermissionButton = __esm({
687
+ "src/components/permissionButton/PermissionButton.tsx"() {
688
+ init_locale();
689
+ init_permission();
690
+ PermissionButton = (props) => {
691
+ const { children, code, showLoading, isGlobal, disabled, ...restProps } = props;
692
+ const { data, isLoading } = usePermissions(Array.isArray(code) ? code : [code], isGlobal);
693
+ const { t } = useTranslation();
694
+ if (isLoading) {
695
+ return /* @__PURE__ */ jsx(Button, { loading: showLoading, disabled: !showLoading, ...restProps, children });
696
+ }
697
+ if (!Object.values(data ?? {})?.some(Boolean)) {
698
+ return /* @__PURE__ */ jsx(Tooltip, { defaultOpen: false, title: t("global.noEntitlement"), children: /* @__PURE__ */ jsx(Button, { disabled: true, ...restProps, children }) });
699
+ }
700
+ return /* @__PURE__ */ jsx(Button, { disabled, ...restProps, children });
701
+ };
702
+ PermissionButton_default = PermissionButton;
703
+ }
704
+ });
705
+
706
+ // src/components/permissionButton/index.tsx
707
+ var init_permissionButton = __esm({
708
+ "src/components/permissionButton/index.tsx"() {
709
+ init_PermissionButton();
710
+ }
711
+ });
712
+ var useQueryListStore;
713
+ var init_store2 = __esm({
714
+ "src/components/queryList/store.ts"() {
715
+ useQueryListStore = create((set, get2) => ({
716
+ keyMap: /* @__PURE__ */ new Map(),
717
+ payloadMap: /* @__PURE__ */ new Map(),
718
+ getPayload(url3) {
719
+ return get2().payloadMap.get(url3) ?? { page: 1 };
720
+ },
721
+ setPayload(url3, payload) {
722
+ set((state) => ({
723
+ payloadMap: new Map(state.payloadMap).set(url3, payload)
724
+ }));
725
+ },
726
+ refetch(url3, payload) {
727
+ const prevPayload = get2().getPayload(url3);
728
+ const nextPayload = { ...prevPayload, ...payload };
729
+ if (isEqual(prevPayload, nextPayload)) {
730
+ get2().mutate(url3);
731
+ } else {
732
+ get2().setPayload(url3, nextPayload);
733
+ }
734
+ },
735
+ mutate(url3, data, opts) {
736
+ const key = get2().keyMap.get(url3);
737
+ return mutate(key, data, opts);
738
+ },
739
+ jump(url3, page) {
740
+ const currentPage = get2().getPayload(url3).page;
741
+ if (currentPage !== page) {
742
+ get2().setPayload(url3, { page });
743
+ } else {
744
+ get2().mutate(url3);
745
+ }
746
+ }
747
+ }));
748
+ }
749
+ });
750
+ var QueryListAction, InternalQueryList, QueryList, QueryList_default;
751
+ var init_QueryList = __esm({
752
+ "src/components/queryList/QueryList.tsx"() {
753
+ init_permission();
754
+ init_request();
755
+ init_contextProvider();
756
+ init_filterFormWrapper();
757
+ init_gameSelect();
758
+ init_locale();
759
+ init_store2();
760
+ QueryListAction = /* @__PURE__ */ ((QueryListAction2) => {
761
+ QueryListAction2[QueryListAction2["Confirm"] = 0] = "Confirm";
762
+ QueryListAction2[QueryListAction2["Reset"] = 1] = "Reset";
763
+ QueryListAction2[QueryListAction2["Jump"] = 2] = "Jump";
764
+ QueryListAction2[QueryListAction2["Init"] = 3] = "Init";
765
+ return QueryListAction2;
766
+ })(QueryListAction || {});
767
+ InternalQueryList = (props, ref) => {
768
+ const internalProps = {
769
+ method: "GET",
770
+ defaultSize: 10,
771
+ refreshInterval: 0,
772
+ getTotal: (response) => response?.total,
773
+ getDataSource: (response) => response?.list,
774
+ ...props
775
+ };
776
+ const {
777
+ url: url3,
778
+ code,
779
+ headers,
780
+ isGlobal,
781
+ onePage,
782
+ method,
783
+ buttonsAlign,
784
+ defaultSize,
785
+ refreshInterval,
786
+ tableExtra,
787
+ extra,
788
+ renderForm,
789
+ afterSuccess,
790
+ body,
791
+ params,
792
+ getTotal,
793
+ getDataSource,
794
+ ...tableProps
795
+ } = internalProps;
796
+ const { t } = useTranslation();
797
+ const [form] = Form.useForm();
798
+ const { accessible, isLoading } = usePermission(code, isGlobal);
799
+ const action = useRef(3 /* Init */);
800
+ const originalData = useRef();
801
+ const { game } = useGameStore();
802
+ const { usePermissionApiV2 } = useToolkitsContext();
803
+ const [isValid, setIsValid] = useState(false);
804
+ const { keyMap, getPayload, refetch } = useQueryListStore();
805
+ const { page, size = defaultSize, formValue = form.getFieldsValue() } = getPayload(url3);
806
+ const payload = { page, size, formValue };
807
+ const _body = useMemo(() => {
808
+ return typeof body === "function" ? body(payload) : method === "POST" ? {
809
+ ...formValue,
810
+ ...!onePage ? { page, size } : null,
811
+ ...body
812
+ } : null;
813
+ }, [onePage, method, page, size, formValue, body]);
814
+ const _params = useMemo(
815
+ () => typeof params === "function" ? params(payload) : method === "GET" ? {
816
+ ...formValue,
817
+ ...!onePage ? { page, size } : null,
818
+ ...params
819
+ } : null,
820
+ [onePage, method, page, size, formValue, params]
821
+ );
822
+ const _headers = useMemo(() => {
823
+ const newHeaders = new Headers(headers);
824
+ if (usePermissionApiV2) {
825
+ if (isGlobal) {
826
+ newHeaders.set("App-ID", "global");
827
+ } else if (game) {
828
+ newHeaders.set("App-ID", String(game.id));
829
+ }
830
+ }
831
+ return newHeaders;
832
+ }, [usePermissionApiV2, isGlobal, game, headers]);
833
+ const key = useMemo(() => {
834
+ if (!accessible || !isValid) {
835
+ return null;
836
+ }
837
+ const httpOption = {
838
+ method,
839
+ url: url3,
840
+ body: _body,
841
+ params: _params,
842
+ headers: _headers
843
+ };
844
+ const serializedKey = unstable_serialize(httpOption);
845
+ keyMap.set(url3, serializedKey);
846
+ return serializedKey;
847
+ }, [method, url3, _body, _params, _headers, isValid, accessible]);
848
+ const shouldPoll = useRef(false);
849
+ const { get: get2, post } = useRequest({ headers: _headers });
850
+ const { data, isValidating } = useSWR3(
851
+ key,
852
+ async () => {
853
+ if (method === "POST") {
854
+ return await post(url3, _body);
855
+ }
856
+ return await get2(url3, _params);
857
+ },
858
+ {
859
+ shouldRetryOnError: false,
860
+ revalidateOnFocus: false,
861
+ refreshInterval: shouldPoll.current ? refreshInterval : 0,
862
+ onSuccess(response) {
863
+ shouldPoll.current = true;
864
+ afterSuccess?.(action.current, response);
865
+ },
866
+ onError() {
867
+ shouldPoll.current = false;
868
+ }
869
+ }
870
+ );
871
+ const dataSource = useMemo(() => getDataSource(data, form), [data, form, getDataSource]);
872
+ const total = useMemo(() => getTotal(data), [data, getTotal]);
873
+ const pagination = useMemo(
874
+ () => !onePage && {
875
+ showSizeChanger: true,
876
+ showQuickJumper: true,
877
+ current: page,
878
+ pageSize: size,
879
+ total,
880
+ onChange: async (currentPage, currentSize) => {
881
+ action.current = 2 /* Jump */;
882
+ refetch(url3, {
883
+ page: currentPage,
884
+ size: currentSize
885
+ });
886
+ }
887
+ },
888
+ [page, size, onePage, total]
889
+ );
890
+ const onConfirm = async () => {
891
+ action.current = 0 /* Confirm */;
892
+ refetch(url3, {
893
+ page: 1,
894
+ formValue: form.getFieldsValue()
895
+ });
896
+ try {
897
+ await form.validateFields();
898
+ setIsValid(true);
899
+ } catch (error) {
900
+ setIsValid(false);
901
+ }
902
+ };
903
+ const onReset = async () => {
904
+ action.current = 1 /* Reset */;
905
+ form.resetFields();
906
+ refetch(url3, {
907
+ page: 1,
908
+ formValue: form.getFieldsValue()
909
+ });
910
+ try {
911
+ await form.validateFields({ validateOnly: true });
912
+ setIsValid(true);
913
+ } catch (error) {
914
+ setIsValid(false);
915
+ }
916
+ };
917
+ useEffect(() => {
918
+ const timer = setTimeout(async () => {
919
+ try {
920
+ form.resetFields();
921
+ await form.validateFields({ validateOnly: true });
922
+ setIsValid(true);
923
+ } catch (err) {
924
+ setIsValid(false);
925
+ }
926
+ }, 0);
927
+ return () => {
928
+ clearTimeout(timer);
929
+ };
930
+ }, [form, game]);
931
+ useImperativeHandle(ref, () => ({
932
+ response: data,
933
+ dataSource,
934
+ form
935
+ }));
936
+ if (isLoading) {
937
+ return /* @__PURE__ */ jsx(
938
+ Spin,
939
+ {
940
+ style: {
941
+ display: "flex",
942
+ justifyContent: "center",
943
+ alignItems: "center",
944
+ height: 300
945
+ }
946
+ }
947
+ );
948
+ }
949
+ if (!accessible) {
950
+ return /* @__PURE__ */ jsx(Result, { status: 403, subTitle: t("global.noEntitlement") });
951
+ }
952
+ const formRenderer = typeof renderForm === "function" && /* @__PURE__ */ jsx(filterFormWrapper_default, { buttonsAlign, isConfirming: isValidating, onReset, onConfirm, children: cloneElement(renderForm(form), {
953
+ onKeyUp: (e) => {
954
+ if (e.key === "Enter") {
955
+ onConfirm();
956
+ }
957
+ }
958
+ }) });
959
+ const extraRenderer = extra && /* @__PURE__ */ jsx("div", { className: "mt-2 mb-4", children: extra({ form, data: originalData.current }) });
960
+ return /* @__PURE__ */ jsxs("div", { children: [
961
+ formRenderer,
962
+ extraRenderer,
963
+ typeof tableExtra === "function" ? tableExtra(form) : tableExtra,
964
+ /* @__PURE__ */ jsx(Table, { ...tableProps, dataSource, loading: isValidating, pagination })
965
+ ] });
966
+ };
967
+ QueryList = forwardRef(InternalQueryList);
968
+ QueryList_default = QueryList;
969
+ }
970
+ });
971
+
972
+ // src/components/queryList/index.ts
973
+ var init_queryList = __esm({
974
+ "src/components/queryList/index.ts"() {
975
+ init_QueryList();
976
+ init_store2();
977
+ }
978
+ });
979
+ function useModal(props) {
980
+ const { content, onConfirm, ...modalProps } = props;
981
+ const uuid = useMemo(() => ++id, []);
982
+ const modalStore = useModalStore();
983
+ const open = modalStore.getOpen(uuid);
984
+ const [confirmLoading, setConfirmLoading] = useState(false);
985
+ const isRenderFunction = typeof content === "function";
986
+ const show = () => {
987
+ modalStore.show(uuid);
988
+ };
989
+ const hide = () => {
990
+ modalStore.hide(uuid);
991
+ };
992
+ const onCancel = () => {
993
+ hide();
994
+ };
995
+ const onOk = async () => {
996
+ try {
997
+ setConfirmLoading(true);
998
+ await onConfirm?.();
999
+ } finally {
1000
+ setConfirmLoading(false);
1001
+ }
1002
+ };
1003
+ const internalModal = /* @__PURE__ */ jsx(Modal, { ...modalProps, open, confirmLoading, onOk, onCancel, children: isRenderFunction ? content({ hide }) : content });
1004
+ return {
1005
+ uuid,
1006
+ show,
1007
+ hide,
1008
+ modal: internalModal
1009
+ };
1010
+ }
1011
+ var useModalStore, id;
1012
+ var init_modal = __esm({
1013
+ "src/hooks/modal.tsx"() {
1014
+ useModalStore = create((set, get2) => ({
1015
+ open: /* @__PURE__ */ new Map(),
1016
+ getOpen: (uuid) => get2().open.get(uuid) ?? false,
1017
+ show(uuid) {
1018
+ set({ open: new Map(get2().open).set(uuid, true) });
1019
+ },
1020
+ hide(uuid) {
1021
+ set({ open: new Map(get2().open).set(uuid, false) });
1022
+ },
1023
+ hideAll() {
1024
+ set({ open: /* @__PURE__ */ new Map() });
1025
+ }
1026
+ }));
1027
+ id = 0;
1028
+ }
1029
+ });
1030
+ function useFormModal(props) {
1031
+ const { content, form, formProps, onConfirm, ...modalProps } = props;
1032
+ const [internalExtraValues, setInternalExtraValues] = useState({});
1033
+ let [internalForm] = Form.useForm();
1034
+ internalForm = form || internalForm;
1035
+ const isRenderFunction = typeof content === "function";
1036
+ const hanldeConfirm = async () => {
1037
+ const values = await internalForm.validateFields();
1038
+ await onConfirm?.(values, internalExtraValues);
1039
+ hide();
1040
+ };
1041
+ const afterClose = () => {
1042
+ internalForm.resetFields();
1043
+ };
1044
+ const { uuid, show, hide, modal } = useModal({
1045
+ ...modalProps,
1046
+ content: (operation) => /* @__PURE__ */ jsx(Form, { ...formProps, form: internalForm, children: isRenderFunction ? content(internalExtraValues, operation) : content }),
1047
+ onConfirm: hanldeConfirm,
1048
+ afterClose
1049
+ });
1050
+ const onShow = ({
1051
+ initialValues,
1052
+ extraValues
1053
+ } = {}) => {
1054
+ if (extraValues) {
1055
+ setInternalExtraValues(extraValues);
1056
+ }
1057
+ if (initialValues) {
1058
+ internalForm.setFieldsValue(initialValues);
1059
+ }
1060
+ show();
1061
+ };
1062
+ return {
1063
+ uuid,
1064
+ show: onShow,
1065
+ hide,
1066
+ modal
1067
+ };
1068
+ }
1069
+ var init_formModal = __esm({
1070
+ "src/hooks/formModal.tsx"() {
1071
+ init_modal();
1072
+ }
1073
+ });
1074
+ function useAllPermissions() {
1075
+ const { get: get2 } = useRequest({ isGlobal: true });
1076
+ return useSWR3("/api/usystem/user/allPermssions", (url3) => get2(url3));
1077
+ }
1078
+ function useAllPermissionsV2() {
1079
+ const { get: get2 } = useRequest({ isGlobal: true });
1080
+ return useSWR3("/api/usystem/user/allPermissionsV2", (url3) => get2(url3));
1081
+ }
1082
+ function useAllRoles() {
1083
+ const { accessible } = usePermission("200005", true);
1084
+ const { get: get2 } = useRequest({ isGlobal: true });
1085
+ return useSWR3(accessible ? "/api/usystem/role/all" : null, (url3) => get2(url3));
1086
+ }
1087
+ function useRole(name) {
1088
+ const { usePermissionApiV2 } = useToolkitsContext();
1089
+ const { get: get2 } = useRequest({ isGlobal: true });
1090
+ return useSWR3(`/api/usystem/role/${usePermissionApiV2 ? "infoV2" : "info"}?name=${name}`, (url3) => get2(url3));
1091
+ }
1092
+ function useCreateRole() {
1093
+ const { usePermissionApiV2 } = useToolkitsContext();
1094
+ const { post } = useRequest({ isGlobal: true });
1095
+ return useSWRMutation(
1096
+ usePermissionApiV2 ? "/api/usystem/role/createV2" : "/api/usystem/role/create",
1097
+ (url3, {
1098
+ arg
1099
+ }) => post(url3, arg)
1100
+ );
1101
+ }
1102
+ function useUpdateRole() {
1103
+ const { usePermissionApiV2 } = useToolkitsContext();
1104
+ const { post } = useRequest({ isGlobal: true });
1105
+ return useSWRMutation(
1106
+ usePermissionApiV2 ? "/api/usystem/role/updateV2" : "/api/usystem/role/update",
1107
+ (url3, {
1108
+ arg
1109
+ }) => post(url3, arg)
1110
+ );
1111
+ }
1112
+ function useRemoveRole() {
1113
+ const { post } = useRequest({ isGlobal: true });
1114
+ return useSWRMutation(
1115
+ "/api/usystem/role/delete",
1116
+ (url3, {
1117
+ arg
1118
+ }) => post(url3, arg)
1119
+ );
1120
+ }
1121
+ function useCreateUser() {
1122
+ const { post } = useRequest({ isGlobal: true });
1123
+ return useSWRMutation(
1124
+ "/api/usystem/user/create",
1125
+ (url3, {
1126
+ arg
1127
+ }) => post(url3, arg)
1128
+ );
1129
+ }
1130
+ function useUpdateUser() {
1131
+ const { post } = useRequest({ isGlobal: true });
1132
+ return useSWRMutation(
1133
+ "/api/usystem/user/update",
1134
+ (url3, {
1135
+ arg
1136
+ }) => post(url3, arg)
1137
+ );
1138
+ }
1139
+ function useRemoveUser() {
1140
+ const { post } = useRequest({ isGlobal: true });
1141
+ return useSWRMutation(
1142
+ "/api/usystem/user/delete",
1143
+ (url3, {
1144
+ arg
1145
+ }) => post(url3, arg)
1146
+ );
1147
+ }
1148
+ var init_hooks2 = __esm({
1149
+ "src/features/permission/hooks/index.ts"() {
1150
+ init_contextProvider();
1151
+ init_permission();
1152
+ init_request();
1153
+ }
1154
+ });
1155
+ var PermissionCollapse, permissionCollapse_default;
1156
+ var init_permissionCollapse = __esm({
1157
+ "src/features/permission/components/permissionCollapse/index.tsx"() {
1158
+ init_locale();
1159
+ PermissionCollapse = (props) => {
1160
+ const { permissions, readonly, expand, value, onChange } = props;
1161
+ const [activeKey, setActiveKey] = useState([]);
1162
+ const [checkedMap, setCheckedMap] = useState({});
1163
+ const [internalValue, setInternalValue] = useState(value ?? []);
1164
+ const { t } = useTranslation();
1165
+ const onCollapseChange = useCallback((key) => {
1166
+ setActiveKey(key);
1167
+ }, []);
1168
+ const getCheckedValue = (checkedValue, codes) => {
1169
+ let tempValue = [];
1170
+ if (checkedValue) {
1171
+ tempValue = [...new Set(internalValue.concat(codes))];
1172
+ } else {
1173
+ tempValue = internalValue.slice();
1174
+ codes.forEach((code) => {
1175
+ const index = tempValue.findIndex((item) => item === code);
1176
+ if (index > -1) {
1177
+ tempValue.splice(index, 1);
1178
+ }
1179
+ });
1180
+ }
1181
+ return tempValue;
1182
+ };
1183
+ const onCheckChange = (e, codes) => {
1184
+ const checkedValue = getCheckedValue(e.target.checked, codes);
1185
+ setInternalValue(checkedValue);
1186
+ onChange?.(checkedValue);
1187
+ };
1188
+ useEffect(() => {
1189
+ setInternalValue(value ?? []);
1190
+ }, [value]);
1191
+ useEffect(() => {
1192
+ if (expand) {
1193
+ setActiveKey((permissions ?? []).map(({ category }) => category));
1194
+ }
1195
+ }, [expand, permissions]);
1196
+ useEffect(() => {
1197
+ const checkedValue = (permissions ?? []).reduce(
1198
+ (acc, curr) => {
1199
+ acc[curr.category] = curr.permissions.every((item) => internalValue?.includes(item.value));
1200
+ return acc;
1201
+ },
1202
+ {}
1203
+ );
1204
+ setCheckedMap(checkedValue);
1205
+ }, [internalValue, permissions]);
1206
+ return /* @__PURE__ */ jsx(
1207
+ Collapse,
1208
+ {
1209
+ style: { width: "100%" },
1210
+ collapsible: "header",
1211
+ activeKey,
1212
+ items: (permissions ?? []).map((item) => ({
1213
+ key: item.category,
1214
+ label: item.category,
1215
+ extra: !readonly && /* @__PURE__ */ jsx(
1216
+ Checkbox,
1217
+ {
1218
+ checked: checkedMap[item.category],
1219
+ onChange: (e) => {
1220
+ onCheckChange(
1221
+ e,
1222
+ item.permissions.map((permission) => permission.value)
1223
+ );
1224
+ },
1225
+ children: t("global.selectAll")
1226
+ }
1227
+ ),
1228
+ children: /* @__PURE__ */ jsx(Checkbox.Group, { style: { width: "100%" }, value: internalValue, disabled: readonly, children: /* @__PURE__ */ jsx(Row, { gutter: [10, 10], style: { width: "100%" }, children: item.permissions.map((permission) => /* @__PURE__ */ jsx(Col, { span: 6, children: /* @__PURE__ */ jsx(
1229
+ Checkbox,
1230
+ {
1231
+ value: permission.value,
1232
+ onChange: (e) => {
1233
+ onCheckChange(e, [permission.value]);
1234
+ },
1235
+ children: permission.label
1236
+ }
1237
+ ) }, permission.value)) }) })
1238
+ })),
1239
+ onChange: onCollapseChange
1240
+ }
1241
+ );
1242
+ };
1243
+ permissionCollapse_default = PermissionCollapse;
1244
+ }
1245
+ });
1246
+ var Text2, PermissionListV1, permissionListV1_default;
1247
+ var init_permissionListV1 = __esm({
1248
+ "src/features/permission/components/permissionListV1/index.tsx"() {
1249
+ init_locale();
1250
+ init_hooks2();
1251
+ init_permissionCollapse();
1252
+ ({ Text: Text2 } = Typography);
1253
+ PermissionListV1 = (props) => {
1254
+ const { expand = true, value, readonly, onChange } = props;
1255
+ const { data: permissions, isLoading, error } = useAllPermissions();
1256
+ const { t } = useTranslation();
1257
+ if (error) {
1258
+ return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Text2, { type: "danger", children: t("PermissionList.failedDescription") }) });
1259
+ }
1260
+ return /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
1261
+ permissionCollapse_default,
1262
+ {
1263
+ value,
1264
+ permissions,
1265
+ readonly,
1266
+ expand,
1267
+ onChange
1268
+ }
1269
+ ) });
1270
+ };
1271
+ permissionListV1_default = PermissionListV1;
1272
+ }
1273
+ });
1274
+ var Text3, Option2, PermissionListV2, permissionListV2_default;
1275
+ var init_permissionListV2 = __esm({
1276
+ "src/features/permission/components/permissionListV2/index.tsx"() {
1277
+ init_locale();
1278
+ init_hooks2();
1279
+ init_permissionCollapse();
1280
+ ({ Text: Text3 } = Typography);
1281
+ ({ Option: Option2 } = Select);
1282
+ PermissionListV2 = (props) => {
1283
+ const { expand = true, value, readonly, onChange } = props;
1284
+ const { data: { permission, game: games } = {}, isLoading, error } = useAllPermissionsV2();
1285
+ const [gameList, setGameList] = useState([]);
1286
+ const globalPermissions = permission?.filter((item) => item.is_common);
1287
+ const gamePermissions = permission?.filter((item) => !item.is_common);
1288
+ const { t } = useTranslation();
1289
+ useEffect(() => {
1290
+ const list = [];
1291
+ Object.keys(value ?? {}).forEach((key) => {
1292
+ if (key !== "global") {
1293
+ list.push({ gameId: key, permissions: value?.[key] ?? [] });
1294
+ }
1295
+ });
1296
+ setGameList(list);
1297
+ }, [value]);
1298
+ if (error) {
1299
+ return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Text3, { type: "danger", children: t("PermissionList.failedDescription") }) });
1300
+ }
1301
+ const addGame = () => {
1302
+ setGameList((prev) => [...prev, { gameId: "", permissions: [] }]);
1303
+ };
1304
+ const removeGame = (index) => {
1305
+ setGameList((prev) => prev.filter((_, i) => i !== index));
1306
+ };
1307
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full", children: [
1308
+ /* @__PURE__ */ jsx("div", { className: "mb-12", children: /* @__PURE__ */ jsx(Divider, { dashed: true, children: t("PermissionList.baseSectionTitle") }) }),
1309
+ /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
1310
+ permissionCollapse_default,
1311
+ {
1312
+ value: value?.global,
1313
+ readonly,
1314
+ permissions: globalPermissions,
1315
+ expand,
1316
+ onChange: (newValue) => {
1317
+ onChange?.({
1318
+ ...value,
1319
+ global: newValue
1320
+ });
1321
+ }
1322
+ }
1323
+ ) }),
1324
+ /* @__PURE__ */ jsx("div", { className: "my-12", children: /* @__PURE__ */ jsx(Divider, { dashed: true, children: t("PermissionList.gameSectionTitle") }) }),
1325
+ gameList.map((item, index) => /* @__PURE__ */ jsx(
1326
+ Card,
1327
+ {
1328
+ title: /* @__PURE__ */ jsxs(Space, { children: [
1329
+ /* @__PURE__ */ jsx(Text3, { children: t("global.game") }),
1330
+ readonly ? /* @__PURE__ */ jsx(Text3, { children: games?.find((game) => game.id === item.gameId)?.name }) : /* @__PURE__ */ jsx(
1331
+ Select,
1332
+ {
1333
+ disabled: readonly,
1334
+ value: gameList[index].gameId || void 0,
1335
+ style: { width: "160px" },
1336
+ placeholder: t("PermissionList.gameSelectPlaceholder"),
1337
+ onChange: (selectedValue) => {
1338
+ setGameList((pev) => {
1339
+ const temp = pev.slice();
1340
+ temp[index].gameId = selectedValue;
1341
+ return temp;
1342
+ });
1343
+ },
1344
+ children: games?.map((game) => /* @__PURE__ */ jsx(Option2, { value: game.id, disabled: gameList.some(({ gameId }) => gameId === game.id), children: game.name }, game.id))
1345
+ }
1346
+ )
1347
+ ] }),
1348
+ className: "mb-6",
1349
+ extra: !readonly && /* @__PURE__ */ jsx(
1350
+ Button,
1351
+ {
1352
+ type: "link",
1353
+ onClick: () => {
1354
+ removeGame(index);
1355
+ },
1356
+ children: t("PermissionList.removeText")
1357
+ }
1358
+ ),
1359
+ children: gameList[index].gameId ? /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
1360
+ permissionCollapse_default,
1361
+ {
1362
+ value: value?.[gameList[index].gameId],
1363
+ readonly,
1364
+ expand,
1365
+ permissions: gamePermissions,
1366
+ onChange: (newValue) => {
1367
+ onChange?.({
1368
+ ...value,
1369
+ [gameList[index].gameId]: newValue
1370
+ });
1371
+ }
1372
+ }
1373
+ ) }) : /* @__PURE__ */ jsx(Empty, { description: t("PermissionList.gameSectionDescription") })
1374
+ },
1375
+ index
1376
+ )),
1377
+ !readonly && /* @__PURE__ */ jsx(Button, { block: true, type: "dashed", onClick: addGame, children: t("PermissionList.addText") })
1378
+ ] });
1379
+ };
1380
+ permissionListV2_default = PermissionListV2;
1381
+ }
1382
+ });
1383
+ var PermissionList, permissionList_default;
1384
+ var init_permissionList = __esm({
1385
+ "src/features/permission/components/permissionList/index.tsx"() {
1386
+ init_contextProvider();
1387
+ init_permissionListV1();
1388
+ init_permissionListV2();
1389
+ PermissionList = (props) => {
1390
+ const { value } = props;
1391
+ const { usePermissionApiV2 } = useToolkitsContext();
1392
+ return /* @__PURE__ */ jsx(Fragment, { children: usePermissionApiV2 ? /* @__PURE__ */ jsx(permissionListV2_default, { ...props, value }) : /* @__PURE__ */ jsx(permissionListV1_default, { ...props, value }) });
1393
+ };
1394
+ permissionList_default = PermissionList;
1395
+ }
1396
+ });
1397
+
1398
+ // src/features/permission/types/index.ts
1399
+ var init_types = __esm({
1400
+ "src/features/permission/types/index.ts"() {
1401
+ }
1402
+ });
1403
+
1404
+ // src/features/permission/index.ts
1405
+ var init_permission2 = __esm({
1406
+ "src/features/permission/index.ts"() {
1407
+ init_permissionList();
1408
+ init_hooks2();
1409
+ init_types();
1410
+ }
1411
+ });
1412
+
1413
+ // src/pages/permission/userList/index.tsx
1414
+ var userList_exports = {};
1415
+ __export(userList_exports, {
1416
+ default: () => userList_default,
1417
+ url: () => url
1418
+ });
1419
+ var Option3, url, useModal2, UserList, userList_default;
1420
+ var init_userList = __esm({
1421
+ "src/pages/permission/userList/index.tsx"() {
1422
+ init_highlight();
1423
+ init_locale();
1424
+ init_permissionButton();
1425
+ init_queryList();
1426
+ init_store2();
1427
+ init_permission2();
1428
+ init_formModal();
1429
+ ({ Option: Option3 } = Select);
1430
+ url = "/api/usystem/user/list";
1431
+ useModal2 = (isCreate) => {
1432
+ const { message } = App.useApp();
1433
+ const { t } = useTranslation();
1434
+ const { jump, mutate: mutate2 } = useQueryListStore();
1435
+ const { data: roles, isLoading } = useAllRoles();
1436
+ const create7 = useCreateUser();
1437
+ const update = useUpdateUser();
1438
+ const title = isCreate ? t("UserList.createTitle") : t("UserList.updateTitle");
1439
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
1440
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: !isCreate }) }),
1441
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.role"), name: "roles", children: /* @__PURE__ */ jsx(Select, { allowClear: true, mode: "multiple", loading: isLoading, children: (roles ?? []).map((role) => /* @__PURE__ */ jsx(Option3, { value: role.name, children: role.name }, role.id)) }) })
1442
+ ] });
1443
+ const onConfirm = async (values, extraValues) => {
1444
+ if (isCreate) {
1445
+ await create7.trigger(values);
1446
+ jump(url, 1);
1447
+ message.success(t("UserList.createSuccessfully"));
1448
+ } else {
1449
+ await update.trigger(values);
1450
+ mutate2(
1451
+ url,
1452
+ (prev) => {
1453
+ return produce(prev, (draft) => {
1454
+ if (draft?.List) {
1455
+ const index = draft.List?.findIndex((item) => item.id === extraValues?.id);
1456
+ if (index !== -1) {
1457
+ draft.List[index].roles = values.roles;
1458
+ }
1459
+ }
1460
+ });
1461
+ },
1462
+ { revalidate: false }
1463
+ );
1464
+ message.success(t("UserList.updateSuccessfully"));
1465
+ }
1466
+ };
1467
+ return useFormModal({
1468
+ title,
1469
+ formProps: {
1470
+ labelCol: { flex: "80px" }
1471
+ },
1472
+ content,
1473
+ onConfirm
1474
+ });
1475
+ };
1476
+ UserList = () => {
1477
+ const { modal, message } = App.useApp();
1478
+ const remove = useRemoveUser();
1479
+ const { mutate: mutate2 } = useQueryListStore();
1480
+ const { show: showCreateModal, modal: createModal } = useModal2(true);
1481
+ const { show: showUpdateModal, modal: updateModal } = useModal2();
1482
+ const { t } = useTranslation();
1483
+ const columns = [
1484
+ {
1485
+ title: t("global.name"),
1486
+ dataIndex: "name",
1487
+ key: "name"
1488
+ },
1489
+ {
1490
+ title: "ID",
1491
+ dataIndex: "id",
1492
+ key: "id"
1493
+ },
1494
+ {
1495
+ title: t("global.role"),
1496
+ dataIndex: "roles",
1497
+ key: "roles",
1498
+ width: "40%",
1499
+ render(value) {
1500
+ return /* @__PURE__ */ jsx(Row, { gutter: [4, 4], children: (value || []).map((item) => /* @__PURE__ */ jsx(Col, { children: item === "root" ? /* @__PURE__ */ jsx(Tag, { color: "#f50", children: item }) : /* @__PURE__ */ jsx(Tag, { color: "#ff5a00", children: /* @__PURE__ */ jsx(Link, { to: `../role/${item}`, children: item }) }) }, item)) });
1501
+ }
1502
+ },
1503
+ {
1504
+ title: t("global.creationTime"),
1505
+ dataIndex: "Ctime",
1506
+ key: "ctime"
1507
+ },
1508
+ {
1509
+ title: t("global.operation"),
1510
+ width: 150,
1511
+ align: "center",
1512
+ render: (value) => /* @__PURE__ */ jsxs(Space, { children: [
1513
+ /* @__PURE__ */ jsx(
1514
+ PermissionButton_default,
1515
+ {
1516
+ isGlobal: true,
1517
+ size: "small",
1518
+ type: "link",
1519
+ code: "100003",
1520
+ onClick: () => {
1521
+ showUpdateModal({
1522
+ initialValues: {
1523
+ name: value.name,
1524
+ roles: value.roles
1525
+ },
1526
+ extraValues: {
1527
+ id: value.id
1528
+ }
1529
+ });
1530
+ },
1531
+ children: t("global.update")
1532
+ }
1533
+ ),
1534
+ /* @__PURE__ */ jsx(
1535
+ PermissionButton_default,
1536
+ {
1537
+ isGlobal: true,
1538
+ danger: true,
1539
+ size: "small",
1540
+ code: "100004",
1541
+ type: "link",
1542
+ onClick: () => {
1543
+ modal.confirm({
1544
+ title: t("UserList.deleteTitle"),
1545
+ content: /* @__PURE__ */ jsx(highlight_default, { texts: [value.name], children: t("UserList.deleteContent", { user: value.name }) }),
1546
+ async onOk() {
1547
+ await remove.trigger({
1548
+ id: value.id,
1549
+ name: value.name
1550
+ });
1551
+ mutate2(url, (prev) => {
1552
+ return produce(prev, (draft) => {
1553
+ const index = draft?.List?.findIndex((item) => item.id === value.id);
1554
+ if (index) {
1555
+ draft?.List?.splice(index, 1);
1556
+ }
1557
+ });
1558
+ });
1559
+ message.success(t("UserList.deleteSuccessfully"));
1560
+ }
1561
+ });
1562
+ },
1563
+ children: t("global.delete")
1564
+ }
1565
+ )
1566
+ ] })
1567
+ }
1568
+ ];
1569
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1570
+ /* @__PURE__ */ jsx(
1571
+ Card,
1572
+ {
1573
+ title: t("global.user"),
1574
+ extra: /* @__PURE__ */ jsx(
1575
+ PermissionButton_default,
1576
+ {
1577
+ isGlobal: true,
1578
+ type: "primary",
1579
+ icon: /* @__PURE__ */ jsx(UserAddOutlined, {}),
1580
+ code: "100002",
1581
+ onClick: () => {
1582
+ showCreateModal();
1583
+ },
1584
+ children: t("UserList.createTitle")
1585
+ }
1586
+ ),
1587
+ children: /* @__PURE__ */ jsx(
1588
+ QueryList_default,
1589
+ {
1590
+ isGlobal: true,
1591
+ code: "100001",
1592
+ url,
1593
+ rowKey: "id",
1594
+ columns,
1595
+ getTotal: (response) => response?.Total,
1596
+ getDataSource: (response) => response?.List
1597
+ }
1598
+ )
1599
+ }
1600
+ ),
1601
+ createModal,
1602
+ updateModal
1603
+ ] });
1604
+ };
1605
+ userList_default = UserList;
1606
+ }
1607
+ });
1608
+
1609
+ // src/pages/permission/roleList/index.tsx
1610
+ var roleList_exports = {};
1611
+ __export(roleList_exports, {
1612
+ default: () => roleList_default
1613
+ });
1614
+ var url2, useModal3, RoleList, roleList_default;
1615
+ var init_roleList = __esm({
1616
+ "src/pages/permission/roleList/index.tsx"() {
1617
+ init_contextProvider();
1618
+ init_highlight();
1619
+ init_locale();
1620
+ init_permissionButton();
1621
+ init_queryList();
1622
+ init_store2();
1623
+ init_permission2();
1624
+ init_formModal();
1625
+ init_permission();
1626
+ init_request();
1627
+ url2 = "/api/usystem/role/list";
1628
+ useModal3 = (isCreate) => {
1629
+ const { message } = App.useApp();
1630
+ const { t } = useTranslation();
1631
+ const { jump, mutate: mutate2 } = useQueryListStore();
1632
+ const create7 = useCreateRole();
1633
+ const update = useUpdateRole();
1634
+ const title = isCreate ? t("RoleList.createTitle") : t("RoleList.updateTitle");
1635
+ const formProps = {
1636
+ layout: "vertical"
1637
+ };
1638
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
1639
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: !isCreate, addonBefore: "role_" }) }),
1640
+ /* @__PURE__ */ jsx(Form.Item, { name: "permissions", children: /* @__PURE__ */ jsx(permissionList_default, {}) })
1641
+ ] });
1642
+ const onConfirm = async (values, extraValues) => {
1643
+ if (isCreate) {
1644
+ await create7.trigger({
1645
+ name: `role_${values.name}`,
1646
+ permissions: values.permissions
1647
+ });
1648
+ jump(url2, 1);
1649
+ message.success(t("RoleList.createSuccessfully"));
1650
+ } else {
1651
+ await update.trigger({
1652
+ id: extraValues?.id,
1653
+ name: `role_${values.name}`,
1654
+ permissions: values.permissions
1655
+ });
1656
+ mutate2(
1657
+ url2,
1658
+ (prev) => produce(prev, (draft) => {
1659
+ const match = draft?.List?.find((item) => item.id === extraValues?.id);
1660
+ if (match) {
1661
+ match.permissions = values.permissions;
1662
+ }
1663
+ }),
1664
+ { revalidate: false }
1665
+ );
1666
+ message.success(t("RoleList.updateSuccessfully"));
1667
+ }
1668
+ };
1669
+ return useFormModal({
1670
+ title,
1671
+ width: "50vw",
1672
+ formProps,
1673
+ content,
1674
+ onConfirm
1675
+ });
1676
+ };
1677
+ RoleList = () => {
1678
+ const { accessible: viewable } = usePermission("200005", true);
1679
+ const { modal, message } = App.useApp();
1680
+ const { t } = useTranslation();
1681
+ const { usePermissionApiV2 } = useToolkitsContext();
1682
+ const { mutate: mutate2 } = useQueryListStore();
1683
+ const { show: showCreateModal, modal: createModal } = useModal3(true);
1684
+ const { show: showUpdateModal, modal: updateModal } = useModal3();
1685
+ const remove = useRemoveRole();
1686
+ const { get: get2 } = useRequest({ isGlobal: true });
1687
+ const handleUpdateBtnClick = async (record) => {
1688
+ const role = await get2(`/api/usystem/role/info${usePermissionApiV2 ? "V2" : ""}?name=${record.name}`);
1689
+ showUpdateModal({
1690
+ initialValues: {
1691
+ permissions: role?.permissions,
1692
+ name: role?.name.replace(/^role_/, "")
1693
+ },
1694
+ extraValues: {
1695
+ id: role?.id
1696
+ }
1697
+ });
1698
+ };
1699
+ const columns = [
1700
+ {
1701
+ title: t("global.name"),
1702
+ key: "name",
1703
+ render(value) {
1704
+ if (viewable) {
1705
+ return /* @__PURE__ */ jsx(Link, { to: `${value.name}`, relative: "path", children: value.name });
1706
+ } else {
1707
+ return /* @__PURE__ */ jsx(Fragment, { children: value.name });
1708
+ }
1709
+ }
1710
+ },
1711
+ {
1712
+ title: "ID",
1713
+ dataIndex: "id",
1714
+ key: "id"
1715
+ },
1716
+ {
1717
+ title: t("global.creationTime"),
1718
+ dataIndex: "ctime",
1719
+ key: "ctime"
1720
+ },
1721
+ {
1722
+ title: t("global.operation"),
1723
+ width: 150,
1724
+ align: "center",
1725
+ render: (_, record) => {
1726
+ return /* @__PURE__ */ jsxs(Space, { size: "small", children: [
1727
+ /* @__PURE__ */ jsx(
1728
+ PermissionButton_default,
1729
+ {
1730
+ isGlobal: true,
1731
+ code: "200003",
1732
+ size: "small",
1733
+ type: "link",
1734
+ onClick: async () => {
1735
+ handleUpdateBtnClick(record);
1736
+ },
1737
+ children: t("global.edit")
1738
+ }
1739
+ ),
1740
+ /* @__PURE__ */ jsx(
1741
+ PermissionButton_default,
1742
+ {
1743
+ isGlobal: true,
1744
+ danger: true,
1745
+ code: "200004",
1746
+ size: "small",
1747
+ type: "link",
1748
+ onClick: () => {
1749
+ modal.confirm({
1750
+ title: t("RoleList.deleteTitle"),
1751
+ content: /* @__PURE__ */ jsx(highlight_default, { texts: [record.name], children: t("RoleList.deleteContent", { role: record.name }) }),
1752
+ async onOk() {
1753
+ await remove.trigger({
1754
+ id: record.id,
1755
+ name: record.name
1756
+ });
1757
+ mutate2(url2, (prev) => {
1758
+ return produce(prev, (draft) => {
1759
+ const index = draft?.List?.findIndex((item) => item.id === record.id);
1760
+ if (index) {
1761
+ draft?.List?.splice(index, 1);
1762
+ }
1763
+ });
1764
+ });
1765
+ message.success(t("RoleList.deleteSuccessfully"));
1766
+ }
1767
+ });
1768
+ },
1769
+ children: t("global.delete")
1770
+ }
1771
+ )
1772
+ ] });
1773
+ }
1774
+ }
1775
+ ];
1776
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1777
+ /* @__PURE__ */ jsx(
1778
+ Card,
1779
+ {
1780
+ title: t("global.role"),
1781
+ extra: /* @__PURE__ */ jsx(
1782
+ PermissionButton_default,
1783
+ {
1784
+ isGlobal: true,
1785
+ type: "primary",
1786
+ code: "200002",
1787
+ icon: /* @__PURE__ */ jsx(UsergroupAddOutlined, {}),
1788
+ onClick: () => {
1789
+ showCreateModal();
1790
+ },
1791
+ children: t("RoleList.createTitle")
1792
+ }
1793
+ ),
1794
+ children: /* @__PURE__ */ jsx(
1795
+ QueryList_default,
1796
+ {
1797
+ isGlobal: true,
1798
+ rowKey: "name",
1799
+ columns,
1800
+ code: "200001",
1801
+ url: url2,
1802
+ getTotal: (response) => response?.Total,
1803
+ getDataSource: (response) => response?.List
1804
+ }
1805
+ )
1806
+ }
1807
+ ),
1808
+ createModal,
1809
+ updateModal
1810
+ ] });
1811
+ };
1812
+ roleList_default = RoleList;
1813
+ }
1814
+ });
1815
+
1816
+ // src/pages/permission/roleDetail/index.tsx
1817
+ var roleDetail_exports = {};
1818
+ __export(roleDetail_exports, {
1819
+ default: () => roleDetail_default
1820
+ });
1821
+ var RoleDetail, roleDetail_default;
1822
+ var init_roleDetail = __esm({
1823
+ "src/pages/permission/roleDetail/index.tsx"() {
1824
+ init_locale();
1825
+ init_permission2();
1826
+ RoleDetail = () => {
1827
+ const params = useParams();
1828
+ const { data, isLoading } = useRole(params.name);
1829
+ const { t } = useTranslation();
1830
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1831
+ /* @__PURE__ */ jsx(
1832
+ Breadcrumb,
1833
+ {
1834
+ style: { marginBottom: 24 },
1835
+ items: [
1836
+ {
1837
+ key: "1",
1838
+ title: /* @__PURE__ */ jsx(Link, { to: "..", children: t("global.role") })
1839
+ },
1840
+ {
1841
+ key: "2",
1842
+ title: params.name
1843
+ }
1844
+ ]
1845
+ }
1846
+ ),
1847
+ /* @__PURE__ */ jsx(Card, { title: t("RoleDetail.title"), children: /* @__PURE__ */ jsxs(Skeleton, { loading: isLoading, children: [
1848
+ /* @__PURE__ */ jsxs(Descriptions, { column: 3, layout: "vertical", children: [
1849
+ /* @__PURE__ */ jsx(Descriptions.Item, { label: t("global.name"), children: data?.name }),
1850
+ /* @__PURE__ */ jsx(Descriptions.Item, { label: "ID", children: data?.id }),
1851
+ /* @__PURE__ */ jsx(Descriptions.Item, { label: t("global.creationTime"), children: data?.ctime })
1852
+ ] }),
1853
+ /* @__PURE__ */ jsx(permissionList_default, { readonly: true, value: data?.permissions })
1854
+ ] }) })
1855
+ ] });
1856
+ };
1857
+ roleDetail_default = RoleDetail;
1858
+ }
1859
+ });
1860
+
1861
+ // src/index.ts
1862
+ init_contextProvider();
1863
+
1864
+ // src/components/dynamicTags/index.tsx
1865
+ init_locale();
1866
+ var DynamicTags = (props) => {
1867
+ const { initialTags, addable, removable, addCallback, removeCallback } = props;
1868
+ const { t } = useTranslation();
1869
+ const { token } = theme.useToken();
1870
+ const [tags, setTags] = useState([]);
1871
+ const [inputVisible, setInputVisible] = useState(false);
1872
+ const [inputValue, setInputValue] = useState("");
1873
+ const [editInputIndex, setEditInputIndex] = useState(-1);
1874
+ const [editInputValue, setEditInputValue] = useState("");
1875
+ const inputRef = useRef(null);
1876
+ const editInputRef = useRef(null);
1877
+ useEffect(() => {
1878
+ setTags(initialTags ?? []);
1879
+ }, [initialTags]);
1880
+ useEffect(() => {
1881
+ if (inputVisible) {
1882
+ inputRef.current?.focus();
1883
+ }
1884
+ }, [inputVisible]);
1885
+ useEffect(() => {
1886
+ editInputRef.current?.focus();
1887
+ }, [inputValue]);
1888
+ const handleClose = async (removedTag) => {
1889
+ const success = await removeCallback?.(removedTag);
1890
+ if (success) {
1891
+ const newTags = tags.filter((tag) => tag !== removedTag);
1892
+ setTags(newTags);
1893
+ }
1894
+ };
1895
+ const showInput = () => {
1896
+ setInputVisible(true);
1897
+ };
1898
+ const handleInputChange = (e) => {
1899
+ setInputValue(e.target.value);
1900
+ };
1901
+ const handleInputConfirm = async () => {
1902
+ if (inputValue && tags.indexOf(inputValue) === -1) {
1903
+ const success = await addCallback?.(inputValue);
1904
+ if (success) {
1905
+ setTags([...tags, inputValue]);
1906
+ }
1907
+ }
1908
+ setInputVisible(false);
1909
+ setInputValue("");
1910
+ };
1911
+ const handleEditInputChange = (e) => {
1912
+ setEditInputValue(e.target.value);
1913
+ };
1914
+ const handleEditInputConfirm = () => {
1915
+ const newTags = [...tags];
1916
+ newTags[editInputIndex] = editInputValue;
1917
+ setTags(newTags);
1918
+ setEditInputIndex(-1);
1919
+ setInputValue("");
1920
+ };
1921
+ const tagInputStyle = {
1922
+ width: 78,
1923
+ verticalAlign: "top"
1924
+ };
1925
+ const tagPlusStyle = {
1926
+ background: token.colorBgContainer,
1927
+ borderStyle: "dashed"
1928
+ };
1929
+ return /* @__PURE__ */ jsxs(Space, { wrap: true, size: [0, 8], children: [
1930
+ /* @__PURE__ */ jsx(Space, { wrap: true, size: [0, 8], children: tags.map((tag, index) => {
1931
+ if (editInputIndex === index) {
1932
+ return /* @__PURE__ */ jsx(
1933
+ Input,
1934
+ {
1935
+ ref: editInputRef,
1936
+ size: "small",
1937
+ style: tagInputStyle,
1938
+ value: editInputValue,
1939
+ onChange: handleEditInputChange,
1940
+ onBlur: handleEditInputConfirm,
1941
+ onPressEnter: handleEditInputConfirm
1942
+ },
1943
+ tag
1944
+ );
1945
+ }
1946
+ return /* @__PURE__ */ jsx(
1947
+ Tag,
1948
+ {
1949
+ closable: removable,
1950
+ style: { userSelect: "none" },
1951
+ onClose: async (e) => {
1952
+ e.preventDefault();
1953
+ await handleClose(tag);
1954
+ },
1955
+ children: /* @__PURE__ */ jsx(
1956
+ "span",
1957
+ {
1958
+ onDoubleClick: (e) => {
1959
+ if (index !== 0) {
1960
+ setEditInputIndex(index);
1961
+ setEditInputValue(tag);
1962
+ e.preventDefault();
1963
+ }
1964
+ },
1965
+ children: tag
1966
+ }
1967
+ )
1968
+ },
1969
+ tag
1970
+ );
1971
+ }) }),
1972
+ addable && (inputVisible ? /* @__PURE__ */ jsx(
1973
+ Input,
1974
+ {
1975
+ ref: inputRef,
1976
+ type: "text",
1977
+ size: "small",
1978
+ style: tagInputStyle,
1979
+ value: inputValue,
1980
+ onChange: handleInputChange,
1981
+ onBlur: handleInputConfirm,
1982
+ onPressEnter: handleInputConfirm
1983
+ }
1984
+ ) : /* @__PURE__ */ jsxs(Tag, { style: tagPlusStyle, onClick: showInput, children: [
1985
+ /* @__PURE__ */ jsx(PlusOutlined, {}),
1986
+ "\xA0",
1987
+ t("global.add")
1988
+ ] }))
1989
+ ] });
1990
+ };
1991
+ var dynamicTags_default = DynamicTags;
1992
+ var ExpandableParagraph = (props) => {
1993
+ const { children, ...restProps } = props;
1994
+ const [expanded, setExpanded] = useState(false);
1995
+ return /* @__PURE__ */ jsx(
1996
+ Typography.Paragraph,
1997
+ {
1998
+ ...restProps,
1999
+ className: "mb-0",
2000
+ ellipsis: {
2001
+ rows: 2,
2002
+ expandable: "collapsible",
2003
+ expanded,
2004
+ onExpand: (_, info) => {
2005
+ setExpanded(info.expanded);
2006
+ }
2007
+ },
2008
+ children
2009
+ }
2010
+ );
2011
+ };
2012
+ var expandableParagraph_default = ExpandableParagraph;
2013
+
2014
+ // src/index.ts
2015
+ init_filterFormWrapper();
2016
+ init_gameSelect();
2017
+ init_highlight();
2018
+
2019
+ // src/components/infiniteList/InfiniteList.tsx
2020
+ init_permission();
2021
+ init_request();
2022
+ init_filterFormWrapper();
2023
+ init_locale();
2024
+ var InfiniteList = (props) => {
2025
+ const {
2026
+ code,
2027
+ action,
2028
+ extras,
2029
+ headers,
2030
+ isGlobal,
2031
+ getRowKey,
2032
+ getDataSource,
2033
+ hasMore,
2034
+ renderForm,
2035
+ transformArg,
2036
+ ...tableProps
2037
+ } = props;
2038
+ const { t } = useTranslation();
2039
+ const [form] = Form.useForm();
2040
+ const { accessible, isLoading } = usePermission(code);
2041
+ const [isValid, setIsValid] = useState(false);
2042
+ const [formValues, setFormValues] = useState();
2043
+ const { get: get2 } = useRequest({
2044
+ isGlobal,
2045
+ headers: typeof headers === "function" ? headers(form) : headers
2046
+ });
2047
+ const getKey = (pageIndex, previousPageData) => {
2048
+ if (!isValid) return null;
2049
+ const rowKey = pageIndex !== 0 ? getRowKey(previousPageData) : void 0;
2050
+ const args = transformArg(formValues, rowKey);
2051
+ const queryString = qs.stringify(args);
2052
+ return queryString ? `${action}?${qs.stringify(args)}` : action;
2053
+ };
2054
+ const {
2055
+ data,
2056
+ size,
2057
+ setSize,
2058
+ isValidating: isListValidating
2059
+ } = useSWRInfinite(getKey, (arg) => get2(arg), {
2060
+ shouldRetryOnError: false,
2061
+ revalidateOnFocus: false,
2062
+ revalidateFirstPage: false
2063
+ });
2064
+ const dataSource = getDataSource(data);
2065
+ const isLoadingMore = isListValidating || size > 0 && data && typeof data[size - 1] === "undefined";
2066
+ const isReachingEnd = typeof hasMore !== "undefined" ? !hasMore(data) : true;
2067
+ const isEmpty = !dataSource || dataSource.length === 0;
2068
+ const onConfirm = async () => {
2069
+ const values = await form.getFieldsValue();
2070
+ setFormValues(values);
2071
+ try {
2072
+ await form.validateFields();
2073
+ setSize(1);
2074
+ setIsValid(true);
2075
+ } catch (_) {
2076
+ setSize(0);
2077
+ setIsValid(false);
2078
+ }
2079
+ };
2080
+ const loadMore = () => {
2081
+ setSize(size + 1);
2082
+ };
2083
+ const onReset = async () => {
2084
+ try {
2085
+ form.resetFields();
2086
+ await form.validateFields({ validateOnly: true });
2087
+ setSize(1);
2088
+ } catch (_) {
2089
+ setSize(0);
2090
+ }
2091
+ };
2092
+ useEffect(() => {
2093
+ if (accessible) {
2094
+ form.validateFields({ validateOnly: true }).then((values) => {
2095
+ setFormValues(values);
2096
+ setIsValid(true);
2097
+ }).catch(() => {
2098
+ setIsValid(false);
2099
+ });
2100
+ }
2101
+ }, [accessible]);
2102
+ if (isLoading) {
2103
+ return /* @__PURE__ */ jsx(
2104
+ Spin,
2105
+ {
2106
+ style: {
2107
+ display: "flex",
2108
+ justifyContent: "center",
2109
+ alignItems: "center",
2110
+ height: 300
2111
+ }
2112
+ }
2113
+ );
2114
+ }
2115
+ if (!accessible) {
2116
+ return /* @__PURE__ */ jsx(Result, { status: 403, subTitle: t("global.noEntitlement") });
2117
+ }
2118
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
2119
+ renderForm ? /* @__PURE__ */ jsx(
2120
+ filterFormWrapper_default,
2121
+ {
2122
+ extras: extras?.map((extra) => ({
2123
+ key: extra.key,
2124
+ children: typeof extra.children === "function" ? extra.children(form) : extra.children
2125
+ })),
2126
+ onReset,
2127
+ onConfirm,
2128
+ children: renderForm(form)
2129
+ }
2130
+ ) : /* @__PURE__ */ jsx(Form, { form }),
2131
+ /* @__PURE__ */ jsx(Table, { ...tableProps, dataSource, loading: isLoadingMore, pagination: false }),
2132
+ !isEmpty && /* @__PURE__ */ jsx(
2133
+ Button,
2134
+ {
2135
+ block: true,
2136
+ loading: isLoadingMore,
2137
+ type: "link",
2138
+ htmlType: "button",
2139
+ disabled: isLoadingMore || isReachingEnd,
2140
+ onClick: loadMore,
2141
+ children: isLoadingMore ? t("InfiniteList.loadingText") : isReachingEnd ? t("InfiniteList.reachEndText") : t("InfiniteList.loadMoreText")
2142
+ }
2143
+ )
2144
+ ] });
2145
+ };
2146
+ var InfiniteList_default = InfiniteList;
2147
+
2148
+ // src/components/layout/Layout.tsx
2149
+ init_contextProvider();
2150
+ init_gameSelect();
2151
+ init_logo();
2152
+
2153
+ // src/components/navMenu/NavMenu.tsx
2154
+ init_permission();
2155
+ init_contextProvider();
2156
+ var useNavStore = create()(
2157
+ persist(
2158
+ (set) => ({
2159
+ openKeys: [],
2160
+ setOpenKeys: (keys) => set({ openKeys: keys }),
2161
+ selectedKeys: [],
2162
+ setSelectedKeys: (keys) => set({ selectedKeys: keys })
2163
+ }),
2164
+ {
2165
+ name: "nav",
2166
+ storage: createJSONStorage(() => localStorage),
2167
+ partialize: (state) => ({
2168
+ openKeys: state.openKeys,
2169
+ selectedKeys: state.selectedKeys
2170
+ })
2171
+ }
2172
+ )
2173
+ );
2174
+ var withLink = (label, route) => {
2175
+ if (route) {
2176
+ return /* @__PURE__ */ jsx(Link, { to: route, children: label });
2177
+ }
2178
+ return label;
2179
+ };
2180
+ function checkChildren(children, permissions) {
2181
+ return (children ?? []).some((child) => {
2182
+ if (child === null) {
2183
+ return false;
2184
+ } else if (child.type === "divider") {
2185
+ return true;
2186
+ } else {
2187
+ if (child.children) {
2188
+ return checkChildren(child.children ?? [], permissions);
2189
+ } else {
2190
+ return !permissions || !child.code || permissions[child.code];
2191
+ }
2192
+ }
2193
+ });
2194
+ }
2195
+ function transformItems(items, permissions) {
2196
+ const result = [];
2197
+ for (let i = 0; i < items.length; i++) {
2198
+ if (items[i] === null) {
2199
+ result[i] = null;
2200
+ } else if (items[i].type === "divider") {
2201
+ result[i] = { ...items[i] };
2202
+ } else {
2203
+ if (items[i].children) {
2204
+ const { children, ...restProps } = items[i];
2205
+ result[i] = checkChildren(children ?? [], permissions) ? {
2206
+ ...restProps,
2207
+ children: transformItems(children ?? [], permissions)
2208
+ } : null;
2209
+ } else {
2210
+ const { route, label, code, ...restProps } = items[i];
2211
+ const isPass = !code || !permissions || permissions[code];
2212
+ result[i] = isPass ? {
2213
+ ...restProps,
2214
+ label: withLink(label, route)
2215
+ } : null;
2216
+ }
2217
+ }
2218
+ }
2219
+ return result;
2220
+ }
2221
+ function flatItems(items, result = [], keypath = []) {
2222
+ for (const item of items) {
2223
+ const children = item?.children;
2224
+ if (Array.isArray(children)) {
2225
+ const keys = item.type !== "group" && item.key ? [...keypath, item.key] : keypath;
2226
+ flatItems(children, result, keys);
2227
+ } else if (item) {
2228
+ result.push(Object.assign(item, { keypath }));
2229
+ }
2230
+ }
2231
+ return result;
2232
+ }
2233
+ var NavMenu = memo(function NavMenu2() {
2234
+ const location = useLocation();
2235
+ const { menuItems } = useToolkitsContext();
2236
+ const flattenItems = useMemo(() => flatItems(menuItems ?? []), [menuItems]);
2237
+ const codes = flattenItems.map((item) => item.code).filter(Boolean);
2238
+ const { data: permissions } = usePermissions(codes, true);
2239
+ const internalItems = useMemo(() => transformItems(menuItems ?? [], permissions), [menuItems, permissions]);
2240
+ const { openKeys, selectedKeys, setOpenKeys, setSelectedKeys } = useNavStore();
2241
+ const onOpenChange = (keys) => {
2242
+ const lastOpenKey = keys?.find((key) => openKeys?.indexOf(key) === -1);
2243
+ const match = flattenItems.find((item) => lastOpenKey === item.key);
2244
+ setOpenKeys(match?.keypath ?? [lastOpenKey]);
2245
+ };
2246
+ useEffect(() => {
2247
+ const match = flattenItems.find((item) => location.pathname === item.route);
2248
+ if (match) {
2249
+ const key = match.key;
2250
+ const keypath = match.keypath;
2251
+ setSelectedKeys([key]);
2252
+ setOpenKeys(keypath);
2253
+ }
2254
+ }, [flattenItems, location]);
2255
+ return /* @__PURE__ */ jsx(
2256
+ Menu,
2257
+ {
2258
+ style: { borderRight: "none" },
2259
+ items: internalItems,
2260
+ mode: "inline",
2261
+ openKeys,
2262
+ selectedKeys,
2263
+ onOpenChange
2264
+ }
2265
+ );
2266
+ });
2267
+ if (process.env.NODE_ENV === "development") {
2268
+ NavMenu.displayName = "NavMenu";
2269
+ }
2270
+ var NavMenu_default = NavMenu;
2271
+
2272
+ // src/components/userWidget/index.tsx
2273
+ init_locale();
2274
+ init_token();
2275
+ init_contextProvider();
2276
+ var UserWidget = () => {
2277
+ const navigate = useNavigate();
2278
+ const { clearToken, getUser } = useTokenStore();
2279
+ const user = getUser();
2280
+ const { t } = useTranslation();
2281
+ const { signInUrl } = useToolkitsContext();
2282
+ const items = [
2283
+ {
2284
+ key: "1",
2285
+ label: (
2286
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions,jsx-a11y/anchor-is-valid
2287
+ /* @__PURE__ */ jsx(
2288
+ "a",
2289
+ {
2290
+ "data-cy": "user-widget-logout",
2291
+ onClick: () => {
2292
+ clearToken();
2293
+ if (signInUrl) {
2294
+ navigate(signInUrl);
2295
+ }
2296
+ },
2297
+ children: t("UserWidget.signOutText")
2298
+ }
2299
+ )
2300
+ ),
2301
+ icon: /* @__PURE__ */ jsx(LogoutOutlined, {})
2302
+ }
2303
+ ];
2304
+ return /* @__PURE__ */ jsx("div", { "data-cy": "user-widget", children: /* @__PURE__ */ jsx(
2305
+ Dropdown,
2306
+ {
2307
+ menu: {
2308
+ selectable: true,
2309
+ items
2310
+ },
2311
+ placement: "bottomRight",
2312
+ children: /* @__PURE__ */ jsx(
2313
+ "a",
2314
+ {
2315
+ onClick: (e) => {
2316
+ e.preventDefault();
2317
+ },
2318
+ children: /* @__PURE__ */ jsxs(Space, { align: "center", children: [
2319
+ /* @__PURE__ */ jsx("span", { children: user?.authorityId }),
2320
+ /* @__PURE__ */ jsx(UserOutlined, { style: { fontSize: "16px" } })
2321
+ ] })
2322
+ }
2323
+ )
2324
+ }
2325
+ ) });
2326
+ };
2327
+ var userWidget_default = UserWidget;
2328
+
2329
+ // src/components/layout/ContentWrapper.tsx
2330
+ init_contextProvider();
2331
+ init_gameSelect();
2332
+ init_locale();
2333
+ var { Spin: Spin2 } = Antd2;
2334
+ var ContentWrapper = (props) => {
2335
+ const { children } = props;
2336
+ const { usePermissionApiV2, hideGameSelect } = useToolkitsContext();
2337
+ const { game, isLoading } = useGameStore();
2338
+ const { t } = useTranslation();
2339
+ if (isLoading) {
2340
+ return /* @__PURE__ */ jsx(
2341
+ Spin2,
2342
+ {
2343
+ style: {
2344
+ display: "flex",
2345
+ justifyContent: "center",
2346
+ alignItems: "center",
2347
+ height: 200
2348
+ }
2349
+ }
2350
+ );
2351
+ }
2352
+ if (usePermissionApiV2 && !hideGameSelect && !game) {
2353
+ return /* @__PURE__ */ jsx(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE, description: t("RequireGame.description") });
2354
+ }
2355
+ return children;
2356
+ };
2357
+ var ContentWrapper_default = ContentWrapper;
2358
+ var useLayoutStore = create()(
2359
+ persist(
2360
+ (set) => ({
2361
+ collapsed: false,
2362
+ setCollapsed: (collapsed) => set({ collapsed })
2363
+ }),
2364
+ {
2365
+ name: "layout",
2366
+ storage: createJSONStorage(() => localStorage),
2367
+ partialize: (state) => ({ collapsed: state.collapsed })
2368
+ }
2369
+ )
2370
+ );
2371
+ var { theme: theme3 } = Antd2;
2372
+ var { Header, Sider, Content } = Antd2.Layout;
2373
+ var Layout2 = (props) => {
2374
+ const { children } = props;
2375
+ const {
2376
+ token: { colorBgContainer, colorBorder }
2377
+ } = theme3.useToken();
2378
+ const {
2379
+ appTitle,
2380
+ usePermissionApiV2,
2381
+ hideGameSelect,
2382
+ localeDropdownMenu,
2383
+ layoutHeaderExtras,
2384
+ signInSuccessRedirectUrl
2385
+ } = useToolkitsContext();
2386
+ const { collapsed, setCollapsed } = useLayoutStore();
2387
+ const nodeRef = useRef(null);
2388
+ const duration = 250;
2389
+ const defaultStyle = {
2390
+ transition: `opacity ${duration}ms ease-in-out`,
2391
+ opacity: 0,
2392
+ display: "flex",
2393
+ alignItems: "center"
2394
+ };
2395
+ const transitionStyles = {
2396
+ entering: { opacity: 0, width: 0 },
2397
+ entered: { opacity: 1 },
2398
+ exiting: { opacity: 0 },
2399
+ exited: { opacity: 0 },
2400
+ unmounted: { opacity: 0 }
2401
+ };
2402
+ const onCollapse = async () => {
2403
+ setCollapsed(!collapsed);
2404
+ };
2405
+ return /* @__PURE__ */ jsxs(Antd2.Layout, { children: [
2406
+ /* @__PURE__ */ jsxs(
2407
+ Sider,
2408
+ {
2409
+ collapsible: true,
2410
+ theme: "light",
2411
+ trigger: null,
2412
+ collapsed,
2413
+ width: 256,
2414
+ style: {
2415
+ height: "100vh",
2416
+ overflow: "auto",
2417
+ borderRightWidth: 1,
2418
+ borderRightStyle: "solid",
2419
+ borderRightColor: colorBorder
2420
+ },
2421
+ children: [
2422
+ /* @__PURE__ */ jsxs(Link, { to: signInSuccessRedirectUrl, className: "flex gap-2 px-6 py-4", children: [
2423
+ /* @__PURE__ */ jsx(Logo_default, { width: 32, height: 32 }),
2424
+ /* @__PURE__ */ jsx(Transition, { nodeRef, in: !collapsed, timeout: duration, children: (state) => /* @__PURE__ */ jsx(
2425
+ "div",
2426
+ {
2427
+ ref: nodeRef,
2428
+ style: {
2429
+ ...defaultStyle,
2430
+ ...transitionStyles[state]
2431
+ },
2432
+ children: !collapsed && appTitle
2433
+ }
2434
+ ) })
2435
+ ] }),
2436
+ /* @__PURE__ */ jsx(NavMenu_default, {})
2437
+ ]
2438
+ }
2439
+ ),
2440
+ /* @__PURE__ */ jsxs(Antd2.Layout, { children: [
2441
+ /* @__PURE__ */ jsx(
2442
+ Header,
2443
+ {
2444
+ style: {
2445
+ padding: "0 24px",
2446
+ background: colorBgContainer
2447
+ },
2448
+ children: /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center h-full", children: [
2449
+ /* @__PURE__ */ jsxs(Space, { size: "small", split: /* @__PURE__ */ jsx(Divider, { type: "vertical" }), className: "mr-6", children: [
2450
+ /* @__PURE__ */ jsx(
2451
+ Button,
2452
+ {
2453
+ type: "text",
2454
+ icon: collapsed ? /* @__PURE__ */ jsx(MenuUnfoldOutlined, {}) : /* @__PURE__ */ jsx(MenuFoldOutlined, {}),
2455
+ style: { fontSize: "16px" },
2456
+ onClick: onCollapse
2457
+ }
2458
+ ),
2459
+ usePermissionApiV2 && !hideGameSelect && /* @__PURE__ */ jsx(GameSelect_default, {}),
2460
+ layoutHeaderExtras?.map((extra) => /* @__PURE__ */ jsx("span", { children: extra.children }, extra.key))
2461
+ ] }),
2462
+ /* @__PURE__ */ jsxs(Space, { size: "small", split: /* @__PURE__ */ jsx(Divider, { type: "vertical" }), children: [
2463
+ localeDropdownMenu,
2464
+ /* @__PURE__ */ jsx(userWidget_default, {})
2465
+ ] })
2466
+ ] })
2467
+ }
2468
+ ),
2469
+ /* @__PURE__ */ jsx(
2470
+ Content,
2471
+ {
2472
+ style: {
2473
+ overflow: "auto",
2474
+ padding: "24px 16px",
2475
+ maxHeight: "calc(100vh - 64px)"
2476
+ },
2477
+ children: /* @__PURE__ */ jsx(ContentWrapper_default, { children })
2478
+ }
2479
+ )
2480
+ ] })
2481
+ ] });
2482
+ };
2483
+ var Layout_default = Layout2;
2484
+
2485
+ // src/index.ts
2486
+ init_permissionButton();
2487
+
2488
+ // src/components/permissionGuard/index.tsx
2489
+ init_locale();
2490
+ init_permission();
2491
+ var PermissionGuard = (props) => {
2492
+ const { code, isGlobal, children } = props;
2493
+ const { accessible, isValidating } = usePermission(code, isGlobal);
2494
+ const { t } = useTranslation();
2495
+ if (isValidating) {
2496
+ return /* @__PURE__ */ jsx(
2497
+ Spin,
2498
+ {
2499
+ style: {
2500
+ display: "flex",
2501
+ justifyContent: "center",
2502
+ alignItems: "center",
2503
+ height: 200
2504
+ }
2505
+ }
2506
+ );
2507
+ }
2508
+ if (!accessible) {
2509
+ return /* @__PURE__ */ jsx(Result, { status: "403", subTitle: t("global.noEntitlement") });
2510
+ }
2511
+ return /* @__PURE__ */ jsx(Fragment, { children });
2512
+ };
2513
+ var permissionGuard_default = PermissionGuard;
2514
+
2515
+ // src/index.ts
2516
+ init_queryList();
2517
+ init_formModal();
2518
+ init_modal();
2519
+ init_permission();
2520
+ init_request();
2521
+ init_token();
2522
+
2523
+ // src/pages/notFound/index.tsx
2524
+ init_contextProvider();
2525
+ init_locale();
2526
+ var NotFound = () => {
2527
+ const navigate = useNavigate();
2528
+ const { t } = useTranslation();
2529
+ const { notFoundRedirectUrl } = useToolkitsContext();
2530
+ return /* @__PURE__ */ jsx("div", { className: "h-screen flex justify-center items-center", children: /* @__PURE__ */ jsx(
2531
+ Result,
2532
+ {
2533
+ status: "404",
2534
+ title: "404",
2535
+ subTitle: t("NotFound.subTitle"),
2536
+ extra: notFoundRedirectUrl && /* @__PURE__ */ jsx(
2537
+ Button,
2538
+ {
2539
+ type: "primary",
2540
+ onClick: () => {
2541
+ navigate(notFoundRedirectUrl);
2542
+ },
2543
+ children: t("NotFound.buttonText")
2544
+ }
2545
+ )
2546
+ }
2547
+ ) });
2548
+ };
2549
+ var notFound_default = NotFound;
2550
+ init_locale();
2551
+ init_queryList();
2552
+ var { Option } = Select;
2553
+ var OperationLogList = () => {
2554
+ const { t } = useTranslation();
2555
+ const columns = [
2556
+ {
2557
+ key: "username",
2558
+ title: t("global.username"),
2559
+ dataIndex: "uname",
2560
+ width: 100
2561
+ },
2562
+ {
2563
+ key: "label",
2564
+ title: t("global.label"),
2565
+ dataIndex: "label",
2566
+ width: 150
2567
+ },
2568
+ {
2569
+ key: "method",
2570
+ title: t("global.method"),
2571
+ dataIndex: "method",
2572
+ width: 100
2573
+ },
2574
+ {
2575
+ key: "route",
2576
+ title: t("global.route"),
2577
+ dataIndex: "route",
2578
+ width: 200
2579
+ },
2580
+ {
2581
+ key: "request",
2582
+ title: t("global.request"),
2583
+ dataIndex: "request",
2584
+ render(value) {
2585
+ return /* @__PURE__ */ jsx(expandableParagraph_default, { children: value });
2586
+ }
2587
+ },
2588
+ {
2589
+ key: "response",
2590
+ title: t("global.response"),
2591
+ dataIndex: "response",
2592
+ render(value) {
2593
+ return /* @__PURE__ */ jsx(expandableParagraph_default, { children: value });
2594
+ }
2595
+ },
2596
+ {
2597
+ key: "creation_time",
2598
+ title: t("global.creationTime"),
2599
+ dataIndex: "ctime",
2600
+ width: 200,
2601
+ render(value) {
2602
+ return dayjs(value).format("YYYY-MM-DD HH:mm:ss");
2603
+ }
2604
+ }
2605
+ ];
2606
+ return /* @__PURE__ */ jsx(Card, { title: "\u64CD\u4F5C\u65E5\u5FD7", children: /* @__PURE__ */ jsx(
2607
+ QueryList_default,
2608
+ {
2609
+ rowKey: "id",
2610
+ columns,
2611
+ tableLayout: "fixed",
2612
+ url: "/api/usystem/log/list",
2613
+ getTotal: (response) => response?.Total,
2614
+ getDataSource: (response) => response?.List,
2615
+ renderForm: (form) => /* @__PURE__ */ jsxs(Form, { form, layout: "inline", children: [
2616
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.username"), name: "uname", children: /* @__PURE__ */ jsx(Input, { allowClear: true }) }),
2617
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.route"), name: "route", children: /* @__PURE__ */ jsx(Input, { allowClear: true }) }),
2618
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.method"), name: "method", children: /* @__PURE__ */ jsxs(Select, { allowClear: true, style: { width: "100px" }, children: [
2619
+ /* @__PURE__ */ jsx(Option, { value: "get", children: "GET" }),
2620
+ /* @__PURE__ */ jsx(Option, { value: "post", children: "POST" })
2621
+ ] }) }),
2622
+ /* @__PURE__ */ jsx(Form.Item, { label: t("global.label"), name: "label", children: /* @__PURE__ */ jsx(Input, { allowClear: true }) })
2623
+ ] })
2624
+ }
2625
+ ) });
2626
+ };
2627
+ var operationLogList_default = OperationLogList;
2628
+ var UserList2 = lazy(() => Promise.resolve().then(() => (init_userList(), userList_exports)));
2629
+ var RoleList2 = lazy(() => Promise.resolve().then(() => (init_roleList(), roleList_exports)));
2630
+ var RoleDetail2 = lazy(() => Promise.resolve().then(() => (init_roleDetail(), roleDetail_exports)));
2631
+ var PermissionRoutes = () => {
2632
+ return /* @__PURE__ */ jsxs(Routes, { children: [
2633
+ /* @__PURE__ */ jsx(Route, { index: true, element: /* @__PURE__ */ jsx(Navigate, { to: "user" }) }),
2634
+ /* @__PURE__ */ jsx(Route, { path: "user", element: /* @__PURE__ */ jsx(UserList2, {}) }),
2635
+ /* @__PURE__ */ jsx(Route, { path: "role", element: /* @__PURE__ */ jsx(RoleList2, {}) }),
2636
+ /* @__PURE__ */ jsx(Route, { path: "role/:name", element: /* @__PURE__ */ jsx(RoleDetail2, {}) })
2637
+ ] });
2638
+ };
2639
+ var permission_default = PermissionRoutes;
2640
+
2641
+ // src/index.ts
2642
+ init_signIn();
2643
+
2644
+ // src/utils/router.tsx
2645
+ init_contextProvider();
2646
+ var withLayout = (WrappedComponent, props) => {
2647
+ const ComponentWithLayout = () => {
2648
+ return /* @__PURE__ */ jsx(contextProvider_default, { ...props, children: /* @__PURE__ */ jsx(Layout_default, { children: /* @__PURE__ */ jsx(WrappedComponent, {}) }) });
2649
+ };
2650
+ return ComponentWithLayout;
2651
+ };
2652
+
2653
+ // src/index.ts
2654
+ init_storage();
2655
+
2656
+ export { contextProvider_default as ContextProvider, dynamicTags_default as DynamicTags, expandableParagraph_default as ExpandableParagraph, filterFormWrapper_default as FilterFormWrapper, GameSelect_default as GameSelect, highlight_default as Highlight, InfiniteList_default as InfiniteList, Layout_default as Layout, NavMenu_default as NavMenu, notFound_default as NotFound, operationLogList_default as OperationLogList, PermissionButton_default as PermissionButton, permissionGuard_default as PermissionGuard, permission_default as PermissionRoutes, QueryList_default as QueryList, QueryListAction, signIn_default as SignIn, userWidget_default as UserWidget, contextStore, mixedStorage, useFormModal, useGameStore, useModal, useModalStore, usePermission, usePermissions, useQueryListStore, useRequest, useTokenStore, useTokenValidation, useToolkitsContext, withLayout };
2657
+ //# sourceMappingURL=index.js.map
2658
+ //# sourceMappingURL=index.js.map