react-toolkits 2.14.7 → 2.14.9
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/CHANGELOG.md +12 -0
- package/README.md +6 -3
- package/lib/index.css +1 -319
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -3595
- package/locale/context.js +1 -7
- package/locale/en_GB.js +1 -94
- package/locale/hooks.js +1 -37
- package/locale/index.js +1 -37
- package/locale/ja_JP.js +1 -94
- package/locale/ko_KR.js +1 -94
- package/locale/zh_CN.js +1 -94
- package/package.json +5 -5
package/lib/index.js
CHANGED
|
@@ -1,3595 +1,2 @@
|
|
|
1
|
-
import axios, { AxiosHeaders, isAxiosError } from 'axios';
|
|
2
|
-
|
|
3
|
-
import { useStore, create, createStore } from 'zustand';
|
|
4
|
-
import { persist, createJSONStorage } from 'zustand/middleware';
|
|
5
|
-
import logoUrl from './logo-L6MFCL6M.png';
|
|
6
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
-
import * as Antd2 from 'antd';
|
|
8
|
-
import { Modal, Form, Spin, Result, Table, Button, Card, Input, Select, App, Switch, InputNumber, theme, Space, Tag, Typography, Alert, Divider, Menu, Popconfirm, Row, Col, Breadcrumb, Descriptions, Skeleton, Empty, Dropdown, Tooltip, Checkbox, Collapse } from 'antd';
|
|
9
|
-
import { Routes, Route, Navigate, useNavigate, useParams, useLocation, Link } from 'react-router-dom';
|
|
10
|
-
import useSWR6, { mutate, unstable_serialize, useSWRConfig } from 'swr';
|
|
11
|
-
import { forwardRef, lazy, useContext, useMemo, useState, useEffect, useImperativeHandle, cloneElement, useRef, createContext, memo, useCallback, Fragment as Fragment$1, Suspense, useTransition } from 'react';
|
|
12
|
-
import { last, has, template, get, isEqual, first } from 'lodash-es';
|
|
13
|
-
import { flushSync } from 'react-dom';
|
|
14
|
-
import { createRoot } from 'react-dom/client';
|
|
15
|
-
import { PlusOutlined, UserAddOutlined, UsergroupAddOutlined, LogoutOutlined, UserOutlined, MenuUnfoldOutlined, MenuFoldOutlined, MinusCircleOutlined } from '@ant-design/icons';
|
|
16
|
-
import useSWRMutation2 from 'swr/mutation';
|
|
17
|
-
import { Editor } from '@monaco-editor/react';
|
|
18
|
-
import { produce } from 'immer';
|
|
19
|
-
import 'animate.css';
|
|
20
|
-
import qs from 'query-string';
|
|
21
|
-
import useSWRInfinite from 'swr/infinite';
|
|
22
|
-
import dayjs from 'dayjs';
|
|
23
|
-
|
|
24
|
-
var __defProp = Object.defineProperty;
|
|
25
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
26
|
-
var __esm = (fn, res) => function __init() {
|
|
27
|
-
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
28
|
-
};
|
|
29
|
-
var __export = (target, all) => {
|
|
30
|
-
for (var name in all)
|
|
31
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// src/utils/index.ts
|
|
35
|
-
var mixedStorage;
|
|
36
|
-
var init_utils = __esm({
|
|
37
|
-
"src/utils/index.ts"() {
|
|
38
|
-
mixedStorage = {
|
|
39
|
-
getItem: (name) => {
|
|
40
|
-
return sessionStorage.getItem(name) || localStorage.getItem(name);
|
|
41
|
-
},
|
|
42
|
-
setItem: (name, value) => {
|
|
43
|
-
sessionStorage.setItem(name, value);
|
|
44
|
-
localStorage.setItem(name, value);
|
|
45
|
-
},
|
|
46
|
-
removeItem(name) {
|
|
47
|
-
sessionStorage.removeItem(name);
|
|
48
|
-
localStorage.removeItem(name);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
var createAxiosSlice;
|
|
54
|
-
var init_axios = __esm({
|
|
55
|
-
"src/stores/axios.ts"() {
|
|
56
|
-
createAxiosSlice = () => ({
|
|
57
|
-
axios: axios.create()
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
// src/components/locale/en_GB.ts
|
|
63
|
-
var locale, en_GB_default;
|
|
64
|
-
var init_en_GB = __esm({
|
|
65
|
-
"src/components/locale/en_GB.ts"() {
|
|
66
|
-
locale = {
|
|
67
|
-
global: {
|
|
68
|
-
noEntitlement: "No permission, please contact the administrator.",
|
|
69
|
-
name: "Name",
|
|
70
|
-
creationTime: "Creation Time",
|
|
71
|
-
operation: "Operation",
|
|
72
|
-
update: "Update",
|
|
73
|
-
edit: "Edit",
|
|
74
|
-
delete: "Delete",
|
|
75
|
-
selectAll: "Select All",
|
|
76
|
-
game: "Game",
|
|
77
|
-
user: "User",
|
|
78
|
-
role: "Role",
|
|
79
|
-
username: "Username",
|
|
80
|
-
password: "Password",
|
|
81
|
-
label: "Label",
|
|
82
|
-
method: "Method",
|
|
83
|
-
route: "Route",
|
|
84
|
-
request: "Request",
|
|
85
|
-
response: "Response",
|
|
86
|
-
add: "Add",
|
|
87
|
-
signIn: "Sign In",
|
|
88
|
-
projectGroup: "Project Group",
|
|
89
|
-
view: "View"
|
|
90
|
-
},
|
|
91
|
-
SignIn: {
|
|
92
|
-
title: "Sign In Method",
|
|
93
|
-
thirdParty: "Third party sign in",
|
|
94
|
-
signInWithIDass: "Sign in with IDass",
|
|
95
|
-
unregistered: "You are not yet registered on the platform, please contact the administrator",
|
|
96
|
-
welcome: "Welcome"
|
|
97
|
-
},
|
|
98
|
-
NotFound: {
|
|
99
|
-
subTitle: "The page you visited does not exist",
|
|
100
|
-
buttonText: "Return to homepage"
|
|
101
|
-
},
|
|
102
|
-
FilterFormWrapper: {
|
|
103
|
-
confirmText: "Search",
|
|
104
|
-
resetText: "Reset"
|
|
105
|
-
},
|
|
106
|
-
FormModal: {
|
|
107
|
-
confirmText: "Confirm",
|
|
108
|
-
cancelText: "Cancel"
|
|
109
|
-
},
|
|
110
|
-
GameSelect: {
|
|
111
|
-
label: "Current Game",
|
|
112
|
-
placeholder: "Please select a game"
|
|
113
|
-
},
|
|
114
|
-
RequireGame: {
|
|
115
|
-
description: "Please select a game"
|
|
116
|
-
},
|
|
117
|
-
UserWidget: {
|
|
118
|
-
signOutText: "Sign Out"
|
|
119
|
-
},
|
|
120
|
-
User: {
|
|
121
|
-
createTitle: "Create User",
|
|
122
|
-
createSuccessfully: "User created successfully",
|
|
123
|
-
updateTitle: "Update User",
|
|
124
|
-
updateSuccessfully: "User updated successfully",
|
|
125
|
-
deleteTitle: "Delete User",
|
|
126
|
-
deleteContent: "Are you sure you want to delete user <%= user %>?",
|
|
127
|
-
deleteSuccessfully: "User deleted successfully"
|
|
128
|
-
},
|
|
129
|
-
Role: {
|
|
130
|
-
createTitle: "Create Role",
|
|
131
|
-
createSuccessfully: "Role created successfully",
|
|
132
|
-
updateTitle: "Update Role",
|
|
133
|
-
updateSuccessfully: "Role updated successfully",
|
|
134
|
-
deleteTitle: "Delete Role",
|
|
135
|
-
deleteContent: "Are you sure you want to delete role <%= role %>?",
|
|
136
|
-
deleteSuccessfully: "Role deleted successfully"
|
|
137
|
-
},
|
|
138
|
-
PermissionList: {
|
|
139
|
-
failedDescription: "Failed to get permission list",
|
|
140
|
-
baseSectionTitle: "Platform Basic Permissions",
|
|
141
|
-
gameSectionTitle: "Game Permissions",
|
|
142
|
-
gameSectionDescription: "Please select a game first",
|
|
143
|
-
gameSelectPlaceholder: "Please select a game first",
|
|
144
|
-
removeText: "Remove",
|
|
145
|
-
addText: "Add Game Permissions"
|
|
146
|
-
},
|
|
147
|
-
RoleDetail: {
|
|
148
|
-
title: "Role Details"
|
|
149
|
-
},
|
|
150
|
-
InfiniteList: {
|
|
151
|
-
loadingText: "Loading...",
|
|
152
|
-
reachEndText: "You've reached the end",
|
|
153
|
-
loadMoreText: "Load more"
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
en_GB_default = locale;
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
// src/constants/index.ts
|
|
161
|
-
var SSO_URL, APP_ID_HEADER, FRONTEND_ROUTE_PREFIX, PermissionVersion, WILDCARD;
|
|
162
|
-
var init_constants = __esm({
|
|
163
|
-
"src/constants/index.ts"() {
|
|
164
|
-
SSO_URL = "https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1";
|
|
165
|
-
APP_ID_HEADER = "App-ID";
|
|
166
|
-
FRONTEND_ROUTE_PREFIX = "/console/";
|
|
167
|
-
PermissionVersion = /* @__PURE__ */ ((PermissionVersion2) => {
|
|
168
|
-
PermissionVersion2["V1"] = "v1";
|
|
169
|
-
PermissionVersion2["V2"] = "v2";
|
|
170
|
-
PermissionVersion2["V3"] = "v3";
|
|
171
|
-
return PermissionVersion2;
|
|
172
|
-
})(PermissionVersion || {});
|
|
173
|
-
WILDCARD = "*";
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
// src/stores/context.ts
|
|
178
|
-
var createContextSlice;
|
|
179
|
-
var init_context = __esm({
|
|
180
|
-
"src/stores/context.ts"() {
|
|
181
|
-
init_en_GB();
|
|
182
|
-
createContextSlice = (set) => ({
|
|
183
|
-
locale: en_GB_default,
|
|
184
|
-
gameApiV2: false,
|
|
185
|
-
isGlobal: false,
|
|
186
|
-
signInPath: "/sign_in",
|
|
187
|
-
mainPagePath: "/",
|
|
188
|
-
title: {
|
|
189
|
-
fontSize: 18
|
|
190
|
-
},
|
|
191
|
-
permissionVersion: "v1" /* V1 */,
|
|
192
|
-
setContext(state) {
|
|
193
|
-
set((prev) => ({ ...prev, ...state }));
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
// src/stores/game.ts
|
|
200
|
-
var createGameSlice;
|
|
201
|
-
var init_game = __esm({
|
|
202
|
-
"src/stores/game.ts"() {
|
|
203
|
-
createGameSlice = (set) => ({
|
|
204
|
-
setGameId: (id2) => {
|
|
205
|
-
set({ gameId: id2 });
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
var createTokenSlice;
|
|
211
|
-
var init_token = __esm({
|
|
212
|
-
"src/stores/token.ts"() {
|
|
213
|
-
createTokenSlice = (set, get2) => ({
|
|
214
|
-
getUser: () => {
|
|
215
|
-
const token = get2().token;
|
|
216
|
-
if (token) {
|
|
217
|
-
try {
|
|
218
|
-
return jwtDecode(token);
|
|
219
|
-
} catch (error) {
|
|
220
|
-
return null;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
return null;
|
|
224
|
-
},
|
|
225
|
-
setToken: (token) => set({ token })
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
var createToolkitsStore;
|
|
230
|
-
var init_stores = __esm({
|
|
231
|
-
"src/stores/index.ts"() {
|
|
232
|
-
init_utils();
|
|
233
|
-
init_axios();
|
|
234
|
-
init_context();
|
|
235
|
-
init_game();
|
|
236
|
-
init_token();
|
|
237
|
-
createToolkitsStore = (initProps) => {
|
|
238
|
-
return createStore()(
|
|
239
|
-
persist(
|
|
240
|
-
(...args) => {
|
|
241
|
-
const [_set, get2, store] = args;
|
|
242
|
-
return {
|
|
243
|
-
...createTokenSlice(...args),
|
|
244
|
-
...createGameSlice(...args),
|
|
245
|
-
...createContextSlice(...args),
|
|
246
|
-
...createAxiosSlice(...args),
|
|
247
|
-
clearToken() {
|
|
248
|
-
get2().setToken("");
|
|
249
|
-
store.persist.clearStorage();
|
|
250
|
-
},
|
|
251
|
-
...initProps
|
|
252
|
-
};
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
name: "toolkits",
|
|
256
|
-
storage: createJSONStorage(() => mixedStorage),
|
|
257
|
-
partialize: (state) => ({
|
|
258
|
-
token: state.token,
|
|
259
|
-
gameId: state.gameId,
|
|
260
|
-
collapsed: state.collapsed
|
|
261
|
-
})
|
|
262
|
-
}
|
|
263
|
-
)
|
|
264
|
-
);
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
var Logo, Logo_default;
|
|
269
|
-
var init_Logo = __esm({
|
|
270
|
-
"src/components/logo/Logo.tsx"() {
|
|
271
|
-
Logo = (props) => {
|
|
272
|
-
return /* @__PURE__ */ jsx("img", { src: logoUrl, alt: "logo", ...props });
|
|
273
|
-
};
|
|
274
|
-
Logo_default = Logo;
|
|
275
|
-
}
|
|
276
|
-
});
|
|
277
|
-
|
|
278
|
-
// src/components/logo/index.ts
|
|
279
|
-
var init_logo = __esm({
|
|
280
|
-
"src/components/logo/index.ts"() {
|
|
281
|
-
init_Logo();
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
|
|
285
|
-
// src/pages/signIn/background.svg
|
|
286
|
-
var background_default;
|
|
287
|
-
var init_background = __esm({
|
|
288
|
-
"src/pages/signIn/background.svg"() {
|
|
289
|
-
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';
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
var useSignInStore, SignIn, signIn_default;
|
|
293
|
-
var init_signIn = __esm({
|
|
294
|
-
"src/pages/signIn/index.tsx"() {
|
|
295
|
-
init_locale();
|
|
296
|
-
init_logo();
|
|
297
|
-
init_toolkitsProvider();
|
|
298
|
-
init_constants();
|
|
299
|
-
init_background();
|
|
300
|
-
useSignInStore = create()((set) => ({
|
|
301
|
-
unregistered: false,
|
|
302
|
-
setUnregistered() {
|
|
303
|
-
set({ unregistered: true });
|
|
304
|
-
}
|
|
305
|
-
}));
|
|
306
|
-
SignIn = (props) => {
|
|
307
|
-
const { extra } = props;
|
|
308
|
-
const { unregistered } = useSignInStore();
|
|
309
|
-
const {
|
|
310
|
-
title: { text }
|
|
311
|
-
} = useToolkitsStore((s) => s);
|
|
312
|
-
const queryParams = new URLSearchParams(window.location.search);
|
|
313
|
-
const { token, setToken, axios: axios2, mainPagePath } = useToolkitsStore((state) => state);
|
|
314
|
-
const { t } = useTranslation();
|
|
315
|
-
const { isLoading } = useSWR6(
|
|
316
|
-
queryParams.has("ticket") ? `/api/usystem/user/login?ticket=${queryParams.get("ticket")}` : null,
|
|
317
|
-
(url4) => axios2.get(url4).then((res) => res.data.data),
|
|
318
|
-
{
|
|
319
|
-
onSuccess: (data) => {
|
|
320
|
-
if (data) {
|
|
321
|
-
setToken(data.token);
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
);
|
|
326
|
-
if (isLoading) {
|
|
327
|
-
return /* @__PURE__ */ jsx("div", { className: "w-screen h-screen flex justify-center items-center", children: /* @__PURE__ */ jsx(Spin, {}) });
|
|
328
|
-
}
|
|
329
|
-
if (token) {
|
|
330
|
-
const hashMode = !!window.location.hash;
|
|
331
|
-
const path = mainPagePath;
|
|
332
|
-
if (!hashMode) {
|
|
333
|
-
return /* @__PURE__ */ jsx(Navigate, { replace: true, to: mainPagePath });
|
|
334
|
-
}
|
|
335
|
-
window.location.href = `${window.location.origin}${window.location.pathname}#${path}`;
|
|
336
|
-
return null;
|
|
337
|
-
}
|
|
338
|
-
return /* @__PURE__ */ jsxs("div", { className: "w-screen h-screen relative flex overflow-hidden", children: [
|
|
339
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-16 right-16 z-10", children: extra }),
|
|
340
|
-
/* @__PURE__ */ jsx("div", { className: "absolute left-14 top-6", children: /* @__PURE__ */ jsxs(Space, { align: "center", children: [
|
|
341
|
-
/* @__PURE__ */ jsx(Logo_default, { width: 48 }),
|
|
342
|
-
/* @__PURE__ */ jsx("span", { className: "text-2xl font-bold", children: text })
|
|
343
|
-
] }) }),
|
|
344
|
-
/* @__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" }) }),
|
|
345
|
-
/* @__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: [
|
|
346
|
-
/* @__PURE__ */ jsx("div", { className: "h-10", children: unregistered && /* @__PURE__ */ jsx(Alert, { banner: true, closable: true, message: t("SignIn.unregistered"), type: "error" }) }),
|
|
347
|
-
/* @__PURE__ */ jsx(Typography.Title, { level: 2, children: t("SignIn.welcome") }),
|
|
348
|
-
/* @__PURE__ */ jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxs(Form, { layout: "vertical", autoComplete: "off", children: [
|
|
349
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.username"), name: "username", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, {}) }),
|
|
350
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.password"), name: "password", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input.Password, {}) }),
|
|
351
|
-
/* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsx(Button, { block: true, type: "primary", shape: "round", htmlType: "submit", children: t("global.signIn") }) })
|
|
352
|
-
] }) }),
|
|
353
|
-
/* @__PURE__ */ jsx(Divider, { plain: true, dashed: true, children: t("SignIn.thirdParty") }),
|
|
354
|
-
/* @__PURE__ */ jsx("div", { className: "flex justify-center items-center", children: /* @__PURE__ */ jsxs(
|
|
355
|
-
Button,
|
|
356
|
-
{
|
|
357
|
-
block: true,
|
|
358
|
-
shape: "round",
|
|
359
|
-
href: `${SSO_URL}/logout?service=${SSO_URL}/login?service=${window.location.href}`,
|
|
360
|
-
target: "_self",
|
|
361
|
-
children: [
|
|
362
|
-
/* @__PURE__ */ jsx(Logo_default, { width: 18 }),
|
|
363
|
-
t("SignIn.signInWithIDass")
|
|
364
|
-
]
|
|
365
|
-
}
|
|
366
|
-
) })
|
|
367
|
-
] }) }) }) })
|
|
368
|
-
] });
|
|
369
|
-
};
|
|
370
|
-
signIn_default = SignIn;
|
|
371
|
-
}
|
|
372
|
-
});
|
|
373
|
-
var requestInterceptorId, responseInterceptorId, Interceptors, Interceptors_default;
|
|
374
|
-
var init_Interceptors = __esm({
|
|
375
|
-
"src/components/interceptors/Interceptors.tsx"() {
|
|
376
|
-
init_constants();
|
|
377
|
-
init_signIn();
|
|
378
|
-
init_toolkitsProvider();
|
|
379
|
-
Interceptors = ({ children }) => {
|
|
380
|
-
const { notification } = App.useApp();
|
|
381
|
-
const { axios: axios2, interceptors, token, isGlobal, signInPath, gameId, clearToken, permissionVersion } = useToolkitsStore(
|
|
382
|
-
(s) => s
|
|
383
|
-
);
|
|
384
|
-
const { setUnregistered } = useSignInStore();
|
|
385
|
-
const navigate = useNavigate();
|
|
386
|
-
axios2.interceptors.request.eject(requestInterceptorId);
|
|
387
|
-
axios2.interceptors.response.eject(responseInterceptorId);
|
|
388
|
-
if (interceptors?.request) {
|
|
389
|
-
requestInterceptorId = axios2.interceptors.request.use(...interceptors.request);
|
|
390
|
-
} else {
|
|
391
|
-
requestInterceptorId = axios2.interceptors.request.use((config) => {
|
|
392
|
-
if (config.skipRequestInterceptor) {
|
|
393
|
-
return config;
|
|
394
|
-
}
|
|
395
|
-
const headers = new AxiosHeaders(config.headers);
|
|
396
|
-
config.responseType = config.responseType || "json";
|
|
397
|
-
if (token) {
|
|
398
|
-
headers.setAuthorization(`Bearer ${token}`);
|
|
399
|
-
}
|
|
400
|
-
if (!headers.has(APP_ID_HEADER) && permissionVersion !== "v1" /* V1 */) {
|
|
401
|
-
if (isGlobal || !gameId) {
|
|
402
|
-
headers.set(APP_ID_HEADER, "global");
|
|
403
|
-
} else {
|
|
404
|
-
headers.set(APP_ID_HEADER, gameId);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
headers.set("Accept", config.responseType === "blob" ? "application/octet-stream" : "application/json");
|
|
408
|
-
config.headers = headers;
|
|
409
|
-
return config;
|
|
410
|
-
});
|
|
411
|
-
}
|
|
412
|
-
if (interceptors?.response) {
|
|
413
|
-
responseInterceptorId = axios2.interceptors.response.use(...interceptors.response);
|
|
414
|
-
} else {
|
|
415
|
-
responseInterceptorId = axios2.interceptors.response.use(
|
|
416
|
-
(response) => {
|
|
417
|
-
if (response.config.skipResponseInterceptor) {
|
|
418
|
-
return response;
|
|
419
|
-
}
|
|
420
|
-
const responseType = response.request.responseType || "json";
|
|
421
|
-
if (responseType === "json") {
|
|
422
|
-
const data = response.data;
|
|
423
|
-
if (data.code === 0 || data.code === 1 || data.code === 200 || data.status === 0 || data.errno === 0) {
|
|
424
|
-
return response;
|
|
425
|
-
} else {
|
|
426
|
-
notification.error({
|
|
427
|
-
message: "Request failed",
|
|
428
|
-
description: data.msg
|
|
429
|
-
});
|
|
430
|
-
throw new Error(data.msg);
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
return response;
|
|
434
|
-
},
|
|
435
|
-
(error) => {
|
|
436
|
-
if (isAxiosError(error)) {
|
|
437
|
-
const response = error.response;
|
|
438
|
-
if (!response) {
|
|
439
|
-
throw error;
|
|
440
|
-
}
|
|
441
|
-
if (response.status === 401 || response.status === 412) {
|
|
442
|
-
clearToken?.();
|
|
443
|
-
if (response.status === 412) {
|
|
444
|
-
setUnregistered();
|
|
445
|
-
}
|
|
446
|
-
navigate(signInPath);
|
|
447
|
-
} else if (response.status === 403) {
|
|
448
|
-
notification.error({
|
|
449
|
-
message: "Forbidden",
|
|
450
|
-
description: "You do not have permission to access this resource."
|
|
451
|
-
});
|
|
452
|
-
} else {
|
|
453
|
-
notification.error({
|
|
454
|
-
message: "Request failed",
|
|
455
|
-
description: response.data.msg
|
|
456
|
-
});
|
|
457
|
-
throw new Error(response.data.msg);
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
throw error;
|
|
461
|
-
}
|
|
462
|
-
);
|
|
463
|
-
}
|
|
464
|
-
return children;
|
|
465
|
-
};
|
|
466
|
-
Interceptors_default = Interceptors;
|
|
467
|
-
}
|
|
468
|
-
});
|
|
469
|
-
|
|
470
|
-
// src/components/interceptors/index.ts
|
|
471
|
-
var init_interceptors = __esm({
|
|
472
|
-
"src/components/interceptors/index.ts"() {
|
|
473
|
-
init_Interceptors();
|
|
474
|
-
}
|
|
475
|
-
});
|
|
476
|
-
function useToolkitsStore(selector) {
|
|
477
|
-
const store = useContext(ToolkitsContext);
|
|
478
|
-
if (!store) throw new Error("Missing ToolkitsProvider in the tree");
|
|
479
|
-
return useStore(store, selector);
|
|
480
|
-
}
|
|
481
|
-
var ToolkitsContext, ToolkitsProvider, withContext, ToolkitsProvider_default;
|
|
482
|
-
var init_ToolkitsProvider = __esm({
|
|
483
|
-
"src/components/toolkitsProvider/ToolkitsProvider.tsx"() {
|
|
484
|
-
init_stores();
|
|
485
|
-
init_interceptors();
|
|
486
|
-
ToolkitsContext = createContext(null);
|
|
487
|
-
ToolkitsProvider = (props) => {
|
|
488
|
-
const { children, ...restProps } = props;
|
|
489
|
-
const storeRef = useRef();
|
|
490
|
-
const parentState = useContext(ToolkitsContext)?.getState();
|
|
491
|
-
if (!storeRef.current) {
|
|
492
|
-
storeRef.current = createToolkitsStore({ ...parentState, ...restProps });
|
|
493
|
-
}
|
|
494
|
-
if (!storeRef.current.getState().signInPath) {
|
|
495
|
-
throw new Error('ToolkitsProvider: \u8BF7\u914D\u7F6E "signInPath"');
|
|
496
|
-
}
|
|
497
|
-
return /* @__PURE__ */ jsx(ToolkitsContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ jsx(App, { children: /* @__PURE__ */ jsx(Interceptors_default, { children }) }) });
|
|
498
|
-
};
|
|
499
|
-
withContext = (Component, providerProps) => {
|
|
500
|
-
return (props) => {
|
|
501
|
-
return /* @__PURE__ */ jsx(ToolkitsProvider, { ...providerProps, children: /* @__PURE__ */ jsx(Component, { ...props }) });
|
|
502
|
-
};
|
|
503
|
-
};
|
|
504
|
-
if (process.env.NODE_ENV !== "production") {
|
|
505
|
-
ToolkitsProvider.displayName = "ToolkitsProvider";
|
|
506
|
-
}
|
|
507
|
-
ToolkitsProvider_default = ToolkitsProvider;
|
|
508
|
-
}
|
|
509
|
-
});
|
|
510
|
-
|
|
511
|
-
// src/components/toolkitsProvider/index.ts
|
|
512
|
-
var init_toolkitsProvider = __esm({
|
|
513
|
-
"src/components/toolkitsProvider/index.ts"() {
|
|
514
|
-
init_ToolkitsProvider();
|
|
515
|
-
}
|
|
516
|
-
});
|
|
517
|
-
function useTranslation() {
|
|
518
|
-
const locale2 = useToolkitsStore((state) => state.locale);
|
|
519
|
-
const t = useMemo(
|
|
520
|
-
() => (key, data) => has(locale2, key) ? template(get(locale2, key))(data) : key,
|
|
521
|
-
[locale2]
|
|
522
|
-
);
|
|
523
|
-
return { t };
|
|
524
|
-
}
|
|
525
|
-
var init_hooks = __esm({
|
|
526
|
-
"src/components/locale/hooks.ts"() {
|
|
527
|
-
init_toolkitsProvider();
|
|
528
|
-
}
|
|
529
|
-
});
|
|
530
|
-
|
|
531
|
-
// src/components/locale/index.ts
|
|
532
|
-
var init_locale = __esm({
|
|
533
|
-
"src/components/locale/index.ts"() {
|
|
534
|
-
init_hooks();
|
|
535
|
-
}
|
|
536
|
-
});
|
|
537
|
-
var FilterFormWrapper, FilterFormWrapper_default;
|
|
538
|
-
var init_FilterFormWrapper = __esm({
|
|
539
|
-
"src/components/filterFormWrapper/FilterFormWrapper.tsx"() {
|
|
540
|
-
init_locale();
|
|
541
|
-
FilterFormWrapper = (props) => {
|
|
542
|
-
const { extras, isConfirming, onConfirm, onReset, children, buttonsAlign = "left", showReset } = props;
|
|
543
|
-
const { t } = useTranslation();
|
|
544
|
-
const {
|
|
545
|
-
token: { colorFillAlter, lineWidth, lineType, colorBorder, borderRadiusLG }
|
|
546
|
-
} = theme.useToken();
|
|
547
|
-
const style = {
|
|
548
|
-
maxWidth: "none",
|
|
549
|
-
background: colorFillAlter,
|
|
550
|
-
borderWidth: lineWidth,
|
|
551
|
-
borderStyle: lineType,
|
|
552
|
-
borderColor: colorBorder,
|
|
553
|
-
borderRadius: borderRadiusLG,
|
|
554
|
-
padding: 24,
|
|
555
|
-
marginBottom: 24
|
|
556
|
-
};
|
|
557
|
-
return /* @__PURE__ */ jsx("div", { style, children: /* @__PURE__ */ jsxs("div", { className: `flex ${buttonsAlign === "bottom" ? "flex-col" : "flex-row"}`, children: [
|
|
558
|
-
/* @__PURE__ */ jsx("div", { className: `${buttonsAlign === "left" ? "flex-grow-0" : "flex-1"}`, children }),
|
|
559
|
-
/* @__PURE__ */ jsx("div", { className: `${buttonsAlign === "bottom" ? "text-end" : "text-start"} ml-4`, children: /* @__PURE__ */ jsxs(Space, { children: [
|
|
560
|
-
/* @__PURE__ */ jsx(Button, { type: "primary", loading: isConfirming, onClick: onConfirm, children: t("FilterFormWrapper.confirmText") }),
|
|
561
|
-
extras?.map((item) => /* @__PURE__ */ jsx(Fragment$1, { children: item.children }, item.key)),
|
|
562
|
-
showReset && /* @__PURE__ */ jsx(Button, { onClick: onReset, children: t("FilterFormWrapper.resetText") })
|
|
563
|
-
] }) })
|
|
564
|
-
] }) });
|
|
565
|
-
};
|
|
566
|
-
FilterFormWrapper_default = FilterFormWrapper;
|
|
567
|
-
}
|
|
568
|
-
});
|
|
569
|
-
|
|
570
|
-
// src/components/filterFormWrapper/index.ts
|
|
571
|
-
var init_filterFormWrapper = __esm({
|
|
572
|
-
"src/components/filterFormWrapper/index.ts"() {
|
|
573
|
-
init_FilterFormWrapper();
|
|
574
|
-
}
|
|
575
|
-
});
|
|
576
|
-
function renderToString(node) {
|
|
577
|
-
const container = document.createElement("div");
|
|
578
|
-
const root = createRoot(container);
|
|
579
|
-
return new Promise((resolve) => {
|
|
580
|
-
setTimeout(() => {
|
|
581
|
-
flushSync(() => {
|
|
582
|
-
root.render(node);
|
|
583
|
-
});
|
|
584
|
-
resolve(container.innerHTML);
|
|
585
|
-
});
|
|
586
|
-
});
|
|
587
|
-
}
|
|
588
|
-
var splitByTags, Highlight, Highlight_default;
|
|
589
|
-
var init_Highlight = __esm({
|
|
590
|
-
"src/components/highlight/Highlight.tsx"() {
|
|
591
|
-
splitByTags = (str) => {
|
|
592
|
-
const regex = /(<[^>]*>)/;
|
|
593
|
-
return str.split(regex).filter((part) => part !== "");
|
|
594
|
-
};
|
|
595
|
-
Highlight = (props) => {
|
|
596
|
-
const { texts, children } = props;
|
|
597
|
-
const [htmlString, setHtmlString] = useState("");
|
|
598
|
-
useEffect(() => {
|
|
599
|
-
renderToString(children).then((str) => {
|
|
600
|
-
const result = splitByTags(str);
|
|
601
|
-
for (const text of texts) {
|
|
602
|
-
for (let index = 0; index < result.length; index++) {
|
|
603
|
-
result[index] = result[index].replace(String(text), `<span style='color: #DC143C;'>${text}</span>`);
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
setHtmlString(result.join(""));
|
|
607
|
-
});
|
|
608
|
-
}, [children, texts]);
|
|
609
|
-
return /* @__PURE__ */ jsx("div", { dangerouslySetInnerHTML: { __html: htmlString } });
|
|
610
|
-
};
|
|
611
|
-
Highlight_default = Highlight;
|
|
612
|
-
}
|
|
613
|
-
});
|
|
614
|
-
|
|
615
|
-
// src/components/highlight/index.ts
|
|
616
|
-
var init_highlight = __esm({
|
|
617
|
-
"src/components/highlight/index.ts"() {
|
|
618
|
-
init_Highlight();
|
|
619
|
-
}
|
|
620
|
-
});
|
|
621
|
-
function usePermission(code, config) {
|
|
622
|
-
const { axios: axios2, permissionVersion } = useToolkitsStore((s) => s);
|
|
623
|
-
const url4 = permissionVersion !== "v1" /* V1 */ ? "/api/usystem/user/checkV2" : "/api/usystem/user/check";
|
|
624
|
-
const permissionCodes = typeof code !== "undefined" ? typeof code === "string" ? [code] : code : [];
|
|
625
|
-
const body = { permissions: permissionCodes };
|
|
626
|
-
const { data, ...rest } = useSWR6(
|
|
627
|
-
permissionCodes.length > 0 ? [url4, body, config] : null,
|
|
628
|
-
(args) => axios2.post(...args).then((response) => response.data.data)
|
|
629
|
-
);
|
|
630
|
-
let newData = true;
|
|
631
|
-
if (typeof code === "string") {
|
|
632
|
-
newData = data?.has_all ? true : data?.[code] ?? false;
|
|
633
|
-
} else if (Array.isArray(code) && code.length > 0) {
|
|
634
|
-
newData = permissionCodes.reduce((acc, curr) => {
|
|
635
|
-
acc[curr] = data?.has_all ? true : data?.[curr] ?? false;
|
|
636
|
-
return acc;
|
|
637
|
-
}, {});
|
|
638
|
-
}
|
|
639
|
-
return {
|
|
640
|
-
...rest,
|
|
641
|
-
data: newData
|
|
642
|
-
};
|
|
643
|
-
}
|
|
644
|
-
function useMenuList() {
|
|
645
|
-
const { signInPath, axios: axios2, gameId } = useToolkitsStore((s) => s);
|
|
646
|
-
return useSWR6(
|
|
647
|
-
window.location.pathname !== signInPath ? { url: "/api/usystem/menu/navbar", headers: { [APP_ID_HEADER]: gameId } } : null,
|
|
648
|
-
({ url: url4, headers }) => axios2(url4, { headers }).then((response) => response.data.data)
|
|
649
|
-
);
|
|
650
|
-
}
|
|
651
|
-
var init_hooks2 = __esm({
|
|
652
|
-
"src/hooks/index.ts"() {
|
|
653
|
-
init_toolkitsProvider();
|
|
654
|
-
init_constants();
|
|
655
|
-
}
|
|
656
|
-
});
|
|
657
|
-
var useGames, useFindGame;
|
|
658
|
-
var init_hooks3 = __esm({
|
|
659
|
-
"src/components/layout/hooks.ts"() {
|
|
660
|
-
init_toolkitsProvider();
|
|
661
|
-
useGames = () => {
|
|
662
|
-
const { axios: axios2, gameApiV2, permissionVersion } = useToolkitsStore((s) => s);
|
|
663
|
-
return useSWR6(
|
|
664
|
-
permissionVersion !== "v1" /* V1 */ ? gameApiV2 ? "/api/game/list" : "/api/usystem/game/all" : null,
|
|
665
|
-
async (url4) => {
|
|
666
|
-
if (gameApiV2) {
|
|
667
|
-
const response = await axios2(url4);
|
|
668
|
-
return response.data.data.list ?? [];
|
|
669
|
-
} else {
|
|
670
|
-
const response = await axios2(url4);
|
|
671
|
-
return response.data.data ?? [];
|
|
672
|
-
}
|
|
673
|
-
}
|
|
674
|
-
);
|
|
675
|
-
};
|
|
676
|
-
useFindGame = (id2) => {
|
|
677
|
-
const { data } = useGames();
|
|
678
|
-
const { gameApiV2 } = useToolkitsStore((s) => s);
|
|
679
|
-
return data?.find((item) => String(gameApiV2 ? item.game_id : item.id) === String(id2));
|
|
680
|
-
};
|
|
681
|
-
}
|
|
682
|
-
});
|
|
683
|
-
var useNavStore;
|
|
684
|
-
var init_stores2 = __esm({
|
|
685
|
-
"src/components/navMenu/stores.ts"() {
|
|
686
|
-
useNavStore = create()(
|
|
687
|
-
persist(
|
|
688
|
-
(set) => ({
|
|
689
|
-
openKeys: [],
|
|
690
|
-
setOpenKeys: (keys) => set({ openKeys: keys }),
|
|
691
|
-
selectedKeys: [],
|
|
692
|
-
setSelectedKeys: (keys) => set({ selectedKeys: keys })
|
|
693
|
-
}),
|
|
694
|
-
{
|
|
695
|
-
name: "nav",
|
|
696
|
-
storage: createJSONStorage(() => localStorage),
|
|
697
|
-
partialize: (state) => ({
|
|
698
|
-
openKeys: state.openKeys,
|
|
699
|
-
selectedKeys: state.selectedKeys
|
|
700
|
-
})
|
|
701
|
-
}
|
|
702
|
-
)
|
|
703
|
-
);
|
|
704
|
-
}
|
|
705
|
-
});
|
|
706
|
-
function transformItems(items) {
|
|
707
|
-
const result = [];
|
|
708
|
-
if (items) {
|
|
709
|
-
for (let i = 0; i < items.length; i++) {
|
|
710
|
-
if (items[i] === null || items[i].type === "divider") {
|
|
711
|
-
result[i] = items[i];
|
|
712
|
-
} else if (items[i].children) {
|
|
713
|
-
const { children, ...rest } = items[i];
|
|
714
|
-
result[i] = {
|
|
715
|
-
...rest,
|
|
716
|
-
children: transformItems(children)
|
|
717
|
-
};
|
|
718
|
-
} else {
|
|
719
|
-
const { route, label, ...rest } = items[i];
|
|
720
|
-
const labelNode = route ? /* @__PURE__ */ jsx(Link, { to: route, children: label }) : label;
|
|
721
|
-
result[i] = {
|
|
722
|
-
...rest,
|
|
723
|
-
label: labelNode
|
|
724
|
-
};
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
return result;
|
|
729
|
-
}
|
|
730
|
-
function flatItems(items, result = [], keypath = []) {
|
|
731
|
-
for (const item of items) {
|
|
732
|
-
const children = item?.children;
|
|
733
|
-
if (Array.isArray(children)) {
|
|
734
|
-
const keys = item.type !== "group" && item.key ? [...keypath, item.key] : keypath;
|
|
735
|
-
flatItems(children, result, keys);
|
|
736
|
-
} else if (item) {
|
|
737
|
-
result.push(Object.assign(item, { keypath }));
|
|
738
|
-
}
|
|
739
|
-
}
|
|
740
|
-
return result;
|
|
741
|
-
}
|
|
742
|
-
var init_utils2 = __esm({
|
|
743
|
-
"src/components/navMenu/utils.tsx"() {
|
|
744
|
-
}
|
|
745
|
-
});
|
|
746
|
-
var NavMenu, NavMenu_default;
|
|
747
|
-
var init_NavMenu = __esm({
|
|
748
|
-
"src/components/navMenu/NavMenu.tsx"() {
|
|
749
|
-
init_stores2();
|
|
750
|
-
init_utils2();
|
|
751
|
-
NavMenu = memo(function NavMenu2(props) {
|
|
752
|
-
const { items, theme: theme4, loading } = props;
|
|
753
|
-
const location = useLocation();
|
|
754
|
-
const flattenItems = useMemo(() => flatItems(items ?? []), [items]);
|
|
755
|
-
const internalItems = useMemo(() => transformItems(items ?? []), [items]);
|
|
756
|
-
const { openKeys, selectedKeys, setOpenKeys, setSelectedKeys } = useNavStore();
|
|
757
|
-
const onOpenChange = useCallback(
|
|
758
|
-
(keys) => {
|
|
759
|
-
const lastOpenKey = keys?.find((key) => openKeys?.indexOf(key) === -1);
|
|
760
|
-
const match = flattenItems.find((item) => lastOpenKey === item.key);
|
|
761
|
-
setOpenKeys(match?.keypath ?? [lastOpenKey]);
|
|
762
|
-
},
|
|
763
|
-
[flattenItems, openKeys, setOpenKeys]
|
|
764
|
-
);
|
|
765
|
-
useEffect(() => {
|
|
766
|
-
const match = flattenItems.find((item) => location.pathname === item.route);
|
|
767
|
-
if (match) {
|
|
768
|
-
const key = match.key;
|
|
769
|
-
const keypath = match.keypath;
|
|
770
|
-
setSelectedKeys([key]);
|
|
771
|
-
setOpenKeys(keypath);
|
|
772
|
-
}
|
|
773
|
-
}, [flattenItems, location]);
|
|
774
|
-
if (loading) {
|
|
775
|
-
return /* @__PURE__ */ jsx("div", { className: "flex justify-center items-center", style: { height: "calc(100vh - 64px)" }, children: /* @__PURE__ */ jsx(Spin, {}) });
|
|
776
|
-
}
|
|
777
|
-
return /* @__PURE__ */ jsx(
|
|
778
|
-
Menu,
|
|
779
|
-
{
|
|
780
|
-
theme: theme4,
|
|
781
|
-
style: { borderRight: "none" },
|
|
782
|
-
items: internalItems,
|
|
783
|
-
mode: "inline",
|
|
784
|
-
openKeys,
|
|
785
|
-
selectedKeys,
|
|
786
|
-
onOpenChange
|
|
787
|
-
}
|
|
788
|
-
);
|
|
789
|
-
});
|
|
790
|
-
if (process.env.NODE_ENV === "development") {
|
|
791
|
-
NavMenu.displayName = "NavMenu";
|
|
792
|
-
}
|
|
793
|
-
NavMenu_default = NavMenu;
|
|
794
|
-
}
|
|
795
|
-
});
|
|
796
|
-
|
|
797
|
-
// src/components/navMenu/index.ts
|
|
798
|
-
var init_navMenu = __esm({
|
|
799
|
-
"src/components/navMenu/index.ts"() {
|
|
800
|
-
init_NavMenu();
|
|
801
|
-
}
|
|
802
|
-
});
|
|
803
|
-
var Spin4, RequireGame, RequireGame_default;
|
|
804
|
-
var init_RequireGame = __esm({
|
|
805
|
-
"src/components/requireGame/RequireGame.tsx"() {
|
|
806
|
-
init_layout();
|
|
807
|
-
init_locale();
|
|
808
|
-
init_toolkitsProvider();
|
|
809
|
-
({ Spin: Spin4 } = Antd2);
|
|
810
|
-
RequireGame = ({ children }) => {
|
|
811
|
-
const { permissionVersion, gameId, isGlobal } = useToolkitsStore((s) => s);
|
|
812
|
-
const { isLoading } = useGames();
|
|
813
|
-
const { t } = useTranslation();
|
|
814
|
-
if (isLoading) {
|
|
815
|
-
return /* @__PURE__ */ jsx(
|
|
816
|
-
"div",
|
|
817
|
-
{
|
|
818
|
-
style: {
|
|
819
|
-
display: "flex",
|
|
820
|
-
justifyContent: "center",
|
|
821
|
-
alignItems: "center",
|
|
822
|
-
height: 400
|
|
823
|
-
},
|
|
824
|
-
children: /* @__PURE__ */ jsx(Spin4, {})
|
|
825
|
-
}
|
|
826
|
-
);
|
|
827
|
-
}
|
|
828
|
-
if (permissionVersion === "v1" /* V1 */ || isGlobal) {
|
|
829
|
-
return children;
|
|
830
|
-
}
|
|
831
|
-
if (!gameId) {
|
|
832
|
-
return /* @__PURE__ */ jsx(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE, description: t("RequireGame.description") });
|
|
833
|
-
}
|
|
834
|
-
return /* @__PURE__ */ jsx(Fragment$1, { children }, gameId);
|
|
835
|
-
};
|
|
836
|
-
RequireGame_default = RequireGame;
|
|
837
|
-
}
|
|
838
|
-
});
|
|
839
|
-
|
|
840
|
-
// src/components/requireGame/index.ts
|
|
841
|
-
var init_requireGame = __esm({
|
|
842
|
-
"src/components/requireGame/index.ts"() {
|
|
843
|
-
init_RequireGame();
|
|
844
|
-
}
|
|
845
|
-
});
|
|
846
|
-
var UserWidget, UserWidget_default;
|
|
847
|
-
var init_UserWidget = __esm({
|
|
848
|
-
"src/components/userWidget/UserWidget.tsx"() {
|
|
849
|
-
init_locale();
|
|
850
|
-
init_toolkitsProvider();
|
|
851
|
-
UserWidget = () => {
|
|
852
|
-
const { t } = useTranslation();
|
|
853
|
-
const navigate = useNavigate();
|
|
854
|
-
const { clearToken, getUser, signInPath } = useToolkitsStore((s) => s);
|
|
855
|
-
const user = getUser();
|
|
856
|
-
const items = [
|
|
857
|
-
{
|
|
858
|
-
key: "1",
|
|
859
|
-
icon: /* @__PURE__ */ jsx(LogoutOutlined, {}),
|
|
860
|
-
label: /* @__PURE__ */ jsx(
|
|
861
|
-
"a",
|
|
862
|
-
{
|
|
863
|
-
onClick: () => {
|
|
864
|
-
clearToken();
|
|
865
|
-
navigate(signInPath);
|
|
866
|
-
},
|
|
867
|
-
children: t("UserWidget.signOutText")
|
|
868
|
-
}
|
|
869
|
-
)
|
|
870
|
-
}
|
|
871
|
-
];
|
|
872
|
-
return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
873
|
-
Dropdown,
|
|
874
|
-
{
|
|
875
|
-
menu: {
|
|
876
|
-
selectable: true,
|
|
877
|
-
items
|
|
878
|
-
},
|
|
879
|
-
placement: "bottomRight",
|
|
880
|
-
children: /* @__PURE__ */ jsx(
|
|
881
|
-
"a",
|
|
882
|
-
{
|
|
883
|
-
onClick: (e) => {
|
|
884
|
-
e.preventDefault();
|
|
885
|
-
},
|
|
886
|
-
children: /* @__PURE__ */ jsxs(Space, { align: "center", children: [
|
|
887
|
-
/* @__PURE__ */ jsx("span", { children: user?.authorityId }),
|
|
888
|
-
/* @__PURE__ */ jsx(UserOutlined, { style: { fontSize: "16px" } })
|
|
889
|
-
] })
|
|
890
|
-
}
|
|
891
|
-
)
|
|
892
|
-
}
|
|
893
|
-
) });
|
|
894
|
-
};
|
|
895
|
-
UserWidget_default = UserWidget;
|
|
896
|
-
}
|
|
897
|
-
});
|
|
898
|
-
|
|
899
|
-
// src/components/userWidget/index.ts
|
|
900
|
-
var init_userWidget = __esm({
|
|
901
|
-
"src/components/userWidget/index.ts"() {
|
|
902
|
-
init_UserWidget();
|
|
903
|
-
}
|
|
904
|
-
});
|
|
905
|
-
var Text, GameSelect, GameSelect_default;
|
|
906
|
-
var init_GameSelect = __esm({
|
|
907
|
-
"src/components/layout/GameSelect.tsx"() {
|
|
908
|
-
init_locale();
|
|
909
|
-
init_toolkitsProvider();
|
|
910
|
-
init_hooks3();
|
|
911
|
-
({ Text } = Typography);
|
|
912
|
-
GameSelect = (props) => {
|
|
913
|
-
const { filter, options } = props;
|
|
914
|
-
const { t } = useTranslation();
|
|
915
|
-
const { gameApiV2, gameId, setGameId } = useToolkitsStore((s) => s);
|
|
916
|
-
const { data, isLoading } = useGames();
|
|
917
|
-
const { cache } = useSWRConfig();
|
|
918
|
-
const filteredData = data?.filter((item) => filter?.(item) ?? true);
|
|
919
|
-
const _options = typeof options === "function" ? options(filteredData) : filteredData?.map((item) => ({
|
|
920
|
-
label: item.name,
|
|
921
|
-
value: gameApiV2 ? item.game_id : item.id
|
|
922
|
-
}));
|
|
923
|
-
const onChange = (value) => {
|
|
924
|
-
clearCache();
|
|
925
|
-
setGameId(value);
|
|
926
|
-
};
|
|
927
|
-
const clearCache = () => {
|
|
928
|
-
for (const key of cache.keys()) {
|
|
929
|
-
if (key !== "/api/game/list" && key !== "/api/usystem/game/all") {
|
|
930
|
-
cache.delete(key);
|
|
931
|
-
}
|
|
932
|
-
}
|
|
933
|
-
};
|
|
934
|
-
useEffect(() => {
|
|
935
|
-
if (data && data.length > 0) {
|
|
936
|
-
const firstId = gameApiV2 ? data[0].game_id : data[0].id;
|
|
937
|
-
if (data.every((item) => String(item.game_id || item.id) !== String(gameId))) {
|
|
938
|
-
setGameId(firstId);
|
|
939
|
-
}
|
|
940
|
-
}
|
|
941
|
-
}, [data]);
|
|
942
|
-
return /* @__PURE__ */ jsxs(Space, { children: [
|
|
943
|
-
/* @__PURE__ */ jsx(Text, { children: t("GameSelect.label") }),
|
|
944
|
-
/* @__PURE__ */ jsx(
|
|
945
|
-
Select,
|
|
946
|
-
{
|
|
947
|
-
showSearch: true,
|
|
948
|
-
optionFilterProp: "label",
|
|
949
|
-
value: gameId,
|
|
950
|
-
placeholder: t("GameSelect.placeholder"),
|
|
951
|
-
loading: isLoading,
|
|
952
|
-
style: { width: "200px" },
|
|
953
|
-
options: _options,
|
|
954
|
-
onChange
|
|
955
|
-
}
|
|
956
|
-
)
|
|
957
|
-
] });
|
|
958
|
-
};
|
|
959
|
-
GameSelect_default = GameSelect;
|
|
960
|
-
}
|
|
961
|
-
});
|
|
962
|
-
var Spin5, theme3, Header, Sider, Content, Layout2, Layout_default;
|
|
963
|
-
var init_Layout = __esm({
|
|
964
|
-
"src/components/layout/Layout.tsx"() {
|
|
965
|
-
init_logo();
|
|
966
|
-
init_navMenu();
|
|
967
|
-
init_requireGame();
|
|
968
|
-
init_toolkitsProvider();
|
|
969
|
-
init_userWidget();
|
|
970
|
-
init_GameSelect();
|
|
971
|
-
({ Spin: Spin5, theme: theme3 } = Antd2);
|
|
972
|
-
({ Header, Sider, Content } = Antd2.Layout);
|
|
973
|
-
Layout2 = (props) => {
|
|
974
|
-
const {
|
|
975
|
-
collapsible,
|
|
976
|
-
isMenuLoading,
|
|
977
|
-
items,
|
|
978
|
-
headerExtra,
|
|
979
|
-
children,
|
|
980
|
-
navWidth,
|
|
981
|
-
hideGameSelect,
|
|
982
|
-
filter,
|
|
983
|
-
gameSelectOptions
|
|
984
|
-
} = props;
|
|
985
|
-
const {
|
|
986
|
-
token: { colorBgContainer, colorBorder }
|
|
987
|
-
} = theme3.useToken();
|
|
988
|
-
const {
|
|
989
|
-
permissionVersion,
|
|
990
|
-
title: { text, fontSize },
|
|
991
|
-
navWidth: globalNavWidth,
|
|
992
|
-
collapsible: globalCollapsible,
|
|
993
|
-
mainPagePath,
|
|
994
|
-
collapsed,
|
|
995
|
-
setContext
|
|
996
|
-
} = useToolkitsStore((s) => s);
|
|
997
|
-
const [internalCollapsed, setInternalCollapsed] = useState(collapsed);
|
|
998
|
-
const onCollapse = async () => {
|
|
999
|
-
setInternalCollapsed(!internalCollapsed);
|
|
1000
|
-
setContext({ collapsed: !internalCollapsed });
|
|
1001
|
-
};
|
|
1002
|
-
const internalCollapsible = collapsible ?? globalCollapsible ?? false;
|
|
1003
|
-
return /* @__PURE__ */ jsxs(Antd2.Layout, { children: [
|
|
1004
|
-
/* @__PURE__ */ jsxs(
|
|
1005
|
-
Sider,
|
|
1006
|
-
{
|
|
1007
|
-
collapsible: internalCollapsible,
|
|
1008
|
-
theme: "light",
|
|
1009
|
-
trigger: null,
|
|
1010
|
-
collapsed: internalCollapsed,
|
|
1011
|
-
width: navWidth ?? globalNavWidth,
|
|
1012
|
-
style: {
|
|
1013
|
-
height: "100vh",
|
|
1014
|
-
overflowX: "hidden",
|
|
1015
|
-
overflowY: "auto",
|
|
1016
|
-
borderRightWidth: 1,
|
|
1017
|
-
borderRightStyle: "solid",
|
|
1018
|
-
borderRightColor: colorBorder
|
|
1019
|
-
},
|
|
1020
|
-
children: [
|
|
1021
|
-
/* @__PURE__ */ jsx(Link, { to: mainPagePath, children: /* @__PURE__ */ jsxs("div", { className: "flex px-6 py-4 font-bold", children: [
|
|
1022
|
-
/* @__PURE__ */ jsx(Logo_default, { width: 32, height: 32 }),
|
|
1023
|
-
/* @__PURE__ */ jsx(
|
|
1024
|
-
"div",
|
|
1025
|
-
{
|
|
1026
|
-
className: `h-8 flex items-center ml-2 collapse-text ${internalCollapsed ? "opacity-0" : "animate__fadeIn delay-200"} `,
|
|
1027
|
-
style: { fontSize },
|
|
1028
|
-
children: text
|
|
1029
|
-
}
|
|
1030
|
-
)
|
|
1031
|
-
] }) }),
|
|
1032
|
-
/* @__PURE__ */ jsx(NavMenu_default, { items, loading: isMenuLoading })
|
|
1033
|
-
]
|
|
1034
|
-
}
|
|
1035
|
-
),
|
|
1036
|
-
/* @__PURE__ */ jsxs(Antd2.Layout, { children: [
|
|
1037
|
-
/* @__PURE__ */ jsx(
|
|
1038
|
-
Header,
|
|
1039
|
-
{
|
|
1040
|
-
style: {
|
|
1041
|
-
padding: "0 24px",
|
|
1042
|
-
background: colorBgContainer
|
|
1043
|
-
},
|
|
1044
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center h-full", children: [
|
|
1045
|
-
/* @__PURE__ */ jsxs(Space, { size: "small", split: /* @__PURE__ */ jsx(Divider, { type: "vertical" }), className: "mr-6", children: [
|
|
1046
|
-
internalCollapsible && /* @__PURE__ */ jsx(
|
|
1047
|
-
Button,
|
|
1048
|
-
{
|
|
1049
|
-
type: "text",
|
|
1050
|
-
icon: internalCollapsed ? /* @__PURE__ */ jsx(MenuUnfoldOutlined, {}) : /* @__PURE__ */ jsx(MenuFoldOutlined, {}),
|
|
1051
|
-
style: { fontSize: "16px" },
|
|
1052
|
-
onClick: onCollapse
|
|
1053
|
-
}
|
|
1054
|
-
),
|
|
1055
|
-
permissionVersion !== "v1" /* V1 */ && !hideGameSelect && /* @__PURE__ */ jsx(GameSelect_default, { filter, options: gameSelectOptions }),
|
|
1056
|
-
headerExtra?.left?.map((extra) => /* @__PURE__ */ jsx("span", { children: extra.children }, extra.key))
|
|
1057
|
-
] }),
|
|
1058
|
-
/* @__PURE__ */ jsxs(Space, { size: "small", split: /* @__PURE__ */ jsx(Divider, { type: "vertical" }), children: [
|
|
1059
|
-
headerExtra?.right?.map((extra) => /* @__PURE__ */ jsx("span", { children: extra.children }, extra.key)),
|
|
1060
|
-
/* @__PURE__ */ jsx(UserWidget_default, {})
|
|
1061
|
-
] })
|
|
1062
|
-
] })
|
|
1063
|
-
}
|
|
1064
|
-
),
|
|
1065
|
-
/* @__PURE__ */ jsx(
|
|
1066
|
-
Content,
|
|
1067
|
-
{
|
|
1068
|
-
style: {
|
|
1069
|
-
overflow: "auto",
|
|
1070
|
-
padding: "24px 16px",
|
|
1071
|
-
maxHeight: "calc(100vh - 64px)"
|
|
1072
|
-
},
|
|
1073
|
-
children: /* @__PURE__ */ jsx(
|
|
1074
|
-
Suspense,
|
|
1075
|
-
{
|
|
1076
|
-
fallback: /* @__PURE__ */ jsx(
|
|
1077
|
-
Spin5,
|
|
1078
|
-
{
|
|
1079
|
-
style: {
|
|
1080
|
-
display: "flex",
|
|
1081
|
-
justifyContent: "center",
|
|
1082
|
-
alignItems: "center",
|
|
1083
|
-
height: "200px"
|
|
1084
|
-
}
|
|
1085
|
-
}
|
|
1086
|
-
),
|
|
1087
|
-
children: /* @__PURE__ */ jsx(RequireGame_default, { children })
|
|
1088
|
-
}
|
|
1089
|
-
)
|
|
1090
|
-
}
|
|
1091
|
-
)
|
|
1092
|
-
] })
|
|
1093
|
-
] });
|
|
1094
|
-
};
|
|
1095
|
-
Layout_default = Layout2;
|
|
1096
|
-
}
|
|
1097
|
-
});
|
|
1098
|
-
|
|
1099
|
-
// src/components/layout/types.ts
|
|
1100
|
-
var init_types = __esm({
|
|
1101
|
-
"src/components/layout/types.ts"() {
|
|
1102
|
-
}
|
|
1103
|
-
});
|
|
1104
|
-
|
|
1105
|
-
// src/components/layout/index.ts
|
|
1106
|
-
var init_layout = __esm({
|
|
1107
|
-
"src/components/layout/index.ts"() {
|
|
1108
|
-
init_hooks3();
|
|
1109
|
-
init_Layout();
|
|
1110
|
-
init_types();
|
|
1111
|
-
}
|
|
1112
|
-
});
|
|
1113
|
-
var useModalStore;
|
|
1114
|
-
var init_stores3 = __esm({
|
|
1115
|
-
"src/components/modal/stores.ts"() {
|
|
1116
|
-
useModalStore = create((set, get2) => ({
|
|
1117
|
-
open: /* @__PURE__ */ new Map(),
|
|
1118
|
-
isOpen: (uuid) => get2().open.get(uuid) ?? false,
|
|
1119
|
-
show(uuid) {
|
|
1120
|
-
set({ open: new Map(get2().open).set(uuid, true) });
|
|
1121
|
-
},
|
|
1122
|
-
hide(uuid) {
|
|
1123
|
-
set({ open: new Map(get2().open).set(uuid, false) });
|
|
1124
|
-
},
|
|
1125
|
-
hideAll() {
|
|
1126
|
-
set({ open: /* @__PURE__ */ new Map() });
|
|
1127
|
-
}
|
|
1128
|
-
}));
|
|
1129
|
-
}
|
|
1130
|
-
});
|
|
1131
|
-
function useModal(props) {
|
|
1132
|
-
const { content, onConfirm, afterOpen, ...modalProps } = props;
|
|
1133
|
-
const _id = useMemo(() => ++id, []);
|
|
1134
|
-
const { show, hide, isOpen } = useModalStore();
|
|
1135
|
-
const open = isOpen(_id);
|
|
1136
|
-
const [confirmLoading, setConfirmLoading] = useState(false);
|
|
1137
|
-
const isRenderFunction = typeof content === "function";
|
|
1138
|
-
const _show = async () => {
|
|
1139
|
-
show(_id);
|
|
1140
|
-
await afterOpen?.();
|
|
1141
|
-
};
|
|
1142
|
-
const _hide = () => {
|
|
1143
|
-
hide(_id);
|
|
1144
|
-
};
|
|
1145
|
-
const onCancel = () => {
|
|
1146
|
-
_hide();
|
|
1147
|
-
};
|
|
1148
|
-
const onOk = async () => {
|
|
1149
|
-
try {
|
|
1150
|
-
setConfirmLoading(true);
|
|
1151
|
-
await onConfirm?.();
|
|
1152
|
-
_hide();
|
|
1153
|
-
} finally {
|
|
1154
|
-
setConfirmLoading(false);
|
|
1155
|
-
}
|
|
1156
|
-
};
|
|
1157
|
-
const internalModal = /* @__PURE__ */ jsx(Modal, { ...modalProps, open, confirmLoading, onOk, onCancel, children: isRenderFunction ? content({ hide: _hide }) : content });
|
|
1158
|
-
return {
|
|
1159
|
-
id: _id,
|
|
1160
|
-
show: _show,
|
|
1161
|
-
hide: _hide,
|
|
1162
|
-
modal: internalModal
|
|
1163
|
-
};
|
|
1164
|
-
}
|
|
1165
|
-
var id;
|
|
1166
|
-
var init_modal = __esm({
|
|
1167
|
-
"src/components/modal/modal.tsx"() {
|
|
1168
|
-
init_stores3();
|
|
1169
|
-
id = 0;
|
|
1170
|
-
}
|
|
1171
|
-
});
|
|
1172
|
-
function useFormModal(props) {
|
|
1173
|
-
const { content, form, formProps, onConfirm, onSuccess, ...modalProps } = props;
|
|
1174
|
-
const [internalExtraValues, setInternalExtraValues] = useState({});
|
|
1175
|
-
let [internalForm] = Form.useForm();
|
|
1176
|
-
internalForm = form || internalForm;
|
|
1177
|
-
const isRenderFunction = typeof content === "function";
|
|
1178
|
-
const hanldeConfirm = async () => {
|
|
1179
|
-
const values = await internalForm.validateFields();
|
|
1180
|
-
await onConfirm?.(values, internalExtraValues);
|
|
1181
|
-
onSuccess?.();
|
|
1182
|
-
hide();
|
|
1183
|
-
};
|
|
1184
|
-
const afterClose = () => {
|
|
1185
|
-
internalForm.resetFields();
|
|
1186
|
-
};
|
|
1187
|
-
const { id: id2, show, hide, modal } = useModal({
|
|
1188
|
-
...modalProps,
|
|
1189
|
-
content: (operation) => /* @__PURE__ */ jsx(Form, { ...formProps, form: internalForm, children: isRenderFunction ? content(internalExtraValues, operation) : content }),
|
|
1190
|
-
onConfirm: hanldeConfirm,
|
|
1191
|
-
afterClose
|
|
1192
|
-
});
|
|
1193
|
-
const onShow = (options) => {
|
|
1194
|
-
const { initialValues, extraValues } = options || {};
|
|
1195
|
-
if (extraValues) {
|
|
1196
|
-
setInternalExtraValues(extraValues);
|
|
1197
|
-
}
|
|
1198
|
-
if (initialValues) {
|
|
1199
|
-
internalForm.setFieldsValue(initialValues);
|
|
1200
|
-
}
|
|
1201
|
-
show();
|
|
1202
|
-
};
|
|
1203
|
-
return {
|
|
1204
|
-
id: id2,
|
|
1205
|
-
show: onShow,
|
|
1206
|
-
hide,
|
|
1207
|
-
modal
|
|
1208
|
-
};
|
|
1209
|
-
}
|
|
1210
|
-
var init_formModal = __esm({
|
|
1211
|
-
"src/components/modal/formModal.tsx"() {
|
|
1212
|
-
init_modal();
|
|
1213
|
-
}
|
|
1214
|
-
});
|
|
1215
|
-
|
|
1216
|
-
// src/components/modal/index.ts
|
|
1217
|
-
var init_modal2 = __esm({
|
|
1218
|
-
"src/components/modal/index.ts"() {
|
|
1219
|
-
init_formModal();
|
|
1220
|
-
init_modal();
|
|
1221
|
-
init_stores3();
|
|
1222
|
-
}
|
|
1223
|
-
});
|
|
1224
|
-
var PermissionButton, PermissionButton_default;
|
|
1225
|
-
var init_PermissionButton = __esm({
|
|
1226
|
-
"src/components/permissionButton/PermissionButton.tsx"() {
|
|
1227
|
-
init_hooks2();
|
|
1228
|
-
init_locale();
|
|
1229
|
-
PermissionButton = (props) => {
|
|
1230
|
-
const { children, code, showLoading, disabled, config, ...restProps } = props;
|
|
1231
|
-
const codes = code ? Array.isArray(code) ? code : [code] : [];
|
|
1232
|
-
const { data, isLoading } = usePermission(codes, config);
|
|
1233
|
-
const { t } = useTranslation();
|
|
1234
|
-
if (isLoading) {
|
|
1235
|
-
return /* @__PURE__ */ jsx(Button, { loading: showLoading, disabled: !showLoading, ...restProps, children });
|
|
1236
|
-
}
|
|
1237
|
-
if (typeof data === "boolean" || data && Object.values(data).some(Boolean)) {
|
|
1238
|
-
return /* @__PURE__ */ jsx(Button, { disabled, ...restProps, children });
|
|
1239
|
-
}
|
|
1240
|
-
return /* @__PURE__ */ jsx(Tooltip, { defaultOpen: false, title: t("global.noEntitlement"), children: /* @__PURE__ */ jsx(Button, { disabled: true, ...restProps, children }) });
|
|
1241
|
-
};
|
|
1242
|
-
PermissionButton_default = PermissionButton;
|
|
1243
|
-
}
|
|
1244
|
-
});
|
|
1245
|
-
|
|
1246
|
-
// src/components/permissionButton/index.ts
|
|
1247
|
-
var init_permissionButton = __esm({
|
|
1248
|
-
"src/components/permissionButton/index.ts"() {
|
|
1249
|
-
init_PermissionButton();
|
|
1250
|
-
}
|
|
1251
|
-
});
|
|
1252
|
-
var useQueryListStore;
|
|
1253
|
-
var init_stores4 = __esm({
|
|
1254
|
-
"src/components/queryList/stores.ts"() {
|
|
1255
|
-
useQueryListStore = create((set, get2) => ({
|
|
1256
|
-
keyMap: /* @__PURE__ */ new Map(),
|
|
1257
|
-
payloadMap: /* @__PURE__ */ new Map(),
|
|
1258
|
-
getPayload(key) {
|
|
1259
|
-
return get2().payloadMap.get(key) ?? { page: 1 };
|
|
1260
|
-
},
|
|
1261
|
-
setPayload(key, payload) {
|
|
1262
|
-
set((state) => ({
|
|
1263
|
-
payloadMap: new Map(state.payloadMap).set(key, payload)
|
|
1264
|
-
}));
|
|
1265
|
-
},
|
|
1266
|
-
refetch(key, payload) {
|
|
1267
|
-
const prevPayload = get2().getPayload(key);
|
|
1268
|
-
const nextPayload = { ...prevPayload, ...payload };
|
|
1269
|
-
if (isEqual(prevPayload, nextPayload)) {
|
|
1270
|
-
get2().mutate(key, void 0);
|
|
1271
|
-
} else {
|
|
1272
|
-
get2().setPayload(key, nextPayload);
|
|
1273
|
-
}
|
|
1274
|
-
},
|
|
1275
|
-
mutate(key, data, opts) {
|
|
1276
|
-
const swrKey = get2().keyMap.get(key);
|
|
1277
|
-
return mutate(swrKey, data, opts);
|
|
1278
|
-
}
|
|
1279
|
-
}));
|
|
1280
|
-
}
|
|
1281
|
-
});
|
|
1282
|
-
var QueryListAction, InternalQueryList, QueryList, QueryList_default;
|
|
1283
|
-
var init_QueryList = __esm({
|
|
1284
|
-
"src/components/queryList/QueryList.tsx"() {
|
|
1285
|
-
init_hooks2();
|
|
1286
|
-
init_filterFormWrapper();
|
|
1287
|
-
init_locale();
|
|
1288
|
-
init_toolkitsProvider();
|
|
1289
|
-
init_stores4();
|
|
1290
|
-
QueryListAction = /* @__PURE__ */ ((QueryListAction2) => {
|
|
1291
|
-
QueryListAction2[QueryListAction2["Confirm"] = 0] = "Confirm";
|
|
1292
|
-
QueryListAction2[QueryListAction2["Reset"] = 1] = "Reset";
|
|
1293
|
-
QueryListAction2[QueryListAction2["Jump"] = 2] = "Jump";
|
|
1294
|
-
QueryListAction2[QueryListAction2["Init"] = 3] = "Init";
|
|
1295
|
-
return QueryListAction2;
|
|
1296
|
-
})(QueryListAction || {});
|
|
1297
|
-
InternalQueryList = (props, ref) => {
|
|
1298
|
-
const internalProps = {
|
|
1299
|
-
method: "GET",
|
|
1300
|
-
defaultSize: 10,
|
|
1301
|
-
refreshInterval: 0,
|
|
1302
|
-
getTotal: (data2) => data2?.data?.total,
|
|
1303
|
-
getDataSource: (data2) => data2?.data?.list,
|
|
1304
|
-
...props
|
|
1305
|
-
};
|
|
1306
|
-
const {
|
|
1307
|
-
url: url4,
|
|
1308
|
-
code,
|
|
1309
|
-
headers,
|
|
1310
|
-
onePage,
|
|
1311
|
-
method,
|
|
1312
|
-
buttonsAlign,
|
|
1313
|
-
showReset,
|
|
1314
|
-
defaultSize,
|
|
1315
|
-
refreshInterval,
|
|
1316
|
-
tableExtra,
|
|
1317
|
-
form,
|
|
1318
|
-
body,
|
|
1319
|
-
params,
|
|
1320
|
-
renderForm,
|
|
1321
|
-
afterSuccess,
|
|
1322
|
-
getTotal,
|
|
1323
|
-
getDataSource,
|
|
1324
|
-
footer,
|
|
1325
|
-
pageSizeOptions,
|
|
1326
|
-
...tableProps
|
|
1327
|
-
} = internalProps;
|
|
1328
|
-
if (!url4) {
|
|
1329
|
-
throw new Error("url property is required");
|
|
1330
|
-
}
|
|
1331
|
-
const { t } = useTranslation();
|
|
1332
|
-
const [_form] = Form.useForm(form);
|
|
1333
|
-
const action = useRef(3 /* Init */);
|
|
1334
|
-
const { data: accessible, isLoading: isChecking } = usePermission(code);
|
|
1335
|
-
const [isValid, setIsValid] = useState(false);
|
|
1336
|
-
const { keyMap, getPayload, refetch } = useQueryListStore();
|
|
1337
|
-
const { page, size = defaultSize, formValue } = getPayload(url4);
|
|
1338
|
-
const payload = { page, size, formValue };
|
|
1339
|
-
const _body = typeof body === "function" ? body(payload) : typeof body === "undefined" ? method === "POST" ? {
|
|
1340
|
-
...formValue,
|
|
1341
|
-
page: !onePage ? page : void 0,
|
|
1342
|
-
size: !onePage ? size : void 0
|
|
1343
|
-
} : void 0 : body;
|
|
1344
|
-
const _params = typeof params === "function" ? params(payload) : typeof params === "undefined" ? method === "GET" ? {
|
|
1345
|
-
...formValue,
|
|
1346
|
-
page: !onePage ? page : void 0,
|
|
1347
|
-
size: !onePage ? size : void 0
|
|
1348
|
-
} : void 0 : params;
|
|
1349
|
-
const _headers = typeof headers === "function" ? headers(_form) : headers;
|
|
1350
|
-
const shouldPoll = useRef(false);
|
|
1351
|
-
const requestConfig = {
|
|
1352
|
-
url: url4,
|
|
1353
|
-
method,
|
|
1354
|
-
data: _body,
|
|
1355
|
-
params: _params,
|
|
1356
|
-
headers: _headers
|
|
1357
|
-
};
|
|
1358
|
-
const key = useMemo(() => {
|
|
1359
|
-
if (!accessible || !isValid) {
|
|
1360
|
-
return null;
|
|
1361
|
-
}
|
|
1362
|
-
const serializedKey = unstable_serialize(requestConfig);
|
|
1363
|
-
keyMap.set(url4, serializedKey);
|
|
1364
|
-
return serializedKey;
|
|
1365
|
-
}, [accessible, isValid, url4, requestConfig]);
|
|
1366
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1367
|
-
const { data, isLoading } = useSWR6(
|
|
1368
|
-
key,
|
|
1369
|
-
async () => {
|
|
1370
|
-
const response = await axios2.request(requestConfig);
|
|
1371
|
-
return response.data;
|
|
1372
|
-
},
|
|
1373
|
-
{
|
|
1374
|
-
shouldRetryOnError: false,
|
|
1375
|
-
revalidateOnFocus: false,
|
|
1376
|
-
refreshInterval: shouldPoll.current ? refreshInterval : 0,
|
|
1377
|
-
onSuccess(_data) {
|
|
1378
|
-
shouldPoll.current = true;
|
|
1379
|
-
afterSuccess?.(action.current, _form, _data);
|
|
1380
|
-
}
|
|
1381
|
-
}
|
|
1382
|
-
);
|
|
1383
|
-
const dataSource = getDataSource(data, _form);
|
|
1384
|
-
const total = getTotal(data);
|
|
1385
|
-
const pagination = !onePage && {
|
|
1386
|
-
pageSizeOptions,
|
|
1387
|
-
showSizeChanger: true,
|
|
1388
|
-
showQuickJumper: true,
|
|
1389
|
-
current: page,
|
|
1390
|
-
pageSize: size,
|
|
1391
|
-
total,
|
|
1392
|
-
onChange: async (currentPage, currentSize) => {
|
|
1393
|
-
action.current = 2 /* Jump */;
|
|
1394
|
-
refetch(url4, {
|
|
1395
|
-
page: currentPage,
|
|
1396
|
-
size: currentSize
|
|
1397
|
-
});
|
|
1398
|
-
}
|
|
1399
|
-
};
|
|
1400
|
-
const onConfirm = async () => {
|
|
1401
|
-
action.current = 0 /* Confirm */;
|
|
1402
|
-
try {
|
|
1403
|
-
await _form.validateFields();
|
|
1404
|
-
setIsValid(true);
|
|
1405
|
-
refetch(url4, {
|
|
1406
|
-
page: 1,
|
|
1407
|
-
formValue: _form.getFieldsValue()
|
|
1408
|
-
});
|
|
1409
|
-
} catch (error) {
|
|
1410
|
-
setIsValid(false);
|
|
1411
|
-
}
|
|
1412
|
-
};
|
|
1413
|
-
const onReset = async () => {
|
|
1414
|
-
action.current = 1 /* Reset */;
|
|
1415
|
-
_form.resetFields();
|
|
1416
|
-
try {
|
|
1417
|
-
await _form.validateFields({ validateOnly: true });
|
|
1418
|
-
setIsValid(true);
|
|
1419
|
-
refetch(url4, {
|
|
1420
|
-
page: 1,
|
|
1421
|
-
formValue: _form.getFieldsValue()
|
|
1422
|
-
});
|
|
1423
|
-
} catch (error) {
|
|
1424
|
-
setIsValid(false);
|
|
1425
|
-
}
|
|
1426
|
-
};
|
|
1427
|
-
useEffect(() => {
|
|
1428
|
-
const init = async () => {
|
|
1429
|
-
if (!accessible) {
|
|
1430
|
-
return;
|
|
1431
|
-
}
|
|
1432
|
-
try {
|
|
1433
|
-
_form.resetFields();
|
|
1434
|
-
const value = await _form.validateFields({ validateOnly: true });
|
|
1435
|
-
refetch(url4, {
|
|
1436
|
-
page: 1,
|
|
1437
|
-
formValue: value
|
|
1438
|
-
});
|
|
1439
|
-
setIsValid(true);
|
|
1440
|
-
} catch (err) {
|
|
1441
|
-
setIsValid(false);
|
|
1442
|
-
}
|
|
1443
|
-
};
|
|
1444
|
-
setTimeout(() => {
|
|
1445
|
-
init();
|
|
1446
|
-
}, 300);
|
|
1447
|
-
}, [accessible, form]);
|
|
1448
|
-
useImperativeHandle(ref, () => ({
|
|
1449
|
-
data,
|
|
1450
|
-
dataSource,
|
|
1451
|
-
form: _form
|
|
1452
|
-
}));
|
|
1453
|
-
if (isChecking) {
|
|
1454
|
-
return /* @__PURE__ */ jsx(
|
|
1455
|
-
Spin,
|
|
1456
|
-
{
|
|
1457
|
-
style: {
|
|
1458
|
-
display: "flex",
|
|
1459
|
-
justifyContent: "center",
|
|
1460
|
-
alignItems: "center",
|
|
1461
|
-
height: 300
|
|
1462
|
-
}
|
|
1463
|
-
}
|
|
1464
|
-
);
|
|
1465
|
-
}
|
|
1466
|
-
if (!accessible) {
|
|
1467
|
-
return /* @__PURE__ */ jsx(Result, { status: 403, subTitle: t("global.noEntitlement") });
|
|
1468
|
-
}
|
|
1469
|
-
const formRenderer = typeof renderForm === "function" ? /* @__PURE__ */ jsx(
|
|
1470
|
-
FilterFormWrapper_default,
|
|
1471
|
-
{
|
|
1472
|
-
showReset,
|
|
1473
|
-
buttonsAlign,
|
|
1474
|
-
isConfirming: isLoading,
|
|
1475
|
-
onReset,
|
|
1476
|
-
onConfirm,
|
|
1477
|
-
children: cloneElement(renderForm(_form), {
|
|
1478
|
-
onKeyUp: (e) => {
|
|
1479
|
-
if (e.key === "Enter") {
|
|
1480
|
-
onConfirm();
|
|
1481
|
-
}
|
|
1482
|
-
}
|
|
1483
|
-
})
|
|
1484
|
-
}
|
|
1485
|
-
) : (
|
|
1486
|
-
// 屏蔽 Form 组件的警告(Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?)
|
|
1487
|
-
/* @__PURE__ */ jsx(Form, { form: _form })
|
|
1488
|
-
);
|
|
1489
|
-
const renderFooter = footer && (() => footer(data));
|
|
1490
|
-
return /* @__PURE__ */ jsxs("div", { children: [
|
|
1491
|
-
formRenderer,
|
|
1492
|
-
typeof tableExtra === "function" ? tableExtra(_form, data) : tableExtra,
|
|
1493
|
-
/* @__PURE__ */ jsx(
|
|
1494
|
-
Table,
|
|
1495
|
-
{
|
|
1496
|
-
...tableProps,
|
|
1497
|
-
dataSource,
|
|
1498
|
-
loading: isLoading,
|
|
1499
|
-
pagination,
|
|
1500
|
-
footer: renderFooter
|
|
1501
|
-
}
|
|
1502
|
-
)
|
|
1503
|
-
] });
|
|
1504
|
-
};
|
|
1505
|
-
QueryList = forwardRef(InternalQueryList);
|
|
1506
|
-
QueryList_default = QueryList;
|
|
1507
|
-
}
|
|
1508
|
-
});
|
|
1509
|
-
|
|
1510
|
-
// src/components/queryList/index.ts
|
|
1511
|
-
var init_queryList = __esm({
|
|
1512
|
-
"src/components/queryList/index.ts"() {
|
|
1513
|
-
init_QueryList();
|
|
1514
|
-
init_stores4();
|
|
1515
|
-
}
|
|
1516
|
-
});
|
|
1517
|
-
|
|
1518
|
-
// src/features/menu/constants/index.ts
|
|
1519
|
-
var url;
|
|
1520
|
-
var init_constants2 = __esm({
|
|
1521
|
-
"src/features/menu/constants/index.ts"() {
|
|
1522
|
-
url = "/api/usystem/menu/list";
|
|
1523
|
-
}
|
|
1524
|
-
});
|
|
1525
|
-
function useCreateMenu() {
|
|
1526
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1527
|
-
return useSWRMutation2(
|
|
1528
|
-
"/api/usystem/menu/set",
|
|
1529
|
-
(url4, { arg }) => axios2.post(url4, { ...arg, id: 0, is_model: true })
|
|
1530
|
-
);
|
|
1531
|
-
}
|
|
1532
|
-
function useUpdateMenu() {
|
|
1533
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1534
|
-
return useSWRMutation2(
|
|
1535
|
-
"/api/usystem/menu/set",
|
|
1536
|
-
(url4, { arg }) => axios2.post(url4, { ...arg, is_model: true })
|
|
1537
|
-
);
|
|
1538
|
-
}
|
|
1539
|
-
function useRemoveMenu() {
|
|
1540
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1541
|
-
return useSWRMutation2(
|
|
1542
|
-
"/api/usystem/menu/delete",
|
|
1543
|
-
(url4, { arg }) => axios2.post(url4, null, { params: { id: arg } })
|
|
1544
|
-
);
|
|
1545
|
-
}
|
|
1546
|
-
var init_hooks4 = __esm({
|
|
1547
|
-
"src/features/menu/hooks/index.ts"() {
|
|
1548
|
-
init_toolkitsProvider();
|
|
1549
|
-
}
|
|
1550
|
-
});
|
|
1551
|
-
|
|
1552
|
-
// src/features/menu/index.ts
|
|
1553
|
-
var init_menu = __esm({
|
|
1554
|
-
"src/features/menu/index.ts"() {
|
|
1555
|
-
init_constants2();
|
|
1556
|
-
init_hooks4();
|
|
1557
|
-
}
|
|
1558
|
-
});
|
|
1559
|
-
|
|
1560
|
-
// src/pages/menu/menuItemList/index.tsx
|
|
1561
|
-
var menuItemList_exports = {};
|
|
1562
|
-
__export(menuItemList_exports, {
|
|
1563
|
-
default: () => menuItemList_default
|
|
1564
|
-
});
|
|
1565
|
-
var MenuItemList, menuItemList_default;
|
|
1566
|
-
var init_menuItemList = __esm({
|
|
1567
|
-
"src/pages/menu/menuItemList/index.tsx"() {
|
|
1568
|
-
init_highlight();
|
|
1569
|
-
init_locale();
|
|
1570
|
-
init_queryList();
|
|
1571
|
-
init_toolkitsProvider();
|
|
1572
|
-
init_menu();
|
|
1573
|
-
init_hooks4();
|
|
1574
|
-
init_hooks2();
|
|
1575
|
-
MenuItemList = withContext(
|
|
1576
|
-
() => {
|
|
1577
|
-
const { t } = useTranslation();
|
|
1578
|
-
const { message } = App.useApp();
|
|
1579
|
-
const remove = useRemoveMenu();
|
|
1580
|
-
const { refetch } = useQueryListStore();
|
|
1581
|
-
const { mutate: mutate2 } = useMenuList();
|
|
1582
|
-
const navigate = useNavigate();
|
|
1583
|
-
const columns = [
|
|
1584
|
-
{
|
|
1585
|
-
title: "\u83DC\u5355\u540D\u79F0",
|
|
1586
|
-
dataIndex: "category",
|
|
1587
|
-
key: "category"
|
|
1588
|
-
},
|
|
1589
|
-
{
|
|
1590
|
-
title: "\u524D\u7AEF\u8DEF\u7531",
|
|
1591
|
-
dataIndex: "front_route"
|
|
1592
|
-
},
|
|
1593
|
-
{
|
|
1594
|
-
title: "Order",
|
|
1595
|
-
dataIndex: "order"
|
|
1596
|
-
},
|
|
1597
|
-
{
|
|
1598
|
-
title: "Is Common",
|
|
1599
|
-
dataIndex: "is_common",
|
|
1600
|
-
key: "is_common",
|
|
1601
|
-
render: (value) => value ? "\u662F" : "\u5426"
|
|
1602
|
-
},
|
|
1603
|
-
{
|
|
1604
|
-
title: "\u6A21\u677F\u540D\u79F0",
|
|
1605
|
-
dataIndex: "model_name",
|
|
1606
|
-
key: "model_name"
|
|
1607
|
-
},
|
|
1608
|
-
// {
|
|
1609
|
-
// title: '是否预设',
|
|
1610
|
-
// dataIndex: 'is_model',
|
|
1611
|
-
// key: 'is_model',
|
|
1612
|
-
// render: value => (value ? '否' : '是'),
|
|
1613
|
-
// },
|
|
1614
|
-
{
|
|
1615
|
-
title: "\u64CD\u4F5C",
|
|
1616
|
-
key: "action",
|
|
1617
|
-
width: 150,
|
|
1618
|
-
align: "center",
|
|
1619
|
-
render(_, record) {
|
|
1620
|
-
if (record.is_model) {
|
|
1621
|
-
return /* @__PURE__ */ jsxs(Space, { size: "small", children: [
|
|
1622
|
-
/* @__PURE__ */ jsx(
|
|
1623
|
-
Button,
|
|
1624
|
-
{
|
|
1625
|
-
type: "link",
|
|
1626
|
-
onClick: () => {
|
|
1627
|
-
navigate(`./update/${record.id}`);
|
|
1628
|
-
},
|
|
1629
|
-
children: t("global.update")
|
|
1630
|
-
}
|
|
1631
|
-
),
|
|
1632
|
-
/* @__PURE__ */ jsx(
|
|
1633
|
-
Popconfirm,
|
|
1634
|
-
{
|
|
1635
|
-
title: "\u5220\u9664\u83DC\u5355",
|
|
1636
|
-
placement: "topRight",
|
|
1637
|
-
description: /* @__PURE__ */ jsxs(Highlight_default, { texts: [record.category], children: [
|
|
1638
|
-
"\u786E\u5B9A\u8981\u5220\u9664\u83DC\u5355 ",
|
|
1639
|
-
record.category,
|
|
1640
|
-
" \u5417\uFF1F"
|
|
1641
|
-
] }),
|
|
1642
|
-
onConfirm: async () => {
|
|
1643
|
-
await remove.trigger(record.id);
|
|
1644
|
-
refetch(url);
|
|
1645
|
-
mutate2();
|
|
1646
|
-
message.success("\u5220\u9664\u6210\u529F");
|
|
1647
|
-
},
|
|
1648
|
-
children: /* @__PURE__ */ jsx(Button, { danger: true, type: "link", size: "small", children: t("global.delete") })
|
|
1649
|
-
}
|
|
1650
|
-
)
|
|
1651
|
-
] });
|
|
1652
|
-
}
|
|
1653
|
-
return null;
|
|
1654
|
-
}
|
|
1655
|
-
}
|
|
1656
|
-
];
|
|
1657
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
1658
|
-
Card,
|
|
1659
|
-
{
|
|
1660
|
-
title: "\u83DC\u5355\u7BA1\u7406",
|
|
1661
|
-
extra: /* @__PURE__ */ jsx(
|
|
1662
|
-
Button,
|
|
1663
|
-
{
|
|
1664
|
-
type: "primary",
|
|
1665
|
-
onClick: () => {
|
|
1666
|
-
navigate("./create");
|
|
1667
|
-
},
|
|
1668
|
-
children: "\u521B\u5EFA\u83DC\u5355\u9879"
|
|
1669
|
-
}
|
|
1670
|
-
),
|
|
1671
|
-
children: /* @__PURE__ */ jsx(
|
|
1672
|
-
QueryList_default,
|
|
1673
|
-
{
|
|
1674
|
-
onePage: true,
|
|
1675
|
-
code: "9900001",
|
|
1676
|
-
rowKey: "id",
|
|
1677
|
-
url,
|
|
1678
|
-
columns,
|
|
1679
|
-
getDataSource: (response) => response
|
|
1680
|
-
}
|
|
1681
|
-
)
|
|
1682
|
-
}
|
|
1683
|
-
) });
|
|
1684
|
-
},
|
|
1685
|
-
{ isGlobal: true }
|
|
1686
|
-
);
|
|
1687
|
-
menuItemList_default = MenuItemList;
|
|
1688
|
-
}
|
|
1689
|
-
});
|
|
1690
|
-
|
|
1691
|
-
// src/pages/menu/createMenuItem/index.tsx
|
|
1692
|
-
var createMenuItem_exports = {};
|
|
1693
|
-
__export(createMenuItem_exports, {
|
|
1694
|
-
default: () => createMenuItem_default
|
|
1695
|
-
});
|
|
1696
|
-
var CreateMenuItem, createMenuItem_default;
|
|
1697
|
-
var init_createMenuItem = __esm({
|
|
1698
|
-
"src/pages/menu/createMenuItem/index.tsx"() {
|
|
1699
|
-
init_toolkitsProvider();
|
|
1700
|
-
init_constants();
|
|
1701
|
-
init_menu();
|
|
1702
|
-
init_hooks2();
|
|
1703
|
-
CreateMenuItem = withContext(
|
|
1704
|
-
() => {
|
|
1705
|
-
const { message } = App.useApp();
|
|
1706
|
-
const [form] = Form.useForm();
|
|
1707
|
-
const navigate = useNavigate();
|
|
1708
|
-
const { trigger } = useCreateMenu();
|
|
1709
|
-
const { mutate: mutate2 } = useMenuList();
|
|
1710
|
-
const onFinish = async (values) => {
|
|
1711
|
-
const { permissions, front_route, ...rest } = values;
|
|
1712
|
-
await trigger({
|
|
1713
|
-
...rest,
|
|
1714
|
-
front_route: FRONTEND_ROUTE_PREFIX + front_route,
|
|
1715
|
-
permissions: permissions ? JSON.parse(permissions) : void 0
|
|
1716
|
-
});
|
|
1717
|
-
mutate2();
|
|
1718
|
-
message.success("\u521B\u5EFA\u6210\u529F", 0.8, () => navigate("..", { relative: "route" }));
|
|
1719
|
-
};
|
|
1720
|
-
return /* @__PURE__ */ jsx(Card, { title: "\u521B\u5EFA\u83DC\u5355\u9879", children: /* @__PURE__ */ jsxs(
|
|
1721
|
-
Form,
|
|
1722
|
-
{
|
|
1723
|
-
scrollToFirstError: true,
|
|
1724
|
-
form,
|
|
1725
|
-
labelCol: { flex: "120px" },
|
|
1726
|
-
initialValues: { is_common: false, is_model: false, order: 0 },
|
|
1727
|
-
onFinish,
|
|
1728
|
-
children: [
|
|
1729
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u83DC\u5355\u9879\u540D\u79F0", name: "category", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, {}) }),
|
|
1730
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u524D\u7AEF\u8DEF\u7531", name: "front_route", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { prefix: FRONTEND_ROUTE_PREFIX }) }),
|
|
1731
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u6A21\u677F\u540D\u79F0", name: "model_name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, {}) }),
|
|
1732
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Is Common", name: "is_common", rules: [{ required: true }], valuePropName: "checked", children: /* @__PURE__ */ jsx(Switch, {}) }),
|
|
1733
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Order", name: "order", children: /* @__PURE__ */ jsx(InputNumber, { className: "w-full" }) }),
|
|
1734
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u63A5\u53E3\u89C4\u5219", name: "permissions", children: /* @__PURE__ */ jsx(
|
|
1735
|
-
Editor,
|
|
1736
|
-
{
|
|
1737
|
-
theme: "vs-dark",
|
|
1738
|
-
height: "300px",
|
|
1739
|
-
language: "json",
|
|
1740
|
-
options: {
|
|
1741
|
-
minimap: {
|
|
1742
|
-
enabled: false
|
|
1743
|
-
}
|
|
1744
|
-
}
|
|
1745
|
-
}
|
|
1746
|
-
) }),
|
|
1747
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Schema", name: "scheme", rules: [{ required: true }], children: /* @__PURE__ */ jsx(
|
|
1748
|
-
Editor,
|
|
1749
|
-
{
|
|
1750
|
-
theme: "vs-dark",
|
|
1751
|
-
height: "600px",
|
|
1752
|
-
language: "json",
|
|
1753
|
-
options: {
|
|
1754
|
-
minimap: {
|
|
1755
|
-
enabled: false
|
|
1756
|
-
}
|
|
1757
|
-
}
|
|
1758
|
-
}
|
|
1759
|
-
) }),
|
|
1760
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Ext", name: "ext", children: /* @__PURE__ */ jsx(Input.TextArea, { rows: 5 }) }),
|
|
1761
|
-
/* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-center gap-8", children: [
|
|
1762
|
-
/* @__PURE__ */ jsx(Button, { type: "primary", htmlType: "submit", children: "\u63D0\u4EA4" }),
|
|
1763
|
-
/* @__PURE__ */ jsx(
|
|
1764
|
-
Button,
|
|
1765
|
-
{
|
|
1766
|
-
onClick: () => {
|
|
1767
|
-
navigate("..", { relative: "path" });
|
|
1768
|
-
},
|
|
1769
|
-
children: "\u53D6\u6D88"
|
|
1770
|
-
}
|
|
1771
|
-
)
|
|
1772
|
-
] }) })
|
|
1773
|
-
]
|
|
1774
|
-
}
|
|
1775
|
-
) });
|
|
1776
|
-
},
|
|
1777
|
-
{ isGlobal: true }
|
|
1778
|
-
);
|
|
1779
|
-
createMenuItem_default = CreateMenuItem;
|
|
1780
|
-
}
|
|
1781
|
-
});
|
|
1782
|
-
|
|
1783
|
-
// src/pages/menu/updateMenuItem/index.tsx
|
|
1784
|
-
var updateMenuItem_exports = {};
|
|
1785
|
-
__export(updateMenuItem_exports, {
|
|
1786
|
-
default: () => updateMenuItem_default
|
|
1787
|
-
});
|
|
1788
|
-
var EditMenuItem, updateMenuItem_default;
|
|
1789
|
-
var init_updateMenuItem = __esm({
|
|
1790
|
-
"src/pages/menu/updateMenuItem/index.tsx"() {
|
|
1791
|
-
init_toolkitsProvider();
|
|
1792
|
-
init_constants();
|
|
1793
|
-
init_menu();
|
|
1794
|
-
init_hooks2();
|
|
1795
|
-
EditMenuItem = withContext(
|
|
1796
|
-
() => {
|
|
1797
|
-
const { message } = App.useApp();
|
|
1798
|
-
const [form] = Form.useForm();
|
|
1799
|
-
const navigate = useNavigate();
|
|
1800
|
-
const { trigger } = useUpdateMenu();
|
|
1801
|
-
const params = useParams();
|
|
1802
|
-
const { mutate: mutate2 } = useMenuList();
|
|
1803
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1804
|
-
const { data, isLoading } = useSWR6(
|
|
1805
|
-
`/api/usystem/menu/info?id=${params.id}`,
|
|
1806
|
-
(url4) => axios2(url4).then((response) => response.data.data)
|
|
1807
|
-
);
|
|
1808
|
-
const onFinish = async (values) => {
|
|
1809
|
-
const { permissions, front_route, ...rest } = values;
|
|
1810
|
-
await trigger({
|
|
1811
|
-
...rest,
|
|
1812
|
-
permissions: permissions ? JSON.parse(permissions) : void 0,
|
|
1813
|
-
front_route: FRONTEND_ROUTE_PREFIX + front_route,
|
|
1814
|
-
id: +params.id
|
|
1815
|
-
});
|
|
1816
|
-
mutate2();
|
|
1817
|
-
message.success("\u66F4\u65B0\u6210\u529F", 0.8, () => navigate("../..", { relative: "route" }));
|
|
1818
|
-
};
|
|
1819
|
-
useEffect(() => {
|
|
1820
|
-
const { permissions, front_route, ...rest } = data ?? {};
|
|
1821
|
-
const permissionsString = JSON.stringify(permissions || [], null, 2);
|
|
1822
|
-
const frontRoute = front_route?.replace(FRONTEND_ROUTE_PREFIX, "");
|
|
1823
|
-
form.setFieldsValue({
|
|
1824
|
-
...rest,
|
|
1825
|
-
permissions: permissionsString,
|
|
1826
|
-
front_route: frontRoute
|
|
1827
|
-
});
|
|
1828
|
-
}, [data]);
|
|
1829
|
-
return /* @__PURE__ */ jsx(Card, { title: "\u66F4\u65B0\u83DC\u5355\u9879", loading: isLoading, children: /* @__PURE__ */ jsxs(
|
|
1830
|
-
Form,
|
|
1831
|
-
{
|
|
1832
|
-
scrollToFirstError: true,
|
|
1833
|
-
form,
|
|
1834
|
-
labelCol: { flex: "120px" },
|
|
1835
|
-
initialValues: { is_common: false, is_model: false, order: 0 },
|
|
1836
|
-
onFinish,
|
|
1837
|
-
children: [
|
|
1838
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u83DC\u5355\u9879\u540D\u79F0", name: "category", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, {}) }),
|
|
1839
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u524D\u7AEF\u8DEF\u7531", name: "front_route", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { prefix: FRONTEND_ROUTE_PREFIX }) }),
|
|
1840
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u6A21\u677F\u540D\u79F0", name: "model_name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, {}) }),
|
|
1841
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Is Common", name: "is_common", rules: [{ required: true }], valuePropName: "checked", children: /* @__PURE__ */ jsx(Switch, {}) }),
|
|
1842
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Order", name: "order", children: /* @__PURE__ */ jsx(InputNumber, { className: "w-full" }) }),
|
|
1843
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "\u63A5\u53E3\u89C4\u5219", name: "permissions", children: /* @__PURE__ */ jsx(
|
|
1844
|
-
Editor,
|
|
1845
|
-
{
|
|
1846
|
-
theme: "vs-dark",
|
|
1847
|
-
height: "300px",
|
|
1848
|
-
language: "json",
|
|
1849
|
-
options: {
|
|
1850
|
-
minimap: {
|
|
1851
|
-
enabled: false
|
|
1852
|
-
}
|
|
1853
|
-
}
|
|
1854
|
-
}
|
|
1855
|
-
) }),
|
|
1856
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Schema", name: "scheme", rules: [{ required: true }], children: /* @__PURE__ */ jsx(
|
|
1857
|
-
Editor,
|
|
1858
|
-
{
|
|
1859
|
-
theme: "vs-dark",
|
|
1860
|
-
height: "600px",
|
|
1861
|
-
language: "json",
|
|
1862
|
-
options: {
|
|
1863
|
-
minimap: {
|
|
1864
|
-
enabled: false
|
|
1865
|
-
}
|
|
1866
|
-
}
|
|
1867
|
-
}
|
|
1868
|
-
) }),
|
|
1869
|
-
/* @__PURE__ */ jsx(Form.Item, { label: "Ext", name: "ext", children: /* @__PURE__ */ jsx(Input.TextArea, { rows: 5 }) }),
|
|
1870
|
-
/* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-center gap-8", children: [
|
|
1871
|
-
/* @__PURE__ */ jsx(Button, { type: "primary", htmlType: "submit", children: "\u63D0\u4EA4" }),
|
|
1872
|
-
/* @__PURE__ */ jsx(
|
|
1873
|
-
Button,
|
|
1874
|
-
{
|
|
1875
|
-
onClick: () => {
|
|
1876
|
-
navigate("../..", { relative: "path" });
|
|
1877
|
-
},
|
|
1878
|
-
children: "\u53D6\u6D88"
|
|
1879
|
-
}
|
|
1880
|
-
)
|
|
1881
|
-
] }) })
|
|
1882
|
-
]
|
|
1883
|
-
}
|
|
1884
|
-
) });
|
|
1885
|
-
},
|
|
1886
|
-
{ isGlobal: true }
|
|
1887
|
-
);
|
|
1888
|
-
updateMenuItem_default = EditMenuItem;
|
|
1889
|
-
}
|
|
1890
|
-
});
|
|
1891
|
-
function useAllPermissions() {
|
|
1892
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1893
|
-
return useSWR6(
|
|
1894
|
-
"/api/usystem/user/allPermssions",
|
|
1895
|
-
(url4) => axios2.get(url4).then((response) => response.data.data)
|
|
1896
|
-
);
|
|
1897
|
-
}
|
|
1898
|
-
function useAllPermissionsV2() {
|
|
1899
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1900
|
-
return useSWR6(
|
|
1901
|
-
"/api/usystem/user/allPermissionsV2",
|
|
1902
|
-
(url4) => axios2.get(url4).then((response) => response.data.data)
|
|
1903
|
-
);
|
|
1904
|
-
}
|
|
1905
|
-
function useAllRoles() {
|
|
1906
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1907
|
-
return useSWR6(
|
|
1908
|
-
"/api/usystem/role/all",
|
|
1909
|
-
(url4) => axios2.get(url4).then((response) => response.data.data)
|
|
1910
|
-
);
|
|
1911
|
-
}
|
|
1912
|
-
function useRole(name) {
|
|
1913
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1914
|
-
const permissionVersion = useToolkitsStore((state) => state.permissionVersion);
|
|
1915
|
-
return useSWR6(
|
|
1916
|
-
`/api/usystem/role/${permissionVersion === "v2" /* V2 */ ? "infoV2" : "info"}?name=${name}`,
|
|
1917
|
-
(url4) => axios2.get(url4).then((response) => response.data.data)
|
|
1918
|
-
);
|
|
1919
|
-
}
|
|
1920
|
-
function useCreateRole() {
|
|
1921
|
-
const { axios: axios2, permissionVersion } = useToolkitsStore((s) => s);
|
|
1922
|
-
return useSWRMutation2(
|
|
1923
|
-
permissionVersion === "v2" /* V2 */ ? "/api/usystem/role/createV2" : "/api/usystem/role/create",
|
|
1924
|
-
(url4, {
|
|
1925
|
-
arg
|
|
1926
|
-
}) => axios2.post(url4, arg)
|
|
1927
|
-
);
|
|
1928
|
-
}
|
|
1929
|
-
function useUpdateRole() {
|
|
1930
|
-
const { axios: axios2, permissionVersion } = useToolkitsStore((s) => s);
|
|
1931
|
-
return useSWRMutation2(
|
|
1932
|
-
permissionVersion === "v2" /* V2 */ ? "/api/usystem/role/updateV2" : "/api/usystem/role/update",
|
|
1933
|
-
(url4, {
|
|
1934
|
-
arg
|
|
1935
|
-
}) => axios2.post(url4, arg)
|
|
1936
|
-
);
|
|
1937
|
-
}
|
|
1938
|
-
function useRemoveRole() {
|
|
1939
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1940
|
-
return useSWRMutation2(
|
|
1941
|
-
"/api/usystem/role/delete",
|
|
1942
|
-
(url4, {
|
|
1943
|
-
arg
|
|
1944
|
-
}) => axios2.post(url4, arg)
|
|
1945
|
-
);
|
|
1946
|
-
}
|
|
1947
|
-
function useCreateUser() {
|
|
1948
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1949
|
-
return useSWRMutation2(
|
|
1950
|
-
"/api/usystem/user/create",
|
|
1951
|
-
(url4, {
|
|
1952
|
-
arg
|
|
1953
|
-
}) => axios2.post(url4, arg)
|
|
1954
|
-
);
|
|
1955
|
-
}
|
|
1956
|
-
function useUpdateUser() {
|
|
1957
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1958
|
-
return useSWRMutation2(
|
|
1959
|
-
"/api/usystem/user/update",
|
|
1960
|
-
(url4, {
|
|
1961
|
-
arg
|
|
1962
|
-
}) => axios2.post(url4, arg)
|
|
1963
|
-
);
|
|
1964
|
-
}
|
|
1965
|
-
function useRemoveUser() {
|
|
1966
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
1967
|
-
return useSWRMutation2(
|
|
1968
|
-
"/api/usystem/user/delete",
|
|
1969
|
-
(url4, {
|
|
1970
|
-
arg
|
|
1971
|
-
}) => axios2.post(url4, arg)
|
|
1972
|
-
);
|
|
1973
|
-
}
|
|
1974
|
-
var Text2, useCreateRoleModal, useUpdateRoleModal, useCreateUserModal, useUpdateUserModal, GroupSelect, GameSelect2, UserModalContentV2, useCreateUserModalV2, useUpdateUserModalV2;
|
|
1975
|
-
var init_hooks5 = __esm({
|
|
1976
|
-
"src/features/permission/hooks/index.tsx"() {
|
|
1977
|
-
init_locale();
|
|
1978
|
-
init_modal2();
|
|
1979
|
-
init_toolkitsProvider();
|
|
1980
|
-
init_constants();
|
|
1981
|
-
init_components();
|
|
1982
|
-
({ Text: Text2 } = Typography);
|
|
1983
|
-
useCreateRoleModal = ({ onSuccess } = {}) => {
|
|
1984
|
-
const { t } = useTranslation();
|
|
1985
|
-
const { trigger } = useCreateRole();
|
|
1986
|
-
return useFormModal({
|
|
1987
|
-
title: t("Role.createTitle"),
|
|
1988
|
-
width: "50vw",
|
|
1989
|
-
formProps: {
|
|
1990
|
-
layout: "vertical"
|
|
1991
|
-
},
|
|
1992
|
-
content: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1993
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { addonBefore: "role_" }) }),
|
|
1994
|
-
/* @__PURE__ */ jsx(Form.Item, { name: "permissions", children: /* @__PURE__ */ jsx(permissionList_default, {}) })
|
|
1995
|
-
] }),
|
|
1996
|
-
onConfirm: async (values) => {
|
|
1997
|
-
await trigger({
|
|
1998
|
-
name: `role_${values.name}`,
|
|
1999
|
-
permissions: values.permissions
|
|
2000
|
-
});
|
|
2001
|
-
onSuccess?.();
|
|
2002
|
-
}
|
|
2003
|
-
});
|
|
2004
|
-
};
|
|
2005
|
-
useUpdateRoleModal = ({ onSuccess } = {}) => {
|
|
2006
|
-
const { t } = useTranslation();
|
|
2007
|
-
const { trigger } = useUpdateRole();
|
|
2008
|
-
return useFormModal({
|
|
2009
|
-
title: t("Role.updateTitle"),
|
|
2010
|
-
width: "50vw",
|
|
2011
|
-
formProps: {
|
|
2012
|
-
layout: "vertical"
|
|
2013
|
-
},
|
|
2014
|
-
content: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2015
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: true, addonBefore: "role_" }) }),
|
|
2016
|
-
/* @__PURE__ */ jsx(Form.Item, { name: "permissions", children: /* @__PURE__ */ jsx(permissionList_default, {}) })
|
|
2017
|
-
] }),
|
|
2018
|
-
onConfirm: async (values, extraValues) => {
|
|
2019
|
-
await trigger({
|
|
2020
|
-
id: extraValues?.id,
|
|
2021
|
-
name: `role_${values.name}`,
|
|
2022
|
-
permissions: values.permissions
|
|
2023
|
-
});
|
|
2024
|
-
onSuccess?.();
|
|
2025
|
-
}
|
|
2026
|
-
});
|
|
2027
|
-
};
|
|
2028
|
-
useCreateUserModal = ({ onSuccess } = {}) => {
|
|
2029
|
-
const { t } = useTranslation();
|
|
2030
|
-
const { data: roles, isLoading } = useAllRoles();
|
|
2031
|
-
const { trigger } = useCreateUser();
|
|
2032
|
-
return useFormModal({
|
|
2033
|
-
title: t("User.createTitle"),
|
|
2034
|
-
width: 600,
|
|
2035
|
-
formProps: {
|
|
2036
|
-
autoComplete: "off",
|
|
2037
|
-
labelCol: { flex: "80px" }
|
|
2038
|
-
},
|
|
2039
|
-
content: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2040
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, {}) }),
|
|
2041
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.role"), name: "roles", children: /* @__PURE__ */ jsx(
|
|
2042
|
-
Select,
|
|
2043
|
-
{
|
|
2044
|
-
allowClear: true,
|
|
2045
|
-
showSearch: true,
|
|
2046
|
-
mode: "multiple",
|
|
2047
|
-
loading: isLoading,
|
|
2048
|
-
optionFilterProp: "label",
|
|
2049
|
-
options: roles?.map((role) => ({ label: role.name, value: role.name }))
|
|
2050
|
-
}
|
|
2051
|
-
) })
|
|
2052
|
-
] }),
|
|
2053
|
-
onConfirm: async (values) => {
|
|
2054
|
-
await trigger(values);
|
|
2055
|
-
onSuccess?.();
|
|
2056
|
-
}
|
|
2057
|
-
});
|
|
2058
|
-
};
|
|
2059
|
-
useUpdateUserModal = ({ onSuccess } = {}) => {
|
|
2060
|
-
const { t } = useTranslation();
|
|
2061
|
-
const { data: roles, isLoading } = useAllRoles();
|
|
2062
|
-
const { trigger } = useUpdateUser();
|
|
2063
|
-
return useFormModal({
|
|
2064
|
-
title: t("User.updateTitle"),
|
|
2065
|
-
width: 600,
|
|
2066
|
-
formProps: {
|
|
2067
|
-
autoComplete: "off",
|
|
2068
|
-
labelCol: { flex: "80px" }
|
|
2069
|
-
},
|
|
2070
|
-
content: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2071
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: true }) }),
|
|
2072
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.role"), name: "roles", children: /* @__PURE__ */ jsx(
|
|
2073
|
-
Select,
|
|
2074
|
-
{
|
|
2075
|
-
allowClear: true,
|
|
2076
|
-
showSearch: true,
|
|
2077
|
-
mode: "multiple",
|
|
2078
|
-
loading: isLoading,
|
|
2079
|
-
optionFilterProp: "label",
|
|
2080
|
-
options: roles?.map((role) => ({ label: role.name, value: role.name }))
|
|
2081
|
-
}
|
|
2082
|
-
) })
|
|
2083
|
-
] }),
|
|
2084
|
-
onConfirm: async (values, extraValues) => {
|
|
2085
|
-
await trigger({ ...values, id: extraValues?.id });
|
|
2086
|
-
onSuccess?.();
|
|
2087
|
-
}
|
|
2088
|
-
});
|
|
2089
|
-
};
|
|
2090
|
-
GroupSelect = (props) => {
|
|
2091
|
-
const { onChange, ...rest } = props;
|
|
2092
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
2093
|
-
const { data, isLoading } = useSWR6(
|
|
2094
|
-
"/api/enum/get?enum=game_group&type=all",
|
|
2095
|
-
(path) => axios2.get(path).then((response) => response.data.data)
|
|
2096
|
-
);
|
|
2097
|
-
const options = [{ label: "\u901A\u7528", value: WILDCARD }].concat(
|
|
2098
|
-
data?.map((group) => ({ label: group, value: group })) ?? []
|
|
2099
|
-
);
|
|
2100
|
-
const onValueChange = (value) => {
|
|
2101
|
-
if (last(value) === WILDCARD) {
|
|
2102
|
-
onChange?.([WILDCARD]);
|
|
2103
|
-
} else if (first(value) === WILDCARD) {
|
|
2104
|
-
onChange?.(value.slice(1));
|
|
2105
|
-
} else {
|
|
2106
|
-
onChange?.(value);
|
|
2107
|
-
}
|
|
2108
|
-
};
|
|
2109
|
-
return /* @__PURE__ */ jsx(
|
|
2110
|
-
Select,
|
|
2111
|
-
{
|
|
2112
|
-
...rest,
|
|
2113
|
-
allowClear: true,
|
|
2114
|
-
showSearch: true,
|
|
2115
|
-
mode: "tags",
|
|
2116
|
-
optionFilterProp: "label",
|
|
2117
|
-
loading: isLoading,
|
|
2118
|
-
options,
|
|
2119
|
-
onChange: onValueChange
|
|
2120
|
-
}
|
|
2121
|
-
);
|
|
2122
|
-
};
|
|
2123
|
-
GameSelect2 = (props) => {
|
|
2124
|
-
const { groups, onChange, ...rest } = props;
|
|
2125
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
2126
|
-
const { data, isLoading } = useSWR6(
|
|
2127
|
-
groups?.length ? `/api/enum/game_group/get_game_ids?game_groups=${groups.join(",")}` : null,
|
|
2128
|
-
(path) => axios2.get(path).then((response) => response.data.data.list)
|
|
2129
|
-
);
|
|
2130
|
-
const options = data?.map((group) => ({ label: group.name, value: group.id }));
|
|
2131
|
-
const onValueChange = (value) => {
|
|
2132
|
-
if (last(value) === WILDCARD) {
|
|
2133
|
-
onChange?.([WILDCARD]);
|
|
2134
|
-
} else if (first(value) === WILDCARD) {
|
|
2135
|
-
onChange?.(value.slice(1));
|
|
2136
|
-
} else {
|
|
2137
|
-
onChange?.(value);
|
|
2138
|
-
}
|
|
2139
|
-
};
|
|
2140
|
-
return /* @__PURE__ */ jsx(
|
|
2141
|
-
Select,
|
|
2142
|
-
{
|
|
2143
|
-
...rest,
|
|
2144
|
-
allowClear: true,
|
|
2145
|
-
showSearch: true,
|
|
2146
|
-
optionFilterProp: "label",
|
|
2147
|
-
mode: "tags",
|
|
2148
|
-
loading: isLoading,
|
|
2149
|
-
options,
|
|
2150
|
-
onChange: onValueChange
|
|
2151
|
-
}
|
|
2152
|
-
);
|
|
2153
|
-
};
|
|
2154
|
-
UserModalContentV2 = ({ isCreate }) => {
|
|
2155
|
-
const { t } = useTranslation();
|
|
2156
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
2157
|
-
const { data: roles, isLoading: isRolesLoading } = useAllRoles();
|
|
2158
|
-
const { data: groups, isLoading: isGroupsLoading } = useSWR6(
|
|
2159
|
-
"/api/enum/get?enum=game_group&type=all",
|
|
2160
|
-
(path) => axios2.get(path).then((response) => response.data.data)
|
|
2161
|
-
);
|
|
2162
|
-
[{ label: "\u901A\u7528", value: WILDCARD }].concat(
|
|
2163
|
-
groups?.map((group) => ({ label: group, value: group })) ?? []
|
|
2164
|
-
);
|
|
2165
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2166
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: !isCreate }) }),
|
|
2167
|
-
/* @__PURE__ */ jsx(Form.List, { name: "permissions", children: (fields, { add, remove }) => /* @__PURE__ */ jsxs(Row, { gutter: 8, children: [
|
|
2168
|
-
/* @__PURE__ */ jsx(Col, { span: 8, className: "text-center mb-4", children: /* @__PURE__ */ jsx(Text2, { strong: true, children: t("global.projectGroup") }) }),
|
|
2169
|
-
/* @__PURE__ */ jsx(Col, { span: 10, className: "text-center mb-4", children: /* @__PURE__ */ jsx(Text2, { strong: true, children: t("global.game") }) }),
|
|
2170
|
-
/* @__PURE__ */ jsx(Col, { span: 6, className: "text-center mb-4", children: /* @__PURE__ */ jsx(Text2, { strong: true, children: t("global.role") }) }),
|
|
2171
|
-
fields.map((field) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
2172
|
-
/* @__PURE__ */ jsx(Col, { span: 8, children: /* @__PURE__ */ jsx(Form.Item, { noStyle: true, shouldUpdate: true, children: ({ setFieldValue }) => /* @__PURE__ */ jsx(Form.Item, { name: [field.name, "game_group"], children: /* @__PURE__ */ jsx(
|
|
2173
|
-
GroupSelect,
|
|
2174
|
-
{
|
|
2175
|
-
onChange: () => {
|
|
2176
|
-
setFieldValue(["permissions", field.name, "game_ids"], []);
|
|
2177
|
-
}
|
|
2178
|
-
}
|
|
2179
|
-
) }) }) }),
|
|
2180
|
-
/* @__PURE__ */ jsx(Col, { span: 10, children: /* @__PURE__ */ jsx(
|
|
2181
|
-
Form.Item,
|
|
2182
|
-
{
|
|
2183
|
-
noStyle: true,
|
|
2184
|
-
shouldUpdate: (prevValues, nextValues) => prevValues.permissions[field.name]?.game_group !== nextValues.permissions[field.name]?.game_group,
|
|
2185
|
-
children: ({ getFieldValue }) => {
|
|
2186
|
-
const _groups = getFieldValue(["permissions", field.name, "game_group"]);
|
|
2187
|
-
return /* @__PURE__ */ jsx(
|
|
2188
|
-
Form.Item,
|
|
2189
|
-
{
|
|
2190
|
-
name: [field.name, "game_ids"],
|
|
2191
|
-
dependencies: [["permissions", field.name, "game_group"]],
|
|
2192
|
-
rules: [{ required: _groups?.length, message: "\u8BF7\u9009\u62E9\u6E38\u620F" }],
|
|
2193
|
-
children: /* @__PURE__ */ jsx(GameSelect2, { groups: _groups })
|
|
2194
|
-
}
|
|
2195
|
-
);
|
|
2196
|
-
}
|
|
2197
|
-
}
|
|
2198
|
-
) }),
|
|
2199
|
-
/* @__PURE__ */ jsx(Col, { span: 6, children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
|
|
2200
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx(
|
|
2201
|
-
Form.Item,
|
|
2202
|
-
{
|
|
2203
|
-
name: [field.name, "role"],
|
|
2204
|
-
rules: [
|
|
2205
|
-
{ required: true, message: "\u8BF7\u9009\u62E9\u89D2\u8272" },
|
|
2206
|
-
({ getFieldValue }) => ({
|
|
2207
|
-
validator(_rule, value) {
|
|
2208
|
-
const items = getFieldValue("permissions");
|
|
2209
|
-
const otherItems = items.filter((item, index) => !!item && index !== field.name);
|
|
2210
|
-
if (otherItems.some((item) => item.role === value)) {
|
|
2211
|
-
return Promise.reject(new Error("\u8BF7\u52FF\u91CD\u590D\u9009\u62E9\u89D2\u8272"));
|
|
2212
|
-
}
|
|
2213
|
-
return Promise.resolve();
|
|
2214
|
-
}
|
|
2215
|
-
})
|
|
2216
|
-
],
|
|
2217
|
-
children: /* @__PURE__ */ jsx(
|
|
2218
|
-
Select,
|
|
2219
|
-
{
|
|
2220
|
-
allowClear: true,
|
|
2221
|
-
showSearch: true,
|
|
2222
|
-
optionFilterProp: "label",
|
|
2223
|
-
loading: isRolesLoading,
|
|
2224
|
-
options: roles?.map((role) => ({ label: role.name, value: role.name }))
|
|
2225
|
-
}
|
|
2226
|
-
)
|
|
2227
|
-
}
|
|
2228
|
-
) }),
|
|
2229
|
-
/* @__PURE__ */ jsx("div", { className: "w-8 text-center", children: /* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsx(
|
|
2230
|
-
MinusCircleOutlined,
|
|
2231
|
-
{
|
|
2232
|
-
onClick: () => {
|
|
2233
|
-
remove(field.name);
|
|
2234
|
-
}
|
|
2235
|
-
}
|
|
2236
|
-
) }) })
|
|
2237
|
-
] }) })
|
|
2238
|
-
] }, field.key)),
|
|
2239
|
-
fields.length === 0 && /* @__PURE__ */ jsx(Col, { span: 24, children: /* @__PURE__ */ jsx(Empty, { className: "mb-6" }) }),
|
|
2240
|
-
/* @__PURE__ */ jsx(Col, { span: 24, children: /* @__PURE__ */ jsx(Button, { block: true, type: "dashed", onClick: () => add(), children: t("global.add") }) })
|
|
2241
|
-
] }) })
|
|
2242
|
-
] });
|
|
2243
|
-
};
|
|
2244
|
-
useCreateUserModalV2 = ({ onSuccess } = {}) => {
|
|
2245
|
-
const { t } = useTranslation();
|
|
2246
|
-
const { trigger } = useCreateUser();
|
|
2247
|
-
return useFormModal({
|
|
2248
|
-
title: t("User.createTitle"),
|
|
2249
|
-
width: "50vw",
|
|
2250
|
-
formProps: {
|
|
2251
|
-
autoComplete: "off",
|
|
2252
|
-
labelCol: { flex: "80px" }
|
|
2253
|
-
},
|
|
2254
|
-
content: /* @__PURE__ */ jsx(UserModalContentV2, { isCreate: true }),
|
|
2255
|
-
onConfirm: async (values) => {
|
|
2256
|
-
await trigger(values);
|
|
2257
|
-
onSuccess?.();
|
|
2258
|
-
}
|
|
2259
|
-
});
|
|
2260
|
-
};
|
|
2261
|
-
useUpdateUserModalV2 = ({ onSuccess } = {}) => {
|
|
2262
|
-
const { t } = useTranslation();
|
|
2263
|
-
const { trigger } = useUpdateUser();
|
|
2264
|
-
return useFormModal({
|
|
2265
|
-
title: t("User.updateTitle"),
|
|
2266
|
-
width: "50vw",
|
|
2267
|
-
formProps: {
|
|
2268
|
-
autoComplete: "off",
|
|
2269
|
-
labelCol: { flex: "80px" }
|
|
2270
|
-
},
|
|
2271
|
-
content: /* @__PURE__ */ jsx(UserModalContentV2, {}),
|
|
2272
|
-
onConfirm: async (values, extraValues) => {
|
|
2273
|
-
await trigger({ ...values, id: extraValues?.id });
|
|
2274
|
-
onSuccess?.();
|
|
2275
|
-
}
|
|
2276
|
-
});
|
|
2277
|
-
};
|
|
2278
|
-
}
|
|
2279
|
-
});
|
|
2280
|
-
var PermissionCollapse, permissionCollapse_default;
|
|
2281
|
-
var init_permissionCollapse = __esm({
|
|
2282
|
-
"src/features/permission/components/permissionCollapse/index.tsx"() {
|
|
2283
|
-
init_locale();
|
|
2284
|
-
PermissionCollapse = (props) => {
|
|
2285
|
-
const { permissions, readonly, expand, value, onChange } = props;
|
|
2286
|
-
const [activeKey, setActiveKey] = useState([]);
|
|
2287
|
-
const [checkedMap, setCheckedMap] = useState({});
|
|
2288
|
-
const [internalValue, setInternalValue] = useState(value ?? []);
|
|
2289
|
-
const { t } = useTranslation();
|
|
2290
|
-
const [, startTransition] = useTransition();
|
|
2291
|
-
const onCollapseChange = useCallback((key) => {
|
|
2292
|
-
setActiveKey(key);
|
|
2293
|
-
}, []);
|
|
2294
|
-
const getCheckedValue = (checkedValue, codes) => {
|
|
2295
|
-
let tempValue = [];
|
|
2296
|
-
if (checkedValue) {
|
|
2297
|
-
tempValue = [...new Set(internalValue.concat(codes))];
|
|
2298
|
-
} else {
|
|
2299
|
-
tempValue = internalValue.slice();
|
|
2300
|
-
codes.forEach((code) => {
|
|
2301
|
-
const index = tempValue.findIndex((item) => item === code);
|
|
2302
|
-
if (index > -1) {
|
|
2303
|
-
tempValue.splice(index, 1);
|
|
2304
|
-
}
|
|
2305
|
-
});
|
|
2306
|
-
}
|
|
2307
|
-
return tempValue;
|
|
2308
|
-
};
|
|
2309
|
-
const onCheckChange = (e, codes) => {
|
|
2310
|
-
const checkedValue = getCheckedValue(e.target.checked, codes);
|
|
2311
|
-
setInternalValue(checkedValue);
|
|
2312
|
-
onChange?.(checkedValue);
|
|
2313
|
-
};
|
|
2314
|
-
useEffect(() => {
|
|
2315
|
-
setInternalValue(value ?? []);
|
|
2316
|
-
}, [value]);
|
|
2317
|
-
useEffect(() => {
|
|
2318
|
-
if (expand) {
|
|
2319
|
-
startTransition(() => {
|
|
2320
|
-
setActiveKey((permissions ?? []).map(({ category }) => category));
|
|
2321
|
-
});
|
|
2322
|
-
}
|
|
2323
|
-
}, []);
|
|
2324
|
-
useEffect(() => {
|
|
2325
|
-
const checkedValue = (permissions ?? []).reduce(
|
|
2326
|
-
(acc, curr) => {
|
|
2327
|
-
acc[curr.category] = curr.permissions.every((item) => internalValue?.includes(item.value));
|
|
2328
|
-
return acc;
|
|
2329
|
-
},
|
|
2330
|
-
{}
|
|
2331
|
-
);
|
|
2332
|
-
setCheckedMap(checkedValue);
|
|
2333
|
-
}, [internalValue, permissions]);
|
|
2334
|
-
const items = (permissions ?? []).map((item) => ({
|
|
2335
|
-
key: item.category,
|
|
2336
|
-
label: item.category,
|
|
2337
|
-
extra: !readonly && /* @__PURE__ */ jsx(
|
|
2338
|
-
Checkbox,
|
|
2339
|
-
{
|
|
2340
|
-
checked: checkedMap[item.category],
|
|
2341
|
-
onChange: (e) => {
|
|
2342
|
-
onCheckChange(
|
|
2343
|
-
e,
|
|
2344
|
-
item.permissions?.map((permission) => permission.value)
|
|
2345
|
-
);
|
|
2346
|
-
},
|
|
2347
|
-
children: t("global.selectAll")
|
|
2348
|
-
}
|
|
2349
|
-
),
|
|
2350
|
-
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(
|
|
2351
|
-
Checkbox,
|
|
2352
|
-
{
|
|
2353
|
-
value: permission.value,
|
|
2354
|
-
onChange: (e) => {
|
|
2355
|
-
onCheckChange(e, [permission.value]);
|
|
2356
|
-
},
|
|
2357
|
-
children: permission.label
|
|
2358
|
-
}
|
|
2359
|
-
) }, permission.value)) }) })
|
|
2360
|
-
}));
|
|
2361
|
-
return /* @__PURE__ */ jsx(
|
|
2362
|
-
Collapse,
|
|
2363
|
-
{
|
|
2364
|
-
style: { width: "100%" },
|
|
2365
|
-
collapsible: "header",
|
|
2366
|
-
activeKey,
|
|
2367
|
-
items,
|
|
2368
|
-
onChange: onCollapseChange
|
|
2369
|
-
}
|
|
2370
|
-
);
|
|
2371
|
-
};
|
|
2372
|
-
permissionCollapse_default = PermissionCollapse;
|
|
2373
|
-
}
|
|
2374
|
-
});
|
|
2375
|
-
var Text3, Option2, PermissionWithGame, PermissionWithGame_default;
|
|
2376
|
-
var init_PermissionWithGame = __esm({
|
|
2377
|
-
"src/features/permission/components/permissionList/PermissionWithGame.tsx"() {
|
|
2378
|
-
init_locale();
|
|
2379
|
-
init_hooks5();
|
|
2380
|
-
init_permissionCollapse();
|
|
2381
|
-
({ Text: Text3 } = Typography);
|
|
2382
|
-
({ Option: Option2 } = Select);
|
|
2383
|
-
PermissionWithGame = (props) => {
|
|
2384
|
-
const { expand = true, value, readonly, onChange } = props;
|
|
2385
|
-
const { data: { permission, game: games } = {}, isLoading, error } = useAllPermissionsV2();
|
|
2386
|
-
const [gameList, setGameList] = useState([]);
|
|
2387
|
-
const globalPermissions = permission?.filter((item) => item.is_common);
|
|
2388
|
-
const gamePermissions = permission?.filter((item) => !item.is_common);
|
|
2389
|
-
const { t } = useTranslation();
|
|
2390
|
-
useEffect(() => {
|
|
2391
|
-
const list = [];
|
|
2392
|
-
Object.keys(value ?? {}).forEach((key) => {
|
|
2393
|
-
if (key !== "global") {
|
|
2394
|
-
list.push({ gameId: key, permissions: value?.[key] ?? [] });
|
|
2395
|
-
}
|
|
2396
|
-
});
|
|
2397
|
-
setGameList(list);
|
|
2398
|
-
}, [value]);
|
|
2399
|
-
if (error) {
|
|
2400
|
-
return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Text3, { type: "danger", children: t("PermissionList.failedDescription") }) });
|
|
2401
|
-
}
|
|
2402
|
-
const addGame = () => {
|
|
2403
|
-
setGameList((prev) => [...prev, { gameId: "", permissions: [] }]);
|
|
2404
|
-
};
|
|
2405
|
-
const removeGame = (index) => {
|
|
2406
|
-
setGameList((prev) => prev.filter((_, i) => i !== index));
|
|
2407
|
-
};
|
|
2408
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full", children: [
|
|
2409
|
-
/* @__PURE__ */ jsx("div", { className: "mb-12", children: /* @__PURE__ */ jsx(Divider, { dashed: true, children: t("PermissionList.baseSectionTitle") }) }),
|
|
2410
|
-
/* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
|
|
2411
|
-
permissionCollapse_default,
|
|
2412
|
-
{
|
|
2413
|
-
value: value?.global,
|
|
2414
|
-
readonly,
|
|
2415
|
-
permissions: globalPermissions,
|
|
2416
|
-
expand,
|
|
2417
|
-
onChange: (newValue) => {
|
|
2418
|
-
onChange?.({
|
|
2419
|
-
...value,
|
|
2420
|
-
global: newValue
|
|
2421
|
-
});
|
|
2422
|
-
}
|
|
2423
|
-
}
|
|
2424
|
-
) }),
|
|
2425
|
-
/* @__PURE__ */ jsx("div", { className: "my-12", children: /* @__PURE__ */ jsx(Divider, { dashed: true, children: t("PermissionList.gameSectionTitle") }) }),
|
|
2426
|
-
gameList.map((item, index) => /* @__PURE__ */ jsx(
|
|
2427
|
-
Card,
|
|
2428
|
-
{
|
|
2429
|
-
title: /* @__PURE__ */ jsxs(Space, { children: [
|
|
2430
|
-
/* @__PURE__ */ jsx(Text3, { children: t("global.game") }),
|
|
2431
|
-
readonly ? /* @__PURE__ */ jsx(Text3, { children: games?.find((game) => String(game.id) === item.gameId)?.name }) : /* @__PURE__ */ jsx(
|
|
2432
|
-
Select,
|
|
2433
|
-
{
|
|
2434
|
-
disabled: readonly,
|
|
2435
|
-
value: gameList[index].gameId || void 0,
|
|
2436
|
-
style: { width: "160px" },
|
|
2437
|
-
placeholder: t("PermissionList.gameSelectPlaceholder"),
|
|
2438
|
-
onChange: (selectedValue) => {
|
|
2439
|
-
setGameList((pev) => {
|
|
2440
|
-
const temp = pev.slice();
|
|
2441
|
-
temp[index].gameId = selectedValue;
|
|
2442
|
-
return temp;
|
|
2443
|
-
});
|
|
2444
|
-
},
|
|
2445
|
-
children: games?.map((game) => /* @__PURE__ */ jsx(
|
|
2446
|
-
Option2,
|
|
2447
|
-
{
|
|
2448
|
-
value: game.id,
|
|
2449
|
-
disabled: gameList.some(({ gameId }) => gameId === String(game.id)),
|
|
2450
|
-
children: game.name
|
|
2451
|
-
},
|
|
2452
|
-
game.id
|
|
2453
|
-
))
|
|
2454
|
-
}
|
|
2455
|
-
)
|
|
2456
|
-
] }),
|
|
2457
|
-
className: "mb-6",
|
|
2458
|
-
extra: !readonly && /* @__PURE__ */ jsx(
|
|
2459
|
-
Button,
|
|
2460
|
-
{
|
|
2461
|
-
type: "link",
|
|
2462
|
-
onClick: () => {
|
|
2463
|
-
removeGame(index);
|
|
2464
|
-
},
|
|
2465
|
-
children: t("PermissionList.removeText")
|
|
2466
|
-
}
|
|
2467
|
-
),
|
|
2468
|
-
children: gameList[index].gameId ? /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
|
|
2469
|
-
permissionCollapse_default,
|
|
2470
|
-
{
|
|
2471
|
-
value: value?.[gameList[index].gameId],
|
|
2472
|
-
readonly,
|
|
2473
|
-
expand,
|
|
2474
|
-
permissions: gamePermissions,
|
|
2475
|
-
onChange: (newValue) => {
|
|
2476
|
-
onChange?.({
|
|
2477
|
-
...value,
|
|
2478
|
-
[gameList[index].gameId]: newValue
|
|
2479
|
-
});
|
|
2480
|
-
}
|
|
2481
|
-
}
|
|
2482
|
-
) }) : /* @__PURE__ */ jsx(Empty, { description: t("PermissionList.gameSectionDescription") })
|
|
2483
|
-
},
|
|
2484
|
-
index
|
|
2485
|
-
)),
|
|
2486
|
-
!readonly && /* @__PURE__ */ jsx(Button, { block: true, type: "dashed", onClick: addGame, children: t("PermissionList.addText") })
|
|
2487
|
-
] });
|
|
2488
|
-
};
|
|
2489
|
-
PermissionWithGame_default = PermissionWithGame;
|
|
2490
|
-
}
|
|
2491
|
-
});
|
|
2492
|
-
var Text4, PermissionWithoutGame, PermissionWithoutGame_default;
|
|
2493
|
-
var init_PermissionWithoutGame = __esm({
|
|
2494
|
-
"src/features/permission/components/permissionList/PermissionWithoutGame.tsx"() {
|
|
2495
|
-
init_locale();
|
|
2496
|
-
init_hooks5();
|
|
2497
|
-
init_permissionCollapse();
|
|
2498
|
-
({ Text: Text4 } = Typography);
|
|
2499
|
-
PermissionWithoutGame = (props) => {
|
|
2500
|
-
const { expand = true, value, readonly, onChange } = props;
|
|
2501
|
-
const { data: permissions, isLoading, error } = useAllPermissions();
|
|
2502
|
-
const { t } = useTranslation();
|
|
2503
|
-
if (error) {
|
|
2504
|
-
return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Text4, { type: "danger", children: t("PermissionList.failedDescription") }) });
|
|
2505
|
-
}
|
|
2506
|
-
return /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
|
|
2507
|
-
permissionCollapse_default,
|
|
2508
|
-
{
|
|
2509
|
-
value,
|
|
2510
|
-
permissions,
|
|
2511
|
-
readonly,
|
|
2512
|
-
expand,
|
|
2513
|
-
onChange
|
|
2514
|
-
}
|
|
2515
|
-
) });
|
|
2516
|
-
};
|
|
2517
|
-
PermissionWithoutGame_default = PermissionWithoutGame;
|
|
2518
|
-
}
|
|
2519
|
-
});
|
|
2520
|
-
var PermissionList, permissionList_default;
|
|
2521
|
-
var init_permissionList = __esm({
|
|
2522
|
-
"src/features/permission/components/permissionList/index.tsx"() {
|
|
2523
|
-
init_toolkitsProvider();
|
|
2524
|
-
init_PermissionWithGame();
|
|
2525
|
-
init_PermissionWithoutGame();
|
|
2526
|
-
PermissionList = (props) => {
|
|
2527
|
-
const { value } = props;
|
|
2528
|
-
const version = useToolkitsStore((state) => state.permissionVersion);
|
|
2529
|
-
return /* @__PURE__ */ jsx(Fragment, { children: version === "v2" /* V2 */ ? /* @__PURE__ */ jsx(PermissionWithGame_default, { ...props, value }) : /* @__PURE__ */ jsx(PermissionWithoutGame_default, { ...props, value }) });
|
|
2530
|
-
};
|
|
2531
|
-
permissionList_default = PermissionList;
|
|
2532
|
-
}
|
|
2533
|
-
});
|
|
2534
|
-
|
|
2535
|
-
// src/features/permission/components/index.ts
|
|
2536
|
-
var init_components = __esm({
|
|
2537
|
-
"src/features/permission/components/index.ts"() {
|
|
2538
|
-
init_permissionList();
|
|
2539
|
-
}
|
|
2540
|
-
});
|
|
2541
|
-
|
|
2542
|
-
// src/features/permission/types/index.ts
|
|
2543
|
-
var init_types2 = __esm({
|
|
2544
|
-
"src/features/permission/types/index.ts"() {
|
|
2545
|
-
}
|
|
2546
|
-
});
|
|
2547
|
-
|
|
2548
|
-
// src/features/permission/index.ts
|
|
2549
|
-
var init_permission = __esm({
|
|
2550
|
-
"src/features/permission/index.ts"() {
|
|
2551
|
-
init_components();
|
|
2552
|
-
init_hooks5();
|
|
2553
|
-
init_types2();
|
|
2554
|
-
}
|
|
2555
|
-
});
|
|
2556
|
-
|
|
2557
|
-
// src/pages/permission/userList/index.tsx
|
|
2558
|
-
var userList_exports = {};
|
|
2559
|
-
__export(userList_exports, {
|
|
2560
|
-
default: () => userList_default
|
|
2561
|
-
});
|
|
2562
|
-
var url2, UserList, userList_default;
|
|
2563
|
-
var init_userList = __esm({
|
|
2564
|
-
"src/pages/permission/userList/index.tsx"() {
|
|
2565
|
-
init_highlight();
|
|
2566
|
-
init_locale();
|
|
2567
|
-
init_permissionButton();
|
|
2568
|
-
init_queryList();
|
|
2569
|
-
init_toolkitsProvider();
|
|
2570
|
-
init_permission();
|
|
2571
|
-
url2 = "/api/usystem/user/list";
|
|
2572
|
-
UserList = () => {
|
|
2573
|
-
const { modal, message } = App.useApp();
|
|
2574
|
-
const { t } = useTranslation();
|
|
2575
|
-
const remove = useRemoveUser();
|
|
2576
|
-
const { mutate: mutate2, refetch } = useQueryListStore();
|
|
2577
|
-
const { permissionVersion } = useToolkitsStore((s) => s);
|
|
2578
|
-
const isV1 = permissionVersion === "v1" /* V1 */;
|
|
2579
|
-
const isV3 = permissionVersion === "v3" /* V3 */;
|
|
2580
|
-
const { show: showCreateModal, modal: createModal } = useCreateUserModal({
|
|
2581
|
-
onSuccess() {
|
|
2582
|
-
refetch(url2, { page: 1 });
|
|
2583
|
-
message.success(t("User.createSuccessfully"));
|
|
2584
|
-
}
|
|
2585
|
-
});
|
|
2586
|
-
const { show: showUpdateModal, modal: updateModal } = useUpdateUserModal({
|
|
2587
|
-
onSuccess() {
|
|
2588
|
-
refetch(url2);
|
|
2589
|
-
message.success(t("User.updateSuccessfully"));
|
|
2590
|
-
}
|
|
2591
|
-
});
|
|
2592
|
-
const { show: showCreateModalV2, modal: createModalV2 } = useCreateUserModalV2({
|
|
2593
|
-
onSuccess() {
|
|
2594
|
-
refetch(url2, { page: 1 });
|
|
2595
|
-
message.success(t("User.createSuccessfully"));
|
|
2596
|
-
}
|
|
2597
|
-
});
|
|
2598
|
-
const { show: showUpdateModalV2, modal: updateModalV2 } = useUpdateUserModalV2({
|
|
2599
|
-
onSuccess() {
|
|
2600
|
-
refetch(url2);
|
|
2601
|
-
message.success(t("User.updateSuccessfully"));
|
|
2602
|
-
}
|
|
2603
|
-
});
|
|
2604
|
-
const columns = [
|
|
2605
|
-
{
|
|
2606
|
-
title: t("global.name"),
|
|
2607
|
-
dataIndex: "name",
|
|
2608
|
-
key: "name",
|
|
2609
|
-
render(value, record) {
|
|
2610
|
-
if (isV3) {
|
|
2611
|
-
return /* @__PURE__ */ jsx(Link, { to: `./${record.id}`, children: value });
|
|
2612
|
-
}
|
|
2613
|
-
return value;
|
|
2614
|
-
}
|
|
2615
|
-
},
|
|
2616
|
-
{
|
|
2617
|
-
title: "ID",
|
|
2618
|
-
dataIndex: "id",
|
|
2619
|
-
key: "id"
|
|
2620
|
-
},
|
|
2621
|
-
(isV1 || isV3) && {
|
|
2622
|
-
title: t("global.role"),
|
|
2623
|
-
dataIndex: "roles",
|
|
2624
|
-
key: "roles",
|
|
2625
|
-
width: "40%",
|
|
2626
|
-
render(value) {
|
|
2627
|
-
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)) });
|
|
2628
|
-
}
|
|
2629
|
-
},
|
|
2630
|
-
{
|
|
2631
|
-
title: t("global.creationTime"),
|
|
2632
|
-
dataIndex: "Ctime",
|
|
2633
|
-
key: "ctime"
|
|
2634
|
-
},
|
|
2635
|
-
{
|
|
2636
|
-
title: t("global.operation"),
|
|
2637
|
-
width: 150,
|
|
2638
|
-
align: "center",
|
|
2639
|
-
render: (_, record) => {
|
|
2640
|
-
const { name, permissions, roles, id: id2 } = record;
|
|
2641
|
-
return /* @__PURE__ */ jsxs(Space, { children: [
|
|
2642
|
-
/* @__PURE__ */ jsx(
|
|
2643
|
-
PermissionButton_default,
|
|
2644
|
-
{
|
|
2645
|
-
size: "small",
|
|
2646
|
-
type: "link",
|
|
2647
|
-
code: "100003",
|
|
2648
|
-
onClick: () => {
|
|
2649
|
-
if (isV3) {
|
|
2650
|
-
showUpdateModalV2({
|
|
2651
|
-
initialValues: {
|
|
2652
|
-
name,
|
|
2653
|
-
permissions
|
|
2654
|
-
},
|
|
2655
|
-
extraValues: {
|
|
2656
|
-
id: id2
|
|
2657
|
-
}
|
|
2658
|
-
});
|
|
2659
|
-
} else {
|
|
2660
|
-
showUpdateModal({
|
|
2661
|
-
initialValues: {
|
|
2662
|
-
name,
|
|
2663
|
-
roles
|
|
2664
|
-
},
|
|
2665
|
-
extraValues: {
|
|
2666
|
-
id: id2
|
|
2667
|
-
}
|
|
2668
|
-
});
|
|
2669
|
-
}
|
|
2670
|
-
},
|
|
2671
|
-
children: t("global.update")
|
|
2672
|
-
}
|
|
2673
|
-
),
|
|
2674
|
-
/* @__PURE__ */ jsx(
|
|
2675
|
-
PermissionButton_default,
|
|
2676
|
-
{
|
|
2677
|
-
danger: true,
|
|
2678
|
-
size: "small",
|
|
2679
|
-
code: "100004",
|
|
2680
|
-
type: "link",
|
|
2681
|
-
onClick: () => {
|
|
2682
|
-
modal.confirm({
|
|
2683
|
-
title: t("User.deleteTitle"),
|
|
2684
|
-
content: /* @__PURE__ */ jsx(Highlight_default, { texts: [name], children: t("User.deleteContent", { user: name }) }),
|
|
2685
|
-
async onOk() {
|
|
2686
|
-
await remove.trigger({
|
|
2687
|
-
id: id2,
|
|
2688
|
-
name
|
|
2689
|
-
});
|
|
2690
|
-
mutate2(url2, (prev) => {
|
|
2691
|
-
return produce(prev, (draft) => {
|
|
2692
|
-
const index = draft?.List?.findIndex((item) => item.id === id2);
|
|
2693
|
-
if (index) {
|
|
2694
|
-
draft?.List?.splice(index, 1);
|
|
2695
|
-
}
|
|
2696
|
-
});
|
|
2697
|
-
});
|
|
2698
|
-
message.success(t("User.deleteSuccessfully"));
|
|
2699
|
-
}
|
|
2700
|
-
});
|
|
2701
|
-
},
|
|
2702
|
-
children: t("global.delete")
|
|
2703
|
-
}
|
|
2704
|
-
)
|
|
2705
|
-
] });
|
|
2706
|
-
}
|
|
2707
|
-
}
|
|
2708
|
-
].filter(Boolean);
|
|
2709
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2710
|
-
/* @__PURE__ */ jsx(
|
|
2711
|
-
Card,
|
|
2712
|
-
{
|
|
2713
|
-
title: t("global.user"),
|
|
2714
|
-
extra: /* @__PURE__ */ jsx(
|
|
2715
|
-
PermissionButton_default,
|
|
2716
|
-
{
|
|
2717
|
-
type: "primary",
|
|
2718
|
-
icon: /* @__PURE__ */ jsx(UserAddOutlined, {}),
|
|
2719
|
-
code: "100002",
|
|
2720
|
-
onClick: () => {
|
|
2721
|
-
if (isV3) {
|
|
2722
|
-
showCreateModalV2();
|
|
2723
|
-
} else {
|
|
2724
|
-
showCreateModal();
|
|
2725
|
-
}
|
|
2726
|
-
},
|
|
2727
|
-
children: t("User.createTitle")
|
|
2728
|
-
}
|
|
2729
|
-
),
|
|
2730
|
-
children: /* @__PURE__ */ jsx(
|
|
2731
|
-
QueryList_default,
|
|
2732
|
-
{
|
|
2733
|
-
code: "100001",
|
|
2734
|
-
url: url2,
|
|
2735
|
-
rowKey: "id",
|
|
2736
|
-
columns,
|
|
2737
|
-
getTotal: (data) => data?.data.Total,
|
|
2738
|
-
getDataSource: (data) => data?.data.List,
|
|
2739
|
-
renderForm: isV3 ? (form) => /* @__PURE__ */ jsx(Form, { form, children: /* @__PURE__ */ jsx(Form.Item, { label: "\u540D\u79F0", name: "name", children: /* @__PURE__ */ jsx(Input, {}) }) }) : void 0
|
|
2740
|
-
}
|
|
2741
|
-
)
|
|
2742
|
-
}
|
|
2743
|
-
),
|
|
2744
|
-
createModal,
|
|
2745
|
-
updateModal,
|
|
2746
|
-
createModalV2,
|
|
2747
|
-
updateModalV2
|
|
2748
|
-
] });
|
|
2749
|
-
};
|
|
2750
|
-
userList_default = withContext(UserList, { isGlobal: true });
|
|
2751
|
-
}
|
|
2752
|
-
});
|
|
2753
|
-
|
|
2754
|
-
// src/pages/permission/userDetail/index.tsx
|
|
2755
|
-
var userDetail_exports = {};
|
|
2756
|
-
__export(userDetail_exports, {
|
|
2757
|
-
default: () => userDetail_default
|
|
2758
|
-
});
|
|
2759
|
-
var UserDetail, userDetail_default;
|
|
2760
|
-
var init_userDetail = __esm({
|
|
2761
|
-
"src/pages/permission/userDetail/index.tsx"() {
|
|
2762
|
-
init_layout();
|
|
2763
|
-
init_locale();
|
|
2764
|
-
init_permissionButton();
|
|
2765
|
-
init_toolkitsProvider();
|
|
2766
|
-
init_constants();
|
|
2767
|
-
init_permission();
|
|
2768
|
-
init_hooks2();
|
|
2769
|
-
UserDetail = () => {
|
|
2770
|
-
const { message } = App.useApp();
|
|
2771
|
-
const params = useParams();
|
|
2772
|
-
const { t } = useTranslation();
|
|
2773
|
-
const { axios: axios2, gameApiV2 } = useToolkitsStore((s) => s);
|
|
2774
|
-
const { data, isLoading, mutate: mutate2 } = useSWR6(
|
|
2775
|
-
params.id ? `/api/usystem/user/info?id=${params.id}` : null,
|
|
2776
|
-
(url4) => axios2.get(url4).then((res) => res.data.data)
|
|
2777
|
-
);
|
|
2778
|
-
const { data: games } = useGames();
|
|
2779
|
-
const { data: roleViewable } = usePermission("200005");
|
|
2780
|
-
const { show, modal } = useUpdateUserModalV2({
|
|
2781
|
-
onSuccess() {
|
|
2782
|
-
mutate2();
|
|
2783
|
-
message.success(t("User.updateSuccessfully"));
|
|
2784
|
-
}
|
|
2785
|
-
});
|
|
2786
|
-
const columns = [
|
|
2787
|
-
{
|
|
2788
|
-
key: "group",
|
|
2789
|
-
title: t("global.projectGroup"),
|
|
2790
|
-
dataIndex: "game_group",
|
|
2791
|
-
render(value) {
|
|
2792
|
-
return value.map((item) => {
|
|
2793
|
-
return /* @__PURE__ */ jsx(Tag, { children: item === WILDCARD ? "\u901A\u7528" : item }, item);
|
|
2794
|
-
});
|
|
2795
|
-
}
|
|
2796
|
-
},
|
|
2797
|
-
{
|
|
2798
|
-
key: "game",
|
|
2799
|
-
title: t("global.game"),
|
|
2800
|
-
dataIndex: "game_ids",
|
|
2801
|
-
render(value) {
|
|
2802
|
-
return value.map((item) => {
|
|
2803
|
-
const matchedGame = games?.find((game) => String(gameApiV2 ? game.game_id : game.id) === item);
|
|
2804
|
-
return /* @__PURE__ */ jsx(Tag, { children: matchedGame?.name ?? (item === WILDCARD ? "\u901A\u7528" : item) }, item);
|
|
2805
|
-
});
|
|
2806
|
-
}
|
|
2807
|
-
},
|
|
2808
|
-
{
|
|
2809
|
-
key: "role",
|
|
2810
|
-
title: t("global.role"),
|
|
2811
|
-
dataIndex: "role",
|
|
2812
|
-
render(value) {
|
|
2813
|
-
return roleViewable ? /* @__PURE__ */ jsx(Link, { to: `../../role/${value}`, relative: "path", children: value }) : value;
|
|
2814
|
-
}
|
|
2815
|
-
}
|
|
2816
|
-
];
|
|
2817
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2818
|
-
/* @__PURE__ */ jsx(
|
|
2819
|
-
Breadcrumb,
|
|
2820
|
-
{
|
|
2821
|
-
className: "mb-6",
|
|
2822
|
-
items: [
|
|
2823
|
-
{
|
|
2824
|
-
key: "1",
|
|
2825
|
-
title: /* @__PURE__ */ jsx(Link, { to: "..", relative: "path", children: t("global.user") })
|
|
2826
|
-
},
|
|
2827
|
-
{
|
|
2828
|
-
key: "2",
|
|
2829
|
-
title: "\u7528\u6237\u8BE6\u60C5"
|
|
2830
|
-
}
|
|
2831
|
-
]
|
|
2832
|
-
}
|
|
2833
|
-
),
|
|
2834
|
-
/* @__PURE__ */ jsx(
|
|
2835
|
-
Card,
|
|
2836
|
-
{
|
|
2837
|
-
title: "\u7528\u6237\u8BE6\u60C5",
|
|
2838
|
-
loading: isLoading,
|
|
2839
|
-
extra: /* @__PURE__ */ jsx(
|
|
2840
|
-
PermissionButton_default,
|
|
2841
|
-
{
|
|
2842
|
-
code: "100003",
|
|
2843
|
-
onClick: () => {
|
|
2844
|
-
show({
|
|
2845
|
-
initialValues: {
|
|
2846
|
-
name: data?.name,
|
|
2847
|
-
permissions: data?.permissions
|
|
2848
|
-
},
|
|
2849
|
-
extraValues: {
|
|
2850
|
-
id: data.id
|
|
2851
|
-
}
|
|
2852
|
-
});
|
|
2853
|
-
},
|
|
2854
|
-
children: t("global.update")
|
|
2855
|
-
}
|
|
2856
|
-
),
|
|
2857
|
-
children: /* @__PURE__ */ jsxs(Descriptions, { bordered: true, column: 1, children: [
|
|
2858
|
-
/* @__PURE__ */ jsx(Descriptions.Item, { label: t("global.name"), children: data?.name }),
|
|
2859
|
-
/* @__PURE__ */ jsx(Descriptions.Item, { label: "ID", children: data?.id }),
|
|
2860
|
-
/* @__PURE__ */ jsx(Descriptions.Item, { label: t("global.role"), children: /* @__PURE__ */ jsx(Table, { rowKey: "role", columns, dataSource: data?.permissions, pagination: false }) })
|
|
2861
|
-
] })
|
|
2862
|
-
}
|
|
2863
|
-
),
|
|
2864
|
-
modal
|
|
2865
|
-
] });
|
|
2866
|
-
};
|
|
2867
|
-
userDetail_default = UserDetail;
|
|
2868
|
-
}
|
|
2869
|
-
});
|
|
2870
|
-
|
|
2871
|
-
// src/pages/permission/roleList/index.tsx
|
|
2872
|
-
var roleList_exports = {};
|
|
2873
|
-
__export(roleList_exports, {
|
|
2874
|
-
default: () => roleList_default
|
|
2875
|
-
});
|
|
2876
|
-
var url3, RoleList, roleList_default;
|
|
2877
|
-
var init_roleList = __esm({
|
|
2878
|
-
"src/pages/permission/roleList/index.tsx"() {
|
|
2879
|
-
init_highlight();
|
|
2880
|
-
init_locale();
|
|
2881
|
-
init_permissionButton();
|
|
2882
|
-
init_queryList();
|
|
2883
|
-
init_stores4();
|
|
2884
|
-
init_toolkitsProvider();
|
|
2885
|
-
init_permission();
|
|
2886
|
-
init_hooks2();
|
|
2887
|
-
url3 = "/api/usystem/role/list";
|
|
2888
|
-
RoleList = () => {
|
|
2889
|
-
const { modal, message } = App.useApp();
|
|
2890
|
-
const { data: viewable } = usePermission("200005");
|
|
2891
|
-
const { t } = useTranslation();
|
|
2892
|
-
const { axios: axios2, permissionVersion } = useToolkitsStore((s) => s);
|
|
2893
|
-
const { mutate: mutate2, refetch } = useQueryListStore();
|
|
2894
|
-
const { show: showCreateModal, modal: createModal } = useCreateRoleModal({
|
|
2895
|
-
onSuccess() {
|
|
2896
|
-
refetch(url3, { page: 1 });
|
|
2897
|
-
message.success(t("Role.createSuccessfully"));
|
|
2898
|
-
}
|
|
2899
|
-
});
|
|
2900
|
-
const { show: showUpdateModal, modal: updateModal } = useUpdateRoleModal({
|
|
2901
|
-
onSuccess() {
|
|
2902
|
-
mutate2(url3);
|
|
2903
|
-
message.success(t("Role.updateSuccessfully"));
|
|
2904
|
-
}
|
|
2905
|
-
});
|
|
2906
|
-
const remove = useRemoveRole();
|
|
2907
|
-
const handleUpdateBtnClick = async (record) => {
|
|
2908
|
-
const response = await axios2.get(
|
|
2909
|
-
`/api/usystem/role/info${permissionVersion === "v2" /* V2 */ ? "V2" : ""}?name=${record.name}`
|
|
2910
|
-
);
|
|
2911
|
-
const data = response.data.data;
|
|
2912
|
-
showUpdateModal({
|
|
2913
|
-
initialValues: {
|
|
2914
|
-
permissions: data?.permissions,
|
|
2915
|
-
name: data?.name.replace(/^role_/, "")
|
|
2916
|
-
},
|
|
2917
|
-
extraValues: {
|
|
2918
|
-
id: data?.id
|
|
2919
|
-
}
|
|
2920
|
-
});
|
|
2921
|
-
};
|
|
2922
|
-
const columns = [
|
|
2923
|
-
{
|
|
2924
|
-
title: t("global.name"),
|
|
2925
|
-
key: "name",
|
|
2926
|
-
render(value) {
|
|
2927
|
-
if (viewable) {
|
|
2928
|
-
return /* @__PURE__ */ jsx(Link, { to: `${value.name}`, relative: "path", children: value.name });
|
|
2929
|
-
} else {
|
|
2930
|
-
return /* @__PURE__ */ jsx(Fragment, { children: value.name });
|
|
2931
|
-
}
|
|
2932
|
-
}
|
|
2933
|
-
},
|
|
2934
|
-
{
|
|
2935
|
-
title: "ID",
|
|
2936
|
-
dataIndex: "id",
|
|
2937
|
-
key: "id"
|
|
2938
|
-
},
|
|
2939
|
-
{
|
|
2940
|
-
title: t("global.creationTime"),
|
|
2941
|
-
dataIndex: "ctime",
|
|
2942
|
-
key: "ctime"
|
|
2943
|
-
},
|
|
2944
|
-
{
|
|
2945
|
-
title: t("global.operation"),
|
|
2946
|
-
width: 150,
|
|
2947
|
-
align: "center",
|
|
2948
|
-
render: (_, record) => {
|
|
2949
|
-
return /* @__PURE__ */ jsxs(Space, { size: "small", children: [
|
|
2950
|
-
/* @__PURE__ */ jsx(
|
|
2951
|
-
PermissionButton_default,
|
|
2952
|
-
{
|
|
2953
|
-
code: "200003",
|
|
2954
|
-
size: "small",
|
|
2955
|
-
type: "link",
|
|
2956
|
-
onClick: async () => {
|
|
2957
|
-
handleUpdateBtnClick(record);
|
|
2958
|
-
},
|
|
2959
|
-
children: t("global.update")
|
|
2960
|
-
}
|
|
2961
|
-
),
|
|
2962
|
-
/* @__PURE__ */ jsx(
|
|
2963
|
-
PermissionButton_default,
|
|
2964
|
-
{
|
|
2965
|
-
danger: true,
|
|
2966
|
-
code: "200004",
|
|
2967
|
-
size: "small",
|
|
2968
|
-
type: "link",
|
|
2969
|
-
onClick: () => {
|
|
2970
|
-
modal.confirm({
|
|
2971
|
-
title: t("Role.deleteTitle"),
|
|
2972
|
-
content: /* @__PURE__ */ jsx(Highlight_default, { texts: [record.name], children: t("Role.deleteContent", { role: record.name }) }),
|
|
2973
|
-
async onOk() {
|
|
2974
|
-
await remove.trigger({
|
|
2975
|
-
id: record.id,
|
|
2976
|
-
name: record.name
|
|
2977
|
-
});
|
|
2978
|
-
mutate2(url3, (prev) => {
|
|
2979
|
-
return produce(prev, (draft) => {
|
|
2980
|
-
const index = draft?.List?.findIndex((item) => item.id === record.id);
|
|
2981
|
-
if (index) {
|
|
2982
|
-
draft?.List?.splice(index, 1);
|
|
2983
|
-
}
|
|
2984
|
-
});
|
|
2985
|
-
});
|
|
2986
|
-
message.success(t("Role.deleteSuccessfully"));
|
|
2987
|
-
}
|
|
2988
|
-
});
|
|
2989
|
-
},
|
|
2990
|
-
children: t("global.delete")
|
|
2991
|
-
}
|
|
2992
|
-
)
|
|
2993
|
-
] });
|
|
2994
|
-
}
|
|
2995
|
-
}
|
|
2996
|
-
];
|
|
2997
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2998
|
-
/* @__PURE__ */ jsx(
|
|
2999
|
-
Card,
|
|
3000
|
-
{
|
|
3001
|
-
title: t("global.role"),
|
|
3002
|
-
extra: /* @__PURE__ */ jsx(
|
|
3003
|
-
PermissionButton_default,
|
|
3004
|
-
{
|
|
3005
|
-
type: "primary",
|
|
3006
|
-
code: "200002",
|
|
3007
|
-
icon: /* @__PURE__ */ jsx(UsergroupAddOutlined, {}),
|
|
3008
|
-
onClick: () => {
|
|
3009
|
-
showCreateModal();
|
|
3010
|
-
},
|
|
3011
|
-
children: t("Role.createTitle")
|
|
3012
|
-
}
|
|
3013
|
-
),
|
|
3014
|
-
children: /* @__PURE__ */ jsx(
|
|
3015
|
-
QueryList_default,
|
|
3016
|
-
{
|
|
3017
|
-
rowKey: "name",
|
|
3018
|
-
columns,
|
|
3019
|
-
code: "200001",
|
|
3020
|
-
url: url3,
|
|
3021
|
-
getTotal: (data) => data?.data.Total,
|
|
3022
|
-
getDataSource: (data) => data?.data.List
|
|
3023
|
-
}
|
|
3024
|
-
)
|
|
3025
|
-
}
|
|
3026
|
-
),
|
|
3027
|
-
createModal,
|
|
3028
|
-
updateModal
|
|
3029
|
-
] });
|
|
3030
|
-
};
|
|
3031
|
-
roleList_default = withContext(RoleList, {
|
|
3032
|
-
isGlobal: true
|
|
3033
|
-
});
|
|
3034
|
-
}
|
|
3035
|
-
});
|
|
3036
|
-
|
|
3037
|
-
// src/pages/permission/roleDetail/index.tsx
|
|
3038
|
-
var roleDetail_exports = {};
|
|
3039
|
-
__export(roleDetail_exports, {
|
|
3040
|
-
default: () => roleDetail_default
|
|
3041
|
-
});
|
|
3042
|
-
var RoleDetail, roleDetail_default;
|
|
3043
|
-
var init_roleDetail = __esm({
|
|
3044
|
-
"src/pages/permission/roleDetail/index.tsx"() {
|
|
3045
|
-
init_locale();
|
|
3046
|
-
init_permissionButton();
|
|
3047
|
-
init_toolkitsProvider();
|
|
3048
|
-
init_permission();
|
|
3049
|
-
RoleDetail = () => {
|
|
3050
|
-
const { message } = App.useApp();
|
|
3051
|
-
const params = useParams();
|
|
3052
|
-
const { t } = useTranslation();
|
|
3053
|
-
const { data, isLoading, mutate: mutate2 } = useRole(params.name);
|
|
3054
|
-
const { show, modal } = useUpdateRoleModal({
|
|
3055
|
-
onSuccess() {
|
|
3056
|
-
mutate2();
|
|
3057
|
-
message.success(t("Role.updateSuccessfully"));
|
|
3058
|
-
}
|
|
3059
|
-
});
|
|
3060
|
-
const handleUpdateBtnClick = async () => {
|
|
3061
|
-
show({
|
|
3062
|
-
initialValues: {
|
|
3063
|
-
permissions: data?.permissions,
|
|
3064
|
-
name: data?.name.replace(/^role_/, "")
|
|
3065
|
-
},
|
|
3066
|
-
extraValues: {
|
|
3067
|
-
id: data.id
|
|
3068
|
-
}
|
|
3069
|
-
});
|
|
3070
|
-
};
|
|
3071
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3072
|
-
/* @__PURE__ */ jsx(
|
|
3073
|
-
Breadcrumb,
|
|
3074
|
-
{
|
|
3075
|
-
style: { marginBottom: 24 },
|
|
3076
|
-
items: [
|
|
3077
|
-
{
|
|
3078
|
-
key: "1",
|
|
3079
|
-
title: /* @__PURE__ */ jsx(Link, { to: "..", relative: "path", children: t("global.role") })
|
|
3080
|
-
},
|
|
3081
|
-
{
|
|
3082
|
-
key: "2",
|
|
3083
|
-
title: t("RoleDetail.title")
|
|
3084
|
-
}
|
|
3085
|
-
]
|
|
3086
|
-
}
|
|
3087
|
-
),
|
|
3088
|
-
/* @__PURE__ */ jsx(
|
|
3089
|
-
Card,
|
|
3090
|
-
{
|
|
3091
|
-
title: t("RoleDetail.title"),
|
|
3092
|
-
extra: /* @__PURE__ */ jsx(PermissionButton_default, { code: "200003", onClick: handleUpdateBtnClick, children: t("global.update") }),
|
|
3093
|
-
children: /* @__PURE__ */ jsxs(Skeleton, { loading: isLoading, children: [
|
|
3094
|
-
/* @__PURE__ */ jsxs(Descriptions, { column: 2, layout: "vertical", className: "mb-6", children: [
|
|
3095
|
-
/* @__PURE__ */ jsx(Descriptions.Item, { label: t("global.name"), children: data?.name }),
|
|
3096
|
-
/* @__PURE__ */ jsx(Descriptions.Item, { label: "ID", children: data?.id }),
|
|
3097
|
-
/* @__PURE__ */ jsx(Descriptions.Item, { label: t("global.creationTime"), children: data?.ctime })
|
|
3098
|
-
] }),
|
|
3099
|
-
/* @__PURE__ */ jsx(permissionList_default, { readonly: true, value: data?.permissions })
|
|
3100
|
-
] })
|
|
3101
|
-
}
|
|
3102
|
-
),
|
|
3103
|
-
modal
|
|
3104
|
-
] });
|
|
3105
|
-
};
|
|
3106
|
-
roleDetail_default = withContext(RoleDetail, { isGlobal: true });
|
|
3107
|
-
}
|
|
3108
|
-
});
|
|
3109
|
-
|
|
3110
|
-
// src/components/dynamicTags/DynamicTags.tsx
|
|
3111
|
-
init_locale();
|
|
3112
|
-
var DynamicTags = (props) => {
|
|
3113
|
-
const { initialTags, addable, removable, addCallback, removeCallback } = props;
|
|
3114
|
-
const { t } = useTranslation();
|
|
3115
|
-
const { token } = theme.useToken();
|
|
3116
|
-
const [tags, setTags] = useState([]);
|
|
3117
|
-
const [inputVisible, setInputVisible] = useState(false);
|
|
3118
|
-
const [inputValue, setInputValue] = useState("");
|
|
3119
|
-
const [editInputIndex, setEditInputIndex] = useState(-1);
|
|
3120
|
-
const [editInputValue, setEditInputValue] = useState("");
|
|
3121
|
-
const inputRef = useRef(null);
|
|
3122
|
-
const editInputRef = useRef(null);
|
|
3123
|
-
useEffect(() => {
|
|
3124
|
-
setTags(initialTags ?? []);
|
|
3125
|
-
}, [initialTags]);
|
|
3126
|
-
useEffect(() => {
|
|
3127
|
-
if (inputVisible) {
|
|
3128
|
-
inputRef.current?.focus();
|
|
3129
|
-
}
|
|
3130
|
-
}, [inputVisible]);
|
|
3131
|
-
useEffect(() => {
|
|
3132
|
-
editInputRef.current?.focus();
|
|
3133
|
-
}, [inputValue]);
|
|
3134
|
-
const handleClose = async (removedTag) => {
|
|
3135
|
-
const success = await removeCallback?.(removedTag);
|
|
3136
|
-
if (success) {
|
|
3137
|
-
const newTags = tags.filter((tag) => tag !== removedTag);
|
|
3138
|
-
setTags(newTags);
|
|
3139
|
-
}
|
|
3140
|
-
};
|
|
3141
|
-
const showInput = () => {
|
|
3142
|
-
setInputVisible(true);
|
|
3143
|
-
};
|
|
3144
|
-
const handleInputChange = (e) => {
|
|
3145
|
-
setInputValue(e.target.value);
|
|
3146
|
-
};
|
|
3147
|
-
const handleInputConfirm = async () => {
|
|
3148
|
-
if (inputValue && tags.indexOf(inputValue) === -1) {
|
|
3149
|
-
const success = await addCallback?.(inputValue);
|
|
3150
|
-
if (success) {
|
|
3151
|
-
setTags([...tags, inputValue]);
|
|
3152
|
-
}
|
|
3153
|
-
}
|
|
3154
|
-
setInputVisible(false);
|
|
3155
|
-
setInputValue("");
|
|
3156
|
-
};
|
|
3157
|
-
const handleEditInputChange = (e) => {
|
|
3158
|
-
setEditInputValue(e.target.value);
|
|
3159
|
-
};
|
|
3160
|
-
const handleEditInputConfirm = () => {
|
|
3161
|
-
const newTags = [...tags];
|
|
3162
|
-
newTags[editInputIndex] = editInputValue;
|
|
3163
|
-
setTags(newTags);
|
|
3164
|
-
setEditInputIndex(-1);
|
|
3165
|
-
setInputValue("");
|
|
3166
|
-
};
|
|
3167
|
-
const tagInputStyle = {
|
|
3168
|
-
width: 78,
|
|
3169
|
-
verticalAlign: "top"
|
|
3170
|
-
};
|
|
3171
|
-
const tagPlusStyle = {
|
|
3172
|
-
background: token.colorBgContainer,
|
|
3173
|
-
borderStyle: "dashed"
|
|
3174
|
-
};
|
|
3175
|
-
return /* @__PURE__ */ jsxs(Space, { wrap: true, size: [0, 8], children: [
|
|
3176
|
-
/* @__PURE__ */ jsx(Space, { wrap: true, size: [0, 8], children: tags.map((tag, index) => {
|
|
3177
|
-
if (editInputIndex === index) {
|
|
3178
|
-
return /* @__PURE__ */ jsx(
|
|
3179
|
-
Input,
|
|
3180
|
-
{
|
|
3181
|
-
ref: editInputRef,
|
|
3182
|
-
size: "small",
|
|
3183
|
-
style: tagInputStyle,
|
|
3184
|
-
value: editInputValue,
|
|
3185
|
-
onChange: handleEditInputChange,
|
|
3186
|
-
onBlur: handleEditInputConfirm,
|
|
3187
|
-
onPressEnter: handleEditInputConfirm
|
|
3188
|
-
},
|
|
3189
|
-
tag
|
|
3190
|
-
);
|
|
3191
|
-
}
|
|
3192
|
-
return /* @__PURE__ */ jsx(
|
|
3193
|
-
Tag,
|
|
3194
|
-
{
|
|
3195
|
-
closable: removable,
|
|
3196
|
-
style: { userSelect: "none" },
|
|
3197
|
-
onClose: async (e) => {
|
|
3198
|
-
e.preventDefault();
|
|
3199
|
-
await handleClose(tag);
|
|
3200
|
-
},
|
|
3201
|
-
children: /* @__PURE__ */ jsx(
|
|
3202
|
-
"span",
|
|
3203
|
-
{
|
|
3204
|
-
onDoubleClick: (e) => {
|
|
3205
|
-
if (index !== 0) {
|
|
3206
|
-
setEditInputIndex(index);
|
|
3207
|
-
setEditInputValue(tag);
|
|
3208
|
-
e.preventDefault();
|
|
3209
|
-
}
|
|
3210
|
-
},
|
|
3211
|
-
children: tag
|
|
3212
|
-
}
|
|
3213
|
-
)
|
|
3214
|
-
},
|
|
3215
|
-
tag
|
|
3216
|
-
);
|
|
3217
|
-
}) }),
|
|
3218
|
-
addable && (inputVisible ? /* @__PURE__ */ jsx(
|
|
3219
|
-
Input,
|
|
3220
|
-
{
|
|
3221
|
-
ref: inputRef,
|
|
3222
|
-
type: "text",
|
|
3223
|
-
size: "small",
|
|
3224
|
-
style: tagInputStyle,
|
|
3225
|
-
value: inputValue,
|
|
3226
|
-
onChange: handleInputChange,
|
|
3227
|
-
onBlur: handleInputConfirm,
|
|
3228
|
-
onPressEnter: handleInputConfirm
|
|
3229
|
-
}
|
|
3230
|
-
) : /* @__PURE__ */ jsxs(Tag, { style: tagPlusStyle, onClick: showInput, children: [
|
|
3231
|
-
/* @__PURE__ */ jsx(PlusOutlined, {}),
|
|
3232
|
-
"\xA0",
|
|
3233
|
-
t("global.add")
|
|
3234
|
-
] }))
|
|
3235
|
-
] });
|
|
3236
|
-
};
|
|
3237
|
-
var DynamicTags_default = DynamicTags;
|
|
3238
|
-
var ExpandableParagraph = (props) => {
|
|
3239
|
-
const { children, ...restProps } = props;
|
|
3240
|
-
const [expanded, setExpanded] = useState(false);
|
|
3241
|
-
return /* @__PURE__ */ jsx(
|
|
3242
|
-
Typography.Paragraph,
|
|
3243
|
-
{
|
|
3244
|
-
...restProps,
|
|
3245
|
-
className: "mb-0",
|
|
3246
|
-
ellipsis: {
|
|
3247
|
-
rows: 2,
|
|
3248
|
-
expandable: "collapsible",
|
|
3249
|
-
expanded,
|
|
3250
|
-
onExpand: (_, info) => {
|
|
3251
|
-
setExpanded(info.expanded);
|
|
3252
|
-
}
|
|
3253
|
-
},
|
|
3254
|
-
children
|
|
3255
|
-
}
|
|
3256
|
-
);
|
|
3257
|
-
};
|
|
3258
|
-
var ExpandableParagraph_default = ExpandableParagraph;
|
|
3259
|
-
|
|
3260
|
-
// src/index.ts
|
|
3261
|
-
init_filterFormWrapper();
|
|
3262
|
-
init_highlight();
|
|
3263
|
-
|
|
3264
|
-
// src/components/infiniteList/InfiniteList.tsx
|
|
3265
|
-
init_hooks2();
|
|
3266
|
-
init_filterFormWrapper();
|
|
3267
|
-
init_locale();
|
|
3268
|
-
init_toolkitsProvider();
|
|
3269
|
-
var InternalInfiniteList = (props, ref) => {
|
|
3270
|
-
const {
|
|
3271
|
-
code,
|
|
3272
|
-
url: url4,
|
|
3273
|
-
tableExtra,
|
|
3274
|
-
headers,
|
|
3275
|
-
getRowKey,
|
|
3276
|
-
getDataSource,
|
|
3277
|
-
getHasMore,
|
|
3278
|
-
renderForm,
|
|
3279
|
-
params,
|
|
3280
|
-
footer,
|
|
3281
|
-
form,
|
|
3282
|
-
buttonsAlign,
|
|
3283
|
-
showReset,
|
|
3284
|
-
...tableProps
|
|
3285
|
-
} = props;
|
|
3286
|
-
const { t } = useTranslation();
|
|
3287
|
-
const [_form] = Form.useForm(form);
|
|
3288
|
-
const [isValid, setIsValid] = useState(false);
|
|
3289
|
-
const [formValues, setFormValues] = useState();
|
|
3290
|
-
const { axios: axios2 } = useToolkitsStore((s) => s);
|
|
3291
|
-
const getKey = (pageIndex, previousPageData) => {
|
|
3292
|
-
if (!isValid) return null;
|
|
3293
|
-
const rowKey = getRowKey?.(previousPageData, pageIndex);
|
|
3294
|
-
const args = params(formValues, pageIndex, rowKey);
|
|
3295
|
-
const queryString = qs.stringify(args);
|
|
3296
|
-
return queryString ? `${url4}?${qs.stringify(args)}` : url4;
|
|
3297
|
-
};
|
|
3298
|
-
const _headers = typeof headers === "function" ? headers(_form) : headers;
|
|
3299
|
-
const { data: accessible, isLoading } = usePermission(code);
|
|
3300
|
-
const {
|
|
3301
|
-
data,
|
|
3302
|
-
size,
|
|
3303
|
-
setSize,
|
|
3304
|
-
isValidating: isListValidating,
|
|
3305
|
-
mutate: mutate2
|
|
3306
|
-
} = useSWRInfinite(
|
|
3307
|
-
getKey,
|
|
3308
|
-
async (arg) => {
|
|
3309
|
-
const response = await axios2.get(arg, { headers: _headers });
|
|
3310
|
-
return response.data;
|
|
3311
|
-
},
|
|
3312
|
-
{
|
|
3313
|
-
shouldRetryOnError: false,
|
|
3314
|
-
revalidateOnFocus: false,
|
|
3315
|
-
revalidateFirstPage: false
|
|
3316
|
-
}
|
|
3317
|
-
);
|
|
3318
|
-
const dataSource = getDataSource(data);
|
|
3319
|
-
const isLoadingMore = isListValidating || size > 0 && data && typeof data[size - 1] === "undefined";
|
|
3320
|
-
const isReachingEnd = typeof getHasMore !== "undefined" ? !getHasMore(last(data)) : false;
|
|
3321
|
-
const isEmpty = !dataSource || dataSource.length === 0;
|
|
3322
|
-
const onConfirm = async () => {
|
|
3323
|
-
const values = await _form.getFieldsValue();
|
|
3324
|
-
setFormValues(values);
|
|
3325
|
-
try {
|
|
3326
|
-
await _form.validateFields();
|
|
3327
|
-
setIsValid(true);
|
|
3328
|
-
mutate2();
|
|
3329
|
-
} catch (_) {
|
|
3330
|
-
setSize(0);
|
|
3331
|
-
setIsValid(false);
|
|
3332
|
-
}
|
|
3333
|
-
};
|
|
3334
|
-
const loadMore = () => {
|
|
3335
|
-
setSize(size + 1);
|
|
3336
|
-
};
|
|
3337
|
-
const onReset = async () => {
|
|
3338
|
-
try {
|
|
3339
|
-
_form.resetFields();
|
|
3340
|
-
await _form.validateFields({ validateOnly: true });
|
|
3341
|
-
mutate2();
|
|
3342
|
-
} catch (error) {
|
|
3343
|
-
setSize(0);
|
|
3344
|
-
}
|
|
3345
|
-
};
|
|
3346
|
-
useEffect(() => {
|
|
3347
|
-
setTimeout(() => {
|
|
3348
|
-
if (accessible) {
|
|
3349
|
-
_form.validateFields({ validateOnly: true }).then((values) => {
|
|
3350
|
-
setFormValues(values);
|
|
3351
|
-
setIsValid(true);
|
|
3352
|
-
}).catch(() => {
|
|
3353
|
-
setIsValid(false);
|
|
3354
|
-
});
|
|
3355
|
-
}
|
|
3356
|
-
}, 300);
|
|
3357
|
-
}, [accessible]);
|
|
3358
|
-
useImperativeHandle(ref, () => ({
|
|
3359
|
-
data,
|
|
3360
|
-
dataSource,
|
|
3361
|
-
form: _form,
|
|
3362
|
-
mutate: mutate2,
|
|
3363
|
-
size,
|
|
3364
|
-
setSize
|
|
3365
|
-
}));
|
|
3366
|
-
if (isLoading) {
|
|
3367
|
-
return /* @__PURE__ */ jsx(
|
|
3368
|
-
Spin,
|
|
3369
|
-
{
|
|
3370
|
-
style: {
|
|
3371
|
-
display: "flex",
|
|
3372
|
-
justifyContent: "center",
|
|
3373
|
-
alignItems: "center",
|
|
3374
|
-
height: 300
|
|
3375
|
-
}
|
|
3376
|
-
}
|
|
3377
|
-
);
|
|
3378
|
-
}
|
|
3379
|
-
if (!accessible) {
|
|
3380
|
-
return /* @__PURE__ */ jsx(Result, { status: 403, subTitle: t("global.noEntitlement") });
|
|
3381
|
-
}
|
|
3382
|
-
const renderFooter = footer && (() => footer(data));
|
|
3383
|
-
const formRenderer = typeof renderForm === "function" ? /* @__PURE__ */ jsx(
|
|
3384
|
-
FilterFormWrapper_default,
|
|
3385
|
-
{
|
|
3386
|
-
showReset,
|
|
3387
|
-
buttonsAlign,
|
|
3388
|
-
isConfirming: isListValidating,
|
|
3389
|
-
onReset,
|
|
3390
|
-
onConfirm,
|
|
3391
|
-
children: cloneElement(renderForm(_form), {
|
|
3392
|
-
onKeyUp: (e) => {
|
|
3393
|
-
if (e.key === "Enter") {
|
|
3394
|
-
onConfirm();
|
|
3395
|
-
}
|
|
3396
|
-
}
|
|
3397
|
-
})
|
|
3398
|
-
}
|
|
3399
|
-
) : (
|
|
3400
|
-
// 屏蔽 Form 组件的警告(Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?)
|
|
3401
|
-
/* @__PURE__ */ jsx(Form, { form: _form })
|
|
3402
|
-
);
|
|
3403
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3404
|
-
formRenderer,
|
|
3405
|
-
typeof tableExtra === "function" ? tableExtra(_form, dataSource) : tableExtra,
|
|
3406
|
-
/* @__PURE__ */ jsx(Table, { ...tableProps, dataSource, loading: isLoadingMore, pagination: false, footer: renderFooter }),
|
|
3407
|
-
!isEmpty && /* @__PURE__ */ jsx(
|
|
3408
|
-
Button,
|
|
3409
|
-
{
|
|
3410
|
-
block: true,
|
|
3411
|
-
loading: isLoadingMore,
|
|
3412
|
-
type: "link",
|
|
3413
|
-
htmlType: "button",
|
|
3414
|
-
disabled: isLoadingMore || isReachingEnd,
|
|
3415
|
-
onClick: loadMore,
|
|
3416
|
-
children: isLoadingMore ? t("InfiniteList.loadingText") : isReachingEnd ? t("InfiniteList.reachEndText") : t("InfiniteList.loadMoreText")
|
|
3417
|
-
}
|
|
3418
|
-
)
|
|
3419
|
-
] });
|
|
3420
|
-
};
|
|
3421
|
-
var InfiniteList = forwardRef(InternalInfiniteList);
|
|
3422
|
-
var InfiniteList_default = InfiniteList;
|
|
3423
|
-
|
|
3424
|
-
// src/index.ts
|
|
3425
|
-
init_layout();
|
|
3426
|
-
init_modal2();
|
|
3427
|
-
init_navMenu();
|
|
3428
|
-
init_permissionButton();
|
|
3429
|
-
init_queryList();
|
|
3430
|
-
init_requireGame();
|
|
3431
|
-
|
|
3432
|
-
// src/components/requirePermission/RequirePermission.tsx
|
|
3433
|
-
init_hooks2();
|
|
3434
|
-
init_locale();
|
|
3435
|
-
var RequirePermission = (props) => {
|
|
3436
|
-
const { code, config, children } = props;
|
|
3437
|
-
const { data: accessible, isValidating } = usePermission(code, config);
|
|
3438
|
-
const { t } = useTranslation();
|
|
3439
|
-
if (isValidating) {
|
|
3440
|
-
return /* @__PURE__ */ jsx(
|
|
3441
|
-
Spin,
|
|
3442
|
-
{
|
|
3443
|
-
style: {
|
|
3444
|
-
display: "flex",
|
|
3445
|
-
justifyContent: "center",
|
|
3446
|
-
alignItems: "center",
|
|
3447
|
-
height: 200
|
|
3448
|
-
}
|
|
3449
|
-
}
|
|
3450
|
-
);
|
|
3451
|
-
}
|
|
3452
|
-
if (!accessible) {
|
|
3453
|
-
return /* @__PURE__ */ jsx(Result, { status: "403", subTitle: t("global.noEntitlement") });
|
|
3454
|
-
}
|
|
3455
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
3456
|
-
};
|
|
3457
|
-
var RequirePermission_default = RequirePermission;
|
|
3458
|
-
|
|
3459
|
-
// src/index.ts
|
|
3460
|
-
init_toolkitsProvider();
|
|
3461
|
-
init_userWidget();
|
|
3462
|
-
init_constants();
|
|
3463
|
-
init_hooks2();
|
|
3464
|
-
var MenuItemList2 = lazy(() => Promise.resolve().then(() => (init_menuItemList(), menuItemList_exports)));
|
|
3465
|
-
var CreateMenuItem2 = lazy(() => Promise.resolve().then(() => (init_createMenuItem(), createMenuItem_exports)));
|
|
3466
|
-
var UpdateMenuItem = lazy(() => Promise.resolve().then(() => (init_updateMenuItem(), updateMenuItem_exports)));
|
|
3467
|
-
var menu_default = /* @__PURE__ */ jsxs(Routes, { children: [
|
|
3468
|
-
/* @__PURE__ */ jsx(Route, { index: true, element: /* @__PURE__ */ jsx(MenuItemList2, {}) }),
|
|
3469
|
-
/* @__PURE__ */ jsx(Route, { path: "create", element: /* @__PURE__ */ jsx(CreateMenuItem2, {}) }),
|
|
3470
|
-
/* @__PURE__ */ jsx(Route, { path: "update/:id", element: /* @__PURE__ */ jsx(UpdateMenuItem, {}) })
|
|
3471
|
-
] });
|
|
3472
|
-
|
|
3473
|
-
// src/pages/notFound/index.tsx
|
|
3474
|
-
init_locale();
|
|
3475
|
-
var NotFound = (props) => {
|
|
3476
|
-
const { redirectUrl } = props;
|
|
3477
|
-
const navigate = useNavigate();
|
|
3478
|
-
const { t } = useTranslation();
|
|
3479
|
-
return /* @__PURE__ */ jsx("div", { className: "h-screen flex justify-center items-center", children: /* @__PURE__ */ jsx(
|
|
3480
|
-
Result,
|
|
3481
|
-
{
|
|
3482
|
-
status: "404",
|
|
3483
|
-
title: "404",
|
|
3484
|
-
subTitle: t("NotFound.subTitle"),
|
|
3485
|
-
extra: redirectUrl && /* @__PURE__ */ jsx(
|
|
3486
|
-
Button,
|
|
3487
|
-
{
|
|
3488
|
-
type: "primary",
|
|
3489
|
-
onClick: () => {
|
|
3490
|
-
navigate(redirectUrl);
|
|
3491
|
-
},
|
|
3492
|
-
children: t("NotFound.buttonText")
|
|
3493
|
-
}
|
|
3494
|
-
)
|
|
3495
|
-
}
|
|
3496
|
-
) });
|
|
3497
|
-
};
|
|
3498
|
-
var notFound_default = NotFound;
|
|
3499
|
-
init_locale();
|
|
3500
|
-
init_queryList();
|
|
3501
|
-
init_toolkitsProvider();
|
|
3502
|
-
var { Option } = Select;
|
|
3503
|
-
var OperationLogList = () => {
|
|
3504
|
-
const { t } = useTranslation();
|
|
3505
|
-
const columns = [
|
|
3506
|
-
{
|
|
3507
|
-
key: "username",
|
|
3508
|
-
title: t("global.username"),
|
|
3509
|
-
dataIndex: "uname",
|
|
3510
|
-
width: 100
|
|
3511
|
-
},
|
|
3512
|
-
{
|
|
3513
|
-
key: "label",
|
|
3514
|
-
title: t("global.label"),
|
|
3515
|
-
dataIndex: "label",
|
|
3516
|
-
width: 150
|
|
3517
|
-
},
|
|
3518
|
-
{
|
|
3519
|
-
key: "method",
|
|
3520
|
-
title: t("global.method"),
|
|
3521
|
-
dataIndex: "method",
|
|
3522
|
-
width: 100
|
|
3523
|
-
},
|
|
3524
|
-
{
|
|
3525
|
-
key: "route",
|
|
3526
|
-
title: t("global.route"),
|
|
3527
|
-
dataIndex: "route",
|
|
3528
|
-
width: 200
|
|
3529
|
-
},
|
|
3530
|
-
{
|
|
3531
|
-
key: "request",
|
|
3532
|
-
title: t("global.request"),
|
|
3533
|
-
dataIndex: "request",
|
|
3534
|
-
render(value) {
|
|
3535
|
-
return /* @__PURE__ */ jsx(ExpandableParagraph_default, { children: value });
|
|
3536
|
-
}
|
|
3537
|
-
},
|
|
3538
|
-
{
|
|
3539
|
-
key: "response",
|
|
3540
|
-
title: t("global.response"),
|
|
3541
|
-
dataIndex: "response",
|
|
3542
|
-
render(value) {
|
|
3543
|
-
return /* @__PURE__ */ jsx(ExpandableParagraph_default, { children: value });
|
|
3544
|
-
}
|
|
3545
|
-
},
|
|
3546
|
-
{
|
|
3547
|
-
key: "creation_time",
|
|
3548
|
-
title: t("global.creationTime"),
|
|
3549
|
-
dataIndex: "ctime",
|
|
3550
|
-
width: 200,
|
|
3551
|
-
render(value) {
|
|
3552
|
-
return dayjs(value).format("YYYY-MM-DD HH:mm:ss");
|
|
3553
|
-
}
|
|
3554
|
-
}
|
|
3555
|
-
];
|
|
3556
|
-
return /* @__PURE__ */ jsx(Card, { title: "\u64CD\u4F5C\u65E5\u5FD7", children: /* @__PURE__ */ jsx(
|
|
3557
|
-
QueryList_default,
|
|
3558
|
-
{
|
|
3559
|
-
rowKey: "id",
|
|
3560
|
-
code: "300001",
|
|
3561
|
-
columns,
|
|
3562
|
-
tableLayout: "fixed",
|
|
3563
|
-
url: "/api/usystem/log/list",
|
|
3564
|
-
getTotal: (data) => data?.data?.Total,
|
|
3565
|
-
getDataSource: (data) => data?.data?.List,
|
|
3566
|
-
renderForm: (form) => /* @__PURE__ */ jsxs(Form, { form, layout: "inline", children: [
|
|
3567
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.username"), name: "uname", children: /* @__PURE__ */ jsx(Input, { allowClear: true }) }),
|
|
3568
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.route"), name: "route", children: /* @__PURE__ */ jsx(Input, { allowClear: true }) }),
|
|
3569
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.method"), name: "method", children: /* @__PURE__ */ jsxs(Select, { allowClear: true, style: { width: "100px" }, children: [
|
|
3570
|
-
/* @__PURE__ */ jsx(Option, { value: "get", children: "GET" }),
|
|
3571
|
-
/* @__PURE__ */ jsx(Option, { value: "post", children: "POST" })
|
|
3572
|
-
] }) }),
|
|
3573
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.label"), name: "label", children: /* @__PURE__ */ jsx(Input, { allowClear: true }) })
|
|
3574
|
-
] })
|
|
3575
|
-
}
|
|
3576
|
-
) });
|
|
3577
|
-
};
|
|
3578
|
-
var operationLogList_default = withContext(OperationLogList, { isGlobal: true });
|
|
3579
|
-
var UserList2 = lazy(() => Promise.resolve().then(() => (init_userList(), userList_exports)));
|
|
3580
|
-
var UserDetail2 = lazy(() => Promise.resolve().then(() => (init_userDetail(), userDetail_exports)));
|
|
3581
|
-
var RoleList2 = lazy(() => Promise.resolve().then(() => (init_roleList(), roleList_exports)));
|
|
3582
|
-
var RoleDetail2 = lazy(() => Promise.resolve().then(() => (init_roleDetail(), roleDetail_exports)));
|
|
3583
|
-
var permission_default = /* @__PURE__ */ jsxs(Routes, { children: [
|
|
3584
|
-
/* @__PURE__ */ jsx(Route, { index: true, element: /* @__PURE__ */ jsx(Navigate, { to: "user" }) }),
|
|
3585
|
-
/* @__PURE__ */ jsx(Route, { path: "user", element: /* @__PURE__ */ jsx(UserList2, {}) }),
|
|
3586
|
-
/* @__PURE__ */ jsx(Route, { path: "user/:id", element: /* @__PURE__ */ jsx(UserDetail2, {}) }),
|
|
3587
|
-
/* @__PURE__ */ jsx(Route, { path: "role", element: /* @__PURE__ */ jsx(RoleList2, {}) }),
|
|
3588
|
-
/* @__PURE__ */ jsx(Route, { path: "role/:name", element: /* @__PURE__ */ jsx(RoleDetail2, {}) })
|
|
3589
|
-
] });
|
|
3590
|
-
|
|
3591
|
-
// src/index.ts
|
|
3592
|
-
init_signIn();
|
|
3593
|
-
init_utils();
|
|
3594
|
-
|
|
3595
|
-
export { APP_ID_HEADER, DynamicTags_default as DynamicTags, ExpandableParagraph_default as ExpandableParagraph, FRONTEND_ROUTE_PREFIX, FilterFormWrapper_default as FilterFormWrapper, 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, PermissionVersion, QueryList_default as QueryList, QueryListAction, RequireGame_default as RequireGame, RequirePermission_default as RequirePermission, SSO_URL, signIn_default as SignIn, ToolkitsProvider_default as ToolkitsProvider, UserWidget_default as UserWidget, WILDCARD, menu_default as menuRoutes, mixedStorage, permission_default as permissionRoutes, useFindGame, useFormModal, useGames, useMenuList, useModal, useModalStore, usePermission, useQueryListStore, useToolkitsStore, withContext };
|
|
1
|
+
import Ur,{AxiosHeaders,isAxiosError}from'axios';import {jwtDecode}from'jwt-decode';import {useStore,create,createStore}from'zustand';import {persist,createJSONStorage}from'zustand/middleware';import Kr from'./logo-L6MFCL6M.png';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as Ke from'antd';import {Modal,Form,Spin,Result,Table,Button,Card,Input,Select,App,Space,Popconfirm,Switch,InputNumber,theme,Tag,Typography,Alert,Divider,Menu,Row,Col,Breadcrumb,Descriptions,Skeleton,Empty,Dropdown,Tooltip,Checkbox,Collapse}from'antd';import {Routes,Route,Navigate,useNavigate,useParams,useLocation,Link}from'react-router-dom';import Ie,{mutate,unstable_serialize,useSWRConfig}from'swr';import {forwardRef,lazy,useContext,useMemo,useState,useEffect,useImperativeHandle,cloneElement,useRef,createContext,memo,useCallback,Fragment as Fragment$1,Suspense,useTransition}from'react';import {last,has,template,get,isEqual,first}from'lodash-es';import {flushSync}from'react-dom';import {createRoot}from'react-dom/client';import en from'swr/immutable';import {PlusOutlined,UserAddOutlined,UsergroupAddOutlined,LogoutOutlined,UserOutlined,MenuUnfoldOutlined,MenuFoldOutlined,MinusCircleOutlined}from'@ant-design/icons';import De from'swr/mutation';import {Editor}from'@monaco-editor/react';import {produce}from'immer';import'animate.css';import es from'query-string';import ja from'swr/infinite';import n1 from'dayjs';var Er=Object.defineProperty;var g=(o,t)=>()=>(o&&(t=o(o=0)),t);var he=(o,t)=>{for(var e in t)Er(o,e,{get:t[e],enumerable:!0});};var So,vt=g(()=>{So={getItem:o=>sessionStorage.getItem(o)||localStorage.getItem(o),setItem:(o,t)=>{sessionStorage.setItem(o,t),localStorage.setItem(o,t);},removeItem(o){sessionStorage.removeItem(o),localStorage.removeItem(o);}};});var _o,Co=g(()=>{_o=()=>({axios:Ur.create()});});var Or,Io,wo=g(()=>{Or={global:{noEntitlement:"No permission, please contact the administrator.",name:"Name",creationTime:"Creation Time",operation:"Operation",update:"Update",edit:"Edit",delete:"Delete",selectAll:"Select All",game:"Game",user:"User",role:"Role",username:"Username",password:"Password",label:"Label",method:"Method",route:"Route",request:"Request",response:"Response",add:"Add",signIn:"Sign In",projectGroup:"Project Group",view:"View"},SignIn:{title:"Sign In Method",thirdParty:"Third party sign in",signInWithIDass:"Sign in with IDass",unregistered:"You are not yet registered on the platform, please contact the administrator",welcome:"Welcome"},NotFound:{subTitle:"The page you visited does not exist",buttonText:"Return to homepage"},FilterFormWrapper:{confirmText:"Search",resetText:"Reset"},FormModal:{confirmText:"Confirm",cancelText:"Cancel"},GameSelect:{label:"Current Game",placeholder:"Please select a game"},RequireGame:{description:"Please select a game"},UserWidget:{signOutText:"Sign Out"},User:{createTitle:"Create User",createSuccessfully:"User created successfully",updateTitle:"Update User",updateSuccessfully:"User updated successfully",deleteTitle:"Delete User",deleteContent:"Are you sure you want to delete user <%= user %>?",deleteSuccessfully:"User deleted successfully"},Role:{createTitle:"Create Role",createSuccessfully:"Role created successfully",updateTitle:"Update Role",updateSuccessfully:"Role updated successfully",deleteTitle:"Delete Role",deleteContent:"Are you sure you want to delete role <%= role %>?",deleteSuccessfully:"Role deleted successfully"},PermissionList:{failedDescription:"Failed to get permission list",baseSectionTitle:"Platform Basic Permissions",gameSectionTitle:"Game Permissions",gameSectionDescription:"Please select a game first",gameSelectPlaceholder:"Please select a game first",removeText:"Remove",addText:"Add Game Permissions"},RoleDetail:{title:"Role Details"},InfiniteList:{loadingText:"Loading...",reachEndText:"You've reached the end",loadMoreText:"Load more"}},Io=Or;});var Pt,ce,ye,Ue,j,oe=g(()=>{Pt="https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1",ce="App-ID",ye="/console/",Ue=(s=>(s.V1="v1",s.V2="v2",s.V3="v3",s))(Ue||{}),j="*";});var vo,Po=g(()=>{wo();vo=o=>({locale:Io,gameApiV2:!1,isGlobal:!1,signInPath:"/sign_in",mainPagePath:"/",title:{fontSize:18},permissionVersion:"v1",setContext(t){o(e=>({...e,...t}));}});});var Mo,ko=g(()=>{Mo=o=>({setGameId:t=>{o({gameId:t});}});});var To,Fo=g(()=>{To=(o,t)=>({getUser:()=>{let e=t().token;if(e)try{return jwtDecode(e)}catch{return null}return null},setToken:e=>o({token:e})});});var Ro,Do=g(()=>{vt();Co();Po();ko();Fo();Ro=o=>createStore()(persist((...t)=>{let[e,s,r]=t;return {...To(...t),...Mo(...t),...vo(...t),..._o(...t),clearToken(){s().setToken(""),r.persist.clearStorage();},...o}},{name:"toolkits",storage:createJSONStorage(()=>So),partialize:t=>({token:t.token,gameId:t.gameId,collapsed:t.collapsed})}));});var Hr,we,Lo=g(()=>{Hr=o=>jsx("img",{src:Kr,alt:"logo",...o}),we=Hr;});var Mt=g(()=>{Lo();});var Go,Vo=g(()=>{Go='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 kt,sa,ra,Tt=g(()=>{T();Mt();k();oe();Vo();kt=create()(o=>({unregistered:!1,setUnregistered(){o({unregistered:!0});}})),sa=o=>{let{extra:t}=o,{unregistered:e}=kt(),{title:{text:s}}=y(u=>u),r=new URLSearchParams(window.location.search),{token:a,setToken:i,axios:c,mainPagePath:n}=y(u=>u),{t:l}=b(),{isLoading:f}=Ie(r.has("ticket")?`/api/usystem/user/login?ticket=${r.get("ticket")}`:null,u=>c.get(u).then(m=>m.data.data),{onSuccess:u=>{u&&i(u.token);}});if(f)return jsx("div",{className:"w-screen h-screen flex justify-center items-center",children:jsx(Spin,{})});if(a){let u=!!window.location.hash,m=n;return u?(window.location.href=`${window.location.origin}${window.location.pathname}#${m}`,null):jsx(Navigate,{replace:!0,to:n})}return jsxs("div",{className:"w-screen h-screen relative flex overflow-hidden",children:[jsx("div",{className:"absolute top-16 right-16 z-10",children:t}),jsx("div",{className:"absolute left-14 top-6",children:jsxs(Space,{align:"center",children:[jsx(we,{width:48}),jsx("span",{className:"text-2xl font-bold",children:s})]})}),jsx("div",{className:"flex-1 flex justify-center items-center bg-slate-50",children:jsx("img",{src:Go,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&&jsx(Alert,{banner:!0,closable:!0,message:l("SignIn.unregistered"),type:"error"})}),jsx(Typography.Title,{level:2,children:l("SignIn.welcome")}),jsx("div",{className:"mt-4",children:jsxs(Form,{layout:"vertical",autoComplete:"off",children:[jsx(Form.Item,{label:l("global.username"),name:"username",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:l("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:l("global.signIn")})})]})}),jsx(Divider,{plain:!0,dashed:!0,children:l("SignIn.thirdParty")}),jsx("div",{className:"flex justify-center items-center",children:jsxs(Button,{block:!0,shape:"round",href:`${Pt}/logout?service=${Pt}/login?service=${window.location.href}`,target:"_self",children:[jsx(we,{width:18}),l("SignIn.signInWithIDass")]})})]})})})})]})},ra=sa;});var Ft,Rt,ca,Dt,Eo=g(()=>{oe();Tt();k();ca=({children:o})=>{let{notification:t}=App.useApp(),{axios:e,interceptors:s,token:r,isGlobal:a,signInPath:i,gameId:c,clearToken:n,permissionVersion:l}=y(m=>m),{setUnregistered:f}=kt(),u=useNavigate();return e.interceptors.request.eject(Ft),e.interceptors.response.eject(Rt),s?.request?Ft=e.interceptors.request.use(...s.request):Ft=e.interceptors.request.use(m=>{if(m.skipRequestInterceptor)return m;let p=new AxiosHeaders(m.headers);return m.responseType=m.responseType||"json",r&&p.setAuthorization(`Bearer ${r}`),!p.has(ce)&&l!=="v1"&&(a||!c?p.set(ce,"global"):p.set(ce,encodeURIComponent(c))),p.set("Accept",m.responseType==="blob"?"application/octet-stream":"application/json"),m.headers=p,m}),s?.response?Rt=e.interceptors.response.use(...s.response):Rt=e.interceptors.response.use(m=>{if(m.config.skipResponseInterceptor)return m;if((m.request.responseType||"json")==="json"){let d=m.data;if(d.code===0||d.code===1||d.code===200||d.status===0||d.errno===0)return m;throw t.error({message:"Request failed",description:d.msg}),new Error(d.msg)}return m},m=>{if(isAxiosError(m)){let p=m.response;if(!p)throw m;if(p.status===401||p.status===412)n?.(),p.status===412&&f(),u(i);else if(p.status===403)t.error({message:"Forbidden",description:"You do not have permission to access this resource."});else throw t.error({message:"Request failed",description:p.data.msg}),new Error(p.data.msg)}throw m}),o},Dt=ca;});var Uo=g(()=>{Eo();});function y(o){let t=useContext(Lt);if(!t)throw new Error("Missing ToolkitsProvider in the tree");return useStore(t,o)}var Lt,Vt,O,fa,No=g(()=>{Do();Uo();Lt=createContext(null);Vt=o=>{let{children:t,...e}=o,s=useRef(),r=useContext(Lt)?.getState();if(s.current||(s.current=Ro({...r,...e})),!s.current.getState().signInPath)throw new Error('ToolkitsProvider: \u8BF7\u914D\u7F6E "signInPath"');return jsx(Lt.Provider,{value:s.current,children:jsx(App,{children:jsx(Dt,{children:t})})})},O=(o,t)=>e=>jsx(Vt,{...t,children:jsx(o,{...e})});process.env.NODE_ENV!=="production"&&(Vt.displayName="ToolkitsProvider");fa=Vt;});var k=g(()=>{No();});function b(){let o=y(e=>e.locale);return {t:useMemo(()=>(e,s)=>has(o,e)?template(get(o,e))(s):e,[o])}}var Bo=g(()=>{k();});var T=g(()=>{Bo();});var Fa,We,$o=g(()=>{T();Fa=o=>{let{extras:t,isConfirming:e,onConfirm:s,onReset:r,children:a,buttonsAlign:i="left",showReset:c}=o,{t:n}=b(),{token:{colorFillAlter:l,lineWidth:f,lineType:u,colorBorder:m,borderRadiusLG:p}}=theme.useToken();return jsx("div",{style:{maxWidth:"none",background:l,borderWidth:f,borderStyle:u,borderColor:m,borderRadius:p,padding:24,marginBottom:24},children:jsxs("div",{className:`flex ${i==="bottom"?"flex-col":"flex-row"}`,children:[jsx("div",{className:`${i==="left"?"flex-grow-0":"flex-1"}`,children:a}),jsx("div",{className:`${i==="bottom"?"text-end":"text-start"} ml-4`,children:jsxs(Space,{children:[jsx(Button,{type:"primary",loading:e,onClick:s,children:n("FilterFormWrapper.confirmText")}),t?.map(I=>jsx(Fragment$1,{children:I.children},I.key)),c&&jsx(Button,{onClick:r,children:n("FilterFormWrapper.resetText")})]})})]})})},We=Fa;});var rt=g(()=>{$o();});function za(o){let t=document.createElement("div"),e=createRoot(t);return new Promise(s=>{setTimeout(()=>{flushSync(()=>{e.render(o);}),s(t.innerHTML);});})}var Ga,Aa,xe,Yo=g(()=>{Ga=o=>{let t=/(<[^>]*>)/;return o.split(t).filter(e=>e!=="")};Aa=o=>{let{texts:t,children:e}=o,[s,r]=useState("");return useEffect(()=>{za(e).then(a=>{let i=Ga(a);for(let c of t)for(let n=0;n<i.length;n++)i[n]=i[n].replace(String(c),`<span style='color: #DC143C;'>${c}</span>`);r(i.join(""));});},[e,t]),jsx("div",{dangerouslySetInnerHTML:{__html:s}})},xe=Aa;});var qe=g(()=>{Yo();});function Q(o,t){let{axios:e,permissionVersion:s}=y(f=>f),r=s!=="v1"?"/api/usystem/user/checkV2":"/api/usystem/user/check",a=typeof o<"u"?typeof o=="string"?[o]:o:[],i={permissions:a},{data:c,...n}=Ie(a.length>0?[r,i,t]:null,f=>e.post(...f).then(u=>u.data.data)),l=!0;return typeof o=="string"?l=c?.has_all?!0:c?.[o]??!1:Array.isArray(o)&&o.length>0&&(l=a.reduce((f,u)=>(f[u]=c?.has_all?!0:c?.[u]??!1,f),{})),{...n,data:l}}function Me(){let{signInPath:o,axios:t,gameId:e}=y(s=>s);return Ie(window.location.pathname!==o?{url:"/api/usystem/menu/navbar",headers:{[ce]:e&&encodeURIComponent(e)}}:null,({url:s,headers:r})=>t(s,{headers:r}).then(a=>a.data.data))}var $=g(()=>{k();oe();});var be,Dc,zt=g(()=>{oe();k();be=()=>{let{axios:o,gameApiV2:t,permissionVersion:e}=y(r=>r),s=e!=="v1"?t?"/api/game/list":"/api/usystem/game/all":null;return en(s,async r=>{let a={headers:{[ce]:"global"}};return t?(await o.get(r,a)).data.data.list??[]:(await o.get(r,a)).data.data??[]})},Dc=o=>{let{data:t}=be(),{gameApiV2:e}=y(s=>s);return t?.find(s=>String(e?s.game_id:s.id)===String(o))};});var os,ss=g(()=>{os=create()(persist(o=>({openKeys:[],setOpenKeys:t=>o({openKeys:t}),selectedKeys:[],setSelectedKeys:t=>o({selectedKeys:t})}),{name:"nav",storage:createJSONStorage(()=>localStorage),partialize:o=>({openKeys:o.openKeys,selectedKeys:o.selectedKeys})}));});function At(o){let t=[];if(o)for(let e=0;e<o.length;e++)if(o[e]===null||o[e].type==="divider")t[e]=o[e];else if(o[e].children){let{children:s,...r}=o[e];t[e]={...r,children:At(s)};}else {let{route:s,label:r,...a}=o[e],i=s?jsx(Link,{to:s,children:r}):r;t[e]={...a,label:i};}return t}function Et(o,t=[],e=[]){for(let s of o){let r=s?.children;if(Array.isArray(r)){let a=s.type!=="group"&&s.key?[...e,s.key]:e;Et(r,t,a);}else s&&t.push(Object.assign(s,{keypath:e}));}return t}var rs=g(()=>{});var ns,Ot,is=g(()=>{ss();rs();ns=memo(function(t){let{items:e,theme:s,loading:r}=t,a=useLocation(),i=useMemo(()=>Et(e??[]),[e]),c=useMemo(()=>At(e??[]),[e]),{openKeys:n,selectedKeys:l,setOpenKeys:f,setSelectedKeys:u}=os(),m=useCallback(p=>{let d=p?.find(x=>n?.indexOf(x)===-1),I=i.find(x=>d===x.key);f(I?.keypath??[d]);},[i,n,f]);return useEffect(()=>{let p=i.find(d=>a.pathname===d.route);if(p){let d=p.key,I=p.keypath;u([d]),f(I);}},[i,a]),r?jsx("div",{className:"flex justify-center items-center",style:{height:"calc(100vh - 64px)"},children:jsx(Spin,{})}):jsx(Menu,{theme:s,style:{borderRight:"none"},items:c,mode:"inline",openKeys:n,selectedKeys:l,onOpenChange:m})});process.env.NODE_ENV==="development"&&(ns.displayName="NavMenu");Ot=ns;});var Nt=g(()=>{is();});var gn,hn,Bt,cs=g(()=>{nt();T();k();(({Spin:gn}=Ke)),hn=({children:o})=>{let{permissionVersion:t,gameId:e,isGlobal:s}=y(i=>i),{isLoading:r}=be(),{t:a}=b();return r?jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:400},children:jsx(gn,{})}):t==="v1"||s?o:e?jsx(Fragment$1,{children:o},e):jsx(Empty,{image:Empty.PRESENTED_IMAGE_SIMPLE,description:a("RequireGame.description")})},Bt=hn;});var Wt=g(()=>{cs();});var Cn,qt,ps=g(()=>{T();k();Cn=()=>{let{t:o}=b(),t=useNavigate(),{clearToken:e,getUser:s,signInPath:r}=y(c=>c),a=s(),i=[{key:"1",icon:jsx(LogoutOutlined,{}),label:jsx("a",{onClick:()=>{e(),t(r);},children:o("UserWidget.signOutText")})}];return jsx("div",{children:jsx(Dropdown,{menu:{selectable:!0,items:i},placement:"bottomRight",children:jsx("a",{onClick:c=>{c.preventDefault();},children:jsxs(Space,{align:"center",children:[jsx("span",{children:a?.authorityId}),jsx(UserOutlined,{style:{fontSize:"16px"}})]})})})})},qt=Cn;});var Kt=g(()=>{ps();});var Tn,Fn,ds,us=g(()=>{T();k();zt();(({Text:Tn}=Typography)),Fn=o=>{let{filter:t,options:e}=o,{t:s}=b(),{gameApiV2:r,gameId:a,setGameId:i}=y(d=>d),{data:c,isLoading:n}=be(),{cache:l}=useSWRConfig(),f=c?.filter(d=>t?.(d)??!0),u=typeof e=="function"?e(f):f?.map(d=>({label:d.name,value:r?d.game_id:d.id})),m=d=>{p(),i(d);},p=()=>{for(let d of l.keys())d!=="/api/game/list"&&d!=="/api/usystem/game/all"&&l.delete(d);};return useEffect(()=>{if(c&&c.length>0){let d=r?c[0].game_id:c[0].id;c.every(I=>String(I.game_id||I.id)!==String(a))&&i(d);}},[c]),jsxs(Space,{children:[jsx(Tn,{children:s("GameSelect.label")}),jsx(Select,{showSearch:!0,optionFilterProp:"label",value:a,placeholder:s("GameSelect.placeholder"),loading:n,style:{width:"200px"},options:u,onChange:m})]})},ds=Fn;});var En,Un,On,Nn,Bn,Wn,qn,hs=g(()=>{Mt();Nt();Wt();k();Kt();us();(({Spin:En,theme:Un}=Ke)),{Header:On,Sider:Nn,Content:Bn}=Ke.Layout,Wn=o=>{let{collapsible:t,isMenuLoading:e,items:s,headerExtra:r,children:a,navWidth:i,hideGameSelect:c,filter:n,gameSelectOptions:l}=o,{token:{colorBgContainer:f,colorBorder:u}}=Un.useToken(),{permissionVersion:m,title:{text:p,fontSize:d},navWidth:I,collapsible:x,mainPagePath:S,collapsed:h,setContext:_}=y(v=>v),[w,N]=useState(h),H=async()=>{N(!w),_({collapsed:!w});},z=t??x??!1;return jsxs(Ke.Layout,{children:[jsxs(Nn,{collapsible:z,theme:"light",trigger:null,collapsed:w,width:i??I,style:{height:"100vh",overflowX:"hidden",overflowY:"auto",borderRightWidth:1,borderRightStyle:"solid",borderRightColor:u},children:[jsx(Link,{to:S,children:jsxs("div",{className:"flex px-6 py-4 font-bold",children:[jsx(we,{width:32,height:32}),jsx("div",{className:`h-8 flex items-center ml-2 collapse-text ${w?"opacity-0":"animate__fadeIn delay-200"} `,style:{fontSize:d},children:p})]})}),jsx(Ot,{items:s,loading:e})]}),jsxs(Ke.Layout,{children:[jsx(On,{style:{padding:"0 24px",background:f},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:[z&&jsx(Button,{type:"text",icon:w?jsx(MenuUnfoldOutlined,{}):jsx(MenuFoldOutlined,{}),style:{fontSize:"16px"},onClick:H}),m!=="v1"&&!c&&jsx(ds,{filter:n,options:l}),r?.left?.map(v=>jsx("span",{children:v.children},v.key))]}),jsxs(Space,{size:"small",split:jsx(Divider,{type:"vertical"}),children:[r?.right?.map(v=>jsx("span",{children:v.children},v.key)),jsx(qt,{})]})]})}),jsx(Bn,{style:{overflow:"auto",padding:"24px 16px",maxHeight:"calc(100vh - 64px)"},children:jsx(Suspense,{fallback:jsx(En,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"200px"}}),children:jsx(Bt,{children:a})})})]})]})},qn=Wn;});var ys=g(()=>{});var nt=g(()=>{zt();hs();ys();});var Ht,Jt=g(()=>{Ht=create((o,t)=>({open:new Map,isOpen:e=>t().open.get(e)??!1,show(e){o({open:new Map(t().open).set(e,!0)});},hide(e){o({open:new Map(t().open).set(e,!1)});},hideAll(){o({open:new Map});}}));});function jt(o){let{content:t,onConfirm:e,afterOpen:s,...r}=o,a=useMemo(()=>++Qn,[]),{show:i,hide:c,isOpen:n}=Ht(),l=n(a),[f,u]=useState(!1),m=typeof t=="function",p=async()=>{i(a),await s?.();},d=()=>{c(a);},S=jsx(Modal,{...r,open:l,confirmLoading:f,onOk:async()=>{try{u(!0),await e?.(),d();}finally{u(!1);}},onCancel:()=>{d();},children:m?t({hide:d}):t});return {id:a,show:p,hide:d,modal:S}}var Qn,Qt=g(()=>{Jt();Qn=0;});function pe(o){let{content:t,form:e,formProps:s,onConfirm:r,onSuccess:a,...i}=o,[c,n]=useState({}),[l]=Form.useForm();l=e||l;let f=typeof t=="function",u=async()=>{let h=await l.validateFields();await r?.(h,c),a?.(),I();},m=()=>{l.resetFields();},{id:p,show:d,hide:I,modal:x}=jt({...i,content:h=>jsx(Form,{...s,form:l,children:f?t(c,h):t}),onConfirm:u,afterClose:m});return {id:p,show:h=>{let{initialValues:_,extraValues:w}=h||{};w&&n(w),_&&l.setFieldsValue(_),d();},hide:I,modal:x}}var bs=g(()=>{Qt();});var $t=g(()=>{bs();Qt();Jt();});var ei,q,Ss=g(()=>{$();T();ei=o=>{let{children:t,code:e,showLoading:s,disabled:r,config:a,...i}=o,c=e?Array.isArray(e)?e:[e]:[],{data:n,isLoading:l}=Q(c,a),{t:f}=b();return l?jsx(Button,{loading:s,disabled:!s,...i,children:t}):typeof n=="boolean"||n&&Object.values(n).some(Boolean)?jsx(Button,{disabled:r,...i,children:t}):jsx(Tooltip,{defaultOpen:!1,title:f("global.noEntitlement"),children:jsx(Button,{disabled:!0,...i,children:t})})},q=ei;});var Te=g(()=>{Ss();});var ae,lt=g(()=>{ae=create((o,t)=>({keyMap:new Map,payloadMap:new Map,getPayload(e){return t().payloadMap.get(e)??{page:1}},setPayload(e,s){o(r=>({payloadMap:new Map(r.payloadMap).set(e,s)}));},refetch(e,s){let r=t().getPayload(e),a={...r,...s};isEqual(r,a)?t().mutate(e,void 0):t().setPayload(e,a);},mutate(e,s,r){let a=t().keyMap.get(e);return mutate(a,s,r)}}));});var Is,gi,hi,ne,ws=g(()=>{$();rt();T();k();lt();Is=(r=>(r[r.Confirm=0]="Confirm",r[r.Reset=1]="Reset",r[r.Jump=2]="Jump",r[r.Init=3]="Init",r))(Is||{}),gi=(o,t)=>{let e={method:"GET",defaultSize:10,refreshInterval:0,getTotal:D=>D?.data?.total,getDataSource:D=>D?.data?.list,...o},{url:s,code:r,headers:a,onePage:i,method:c,buttonsAlign:n,showReset:l,defaultSize:f,refreshInterval:u,tableExtra:m,form:p,body:d,params:I,renderForm:x,afterSuccess:S,getTotal:h,getDataSource:_,footer:w,pageSizeOptions:N,...H}=e;if(!s)throw new Error("url property is required");let{t:z}=b(),[v]=Form.useForm(p),B=useRef(3),{data:W,isLoading:J}=Q(r),[M,A]=useState(!1),{keyMap:ee,getPayload:fe,refetch:te}=ae(),{page:re,size:ge=f,formValue:ze}=fe(s),Ae={page:re,size:ge,formValue:ze},St=typeof d=="function"?d(Ae):typeof d>"u"?c==="POST"?{...ze,page:i?void 0:re,size:i?void 0:ge}:void 0:d,_t=typeof I=="function"?I(Ae):typeof I>"u"?c==="GET"?{...ze,page:i?void 0:re,size:i?void 0:ge}:void 0:I,Ct=typeof a=="function"?a(v):a,et=useRef(!1),G={url:s,method:c,data:St,params:_t,headers:Ct},Ee=useMemo(()=>{if(!W||!M)return null;let D=unstable_serialize(G);return ee.set(s,D),D},[W,M,s,G]),{axios:It}=y(D=>D),{data:le,isLoading:wt}=Ie(Ee,async()=>(await It.request(G)).data,{shouldRetryOnError:!1,revalidateOnFocus:!1,refreshInterval:et.current?u:0,onSuccess(D){et.current=!0,S?.(B.current,v,D);}}),xo=_(le,v),Lr=h(le),Vr=!i&&{pageSizeOptions:N,showSizeChanger:!0,showQuickJumper:!0,current:re,pageSize:ge,total:Lr,onChange:async(D,tt)=>{B.current=2,te(s,{page:D,size:tt});}},bo=async()=>{B.current=0;try{await v.validateFields(),A(!0),te(s,{page:1,formValue:v.getFieldsValue()});}catch{A(!1);}},Gr=async()=>{B.current=1,v.resetFields();try{await v.validateFields({validateOnly:!0}),A(!0),te(s,{page:1,formValue:v.getFieldsValue()});}catch{A(!1);}};if(useEffect(()=>{let D=async()=>{if(W)try{v.resetFields();let tt=await v.validateFields({validateOnly:!0});te(s,{page:1,formValue:tt}),A(!0);}catch{A(!1);}};setTimeout(()=>{D();},300);},[W,p]),useImperativeHandle(t,()=>({data:le,dataSource:xo,form:v})),J)return jsx(Spin,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:300}});if(!W)return jsx(Result,{status:403,subTitle:z("global.noEntitlement")});let zr=typeof x=="function"?jsx(We,{showReset:l,buttonsAlign:n,isConfirming:wt,onReset:Gr,onConfirm:bo,children:cloneElement(x(v),{onKeyUp:D=>{D.key==="Enter"&&bo();}})}):jsx(Form,{form:v}),Ar=w&&(()=>w(le));return jsxs("div",{children:[zr,typeof m=="function"?m(v,le):m,jsx(Table,{...H,dataSource:xo,loading:wt,pagination:Vr,footer:Ar})]})},hi=forwardRef(gi),ne=hi;});var Fe=g(()=>{ws();lt();});var Zt,vs=g(()=>{Zt="/api/usystem/menu/list";});function Ps(){let{axios:o}=y(t=>t);return De("/api/usystem/menu/set",(t,{arg:e})=>o.post(t,{...e,id:0,is_model:!0}))}function Ms(){let{axios:o}=y(t=>t);return De("/api/usystem/menu/set",(t,{arg:e})=>o.post(t,{...e,is_model:!0}))}function ks(){let{axios:o}=y(t=>t);return De("/api/usystem/menu/delete",(t,{arg:e})=>o.post(t,null,{params:{id:e}}))}var to=g(()=>{k();});var ct=g(()=>{vs();to();});var Fs={};he(Fs,{default:()=>Ti});var ki,Ti,Rs=g(()=>{qe();T();Fe();k();ct();to();$();ki=O(()=>{let{t:o}=b(),{message:t}=App.useApp(),e=ks(),{refetch:s}=ae(),{mutate:r}=Me(),a=useNavigate();return jsx(Fragment,{children:jsx(Card,{title:"\u83DC\u5355\u7BA1\u7406",extra:jsx(Button,{type:"primary",onClick:()=>{a("./create");},children:"\u521B\u5EFA\u83DC\u5355\u9879"}),children:jsx(ne,{onePage:!0,code:"9900001",rowKey:"id",url:Zt,columns:[{title:"\u83DC\u5355\u540D\u79F0",dataIndex:"category",key:"category"},{title:"\u524D\u7AEF\u8DEF\u7531",dataIndex:"front_route"},{title:"Order",dataIndex:"order"},{title:"Is Common",dataIndex:"is_common",key:"is_common",render:c=>c?"\u662F":"\u5426"},{title:"\u6A21\u677F\u540D\u79F0",dataIndex:"model_name",key:"model_name"},{title:"\u64CD\u4F5C",key:"action",width:150,align:"center",render(c,n){return n.is_model?jsxs(Space,{size:"small",children:[jsx(Button,{type:"link",onClick:()=>{a(`./update/${n.id}`);},children:o("global.update")}),jsx(Popconfirm,{title:"\u5220\u9664\u83DC\u5355",placement:"topRight",description:jsxs(xe,{texts:[n.category],children:["\u786E\u5B9A\u8981\u5220\u9664\u83DC\u5355 ",n.category," \u5417\uFF1F"]}),onConfirm:async()=>{await e.trigger(n.id),s(Zt),r(),t.success("\u5220\u9664\u6210\u529F");},children:jsx(Button,{danger:!0,type:"link",size:"small",children:o("global.delete")})})]}):null}}],getDataSource:c=>c})})})},{isGlobal:!0}),Ti=ki;});var Gs={};he(Gs,{default:()=>Ai});var zi,Ai,zs=g(()=>{k();oe();ct();$();zi=O(()=>{let{message:o}=App.useApp(),[t]=Form.useForm(),e=useNavigate(),{trigger:s}=Ps(),{mutate:r}=Me();return jsx(Card,{title:"\u521B\u5EFA\u83DC\u5355\u9879",children:jsxs(Form,{scrollToFirstError:!0,form:t,labelCol:{flex:"120px"},initialValues:{is_common:!1,is_model:!1,order:0},onFinish:async i=>{let{permissions:c,front_route:n,...l}=i;await s({...l,front_route:ye+n,permissions:c?JSON.parse(c):void 0}),r(),o.success("\u521B\u5EFA\u6210\u529F",.8,()=>e("..",{relative:"route"}));},children:[jsx(Form.Item,{label:"\u83DC\u5355\u9879\u540D\u79F0",name:"category",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"\u524D\u7AEF\u8DEF\u7531",name:"front_route",rules:[{required:!0}],children:jsx(Input,{prefix:ye})}),jsx(Form.Item,{label:"\u6A21\u677F\u540D\u79F0",name:"model_name",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"Is Common",name:"is_common",rules:[{required:!0}],valuePropName:"checked",children:jsx(Switch,{})}),jsx(Form.Item,{label:"Order",name:"order",children:jsx(InputNumber,{className:"w-full"})}),jsx(Form.Item,{label:"\u63A5\u53E3\u89C4\u5219",name:"permissions",children:jsx(Editor,{theme:"vs-dark",height:"300px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Schema",name:"scheme",rules:[{required:!0}],children:jsx(Editor,{theme:"vs-dark",height:"600px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Ext",name:"ext",children:jsx(Input.TextArea,{rows:5})}),jsx(Form.Item,{children:jsxs("div",{className:"flex justify-center gap-8",children:[jsx(Button,{type:"primary",htmlType:"submit",children:"\u63D0\u4EA4"}),jsx(Button,{onClick:()=>{e("..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},{isGlobal:!0}),Ai=zi;});var Os={};he(Os,{default:()=>Ji});var Hi,Ji,Ns=g(()=>{k();oe();ct();$();Hi=O(()=>{let{message:o}=App.useApp(),[t]=Form.useForm(),e=useNavigate(),{trigger:s}=Ms(),r=useParams(),{mutate:a}=Me(),{axios:i}=y(f=>f),{data:c,isLoading:n}=Ie(`/api/usystem/menu/info?id=${r.id}`,f=>i(f).then(u=>u.data.data)),l=async f=>{let{permissions:u,front_route:m,...p}=f;await s({...p,permissions:u?JSON.parse(u):void 0,front_route:ye+m,id:+r.id}),a(),o.success("\u66F4\u65B0\u6210\u529F",.8,()=>e("../..",{relative:"route"}));};return useEffect(()=>{let{permissions:f,front_route:u,...m}=c??{},p=JSON.stringify(f||[],null,2),d=u?.replace(ye,"");t.setFieldsValue({...m,permissions:p,front_route:d});},[c]),jsx(Card,{title:"\u66F4\u65B0\u83DC\u5355\u9879",loading:n,children:jsxs(Form,{scrollToFirstError:!0,form:t,labelCol:{flex:"120px"},initialValues:{is_common:!1,is_model:!1,order:0},onFinish:l,children:[jsx(Form.Item,{label:"\u83DC\u5355\u9879\u540D\u79F0",name:"category",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"\u524D\u7AEF\u8DEF\u7531",name:"front_route",rules:[{required:!0}],children:jsx(Input,{prefix:ye})}),jsx(Form.Item,{label:"\u6A21\u677F\u540D\u79F0",name:"model_name",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"Is Common",name:"is_common",rules:[{required:!0}],valuePropName:"checked",children:jsx(Switch,{})}),jsx(Form.Item,{label:"Order",name:"order",children:jsx(InputNumber,{className:"w-full"})}),jsx(Form.Item,{label:"\u63A5\u53E3\u89C4\u5219",name:"permissions",children:jsx(Editor,{theme:"vs-dark",height:"300px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Schema",name:"scheme",rules:[{required:!0}],children:jsx(Editor,{theme:"vs-dark",height:"600px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Ext",name:"ext",children:jsx(Input.TextArea,{rows:5})}),jsx(Form.Item,{children:jsxs("div",{className:"flex justify-center gap-8",children:[jsx(Button,{type:"primary",htmlType:"submit",children:"\u63D0\u4EA4"}),jsx(Button,{onClick:()=>{e("../..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},{isGlobal:!0}),Ji=Hi;});function Js(){let{axios:o}=y(t=>t);return Ie("/api/usystem/user/allPermssions",t=>o.get(t).then(e=>e.data.data))}function js(){let{axios:o}=y(t=>t);return Ie("/api/usystem/user/allPermissionsV2",t=>o.get(t).then(e=>e.data.data))}function lo(){let{axios:o}=y(t=>t);return Ie("/api/usystem/role/all",t=>o.get(t).then(e=>e.data.data))}function Qs(o){let{axios:t}=y(s=>s),e=y(s=>s.permissionVersion);return Ie(`/api/usystem/role/${e==="v2"?"infoV2":"info"}?name=${o}`,s=>t.get(s).then(r=>r.data.data))}function g1(){let{axios:o,permissionVersion:t}=y(e=>e);return De(t==="v2"?"/api/usystem/role/createV2":"/api/usystem/role/create",(e,{arg:s})=>o.post(e,s))}function h1(){let{axios:o,permissionVersion:t}=y(e=>e);return De(t==="v2"?"/api/usystem/role/updateV2":"/api/usystem/role/update",(e,{arg:s})=>o.post(e,s))}function $s(){let{axios:o}=y(t=>t);return De("/api/usystem/role/delete",(t,{arg:e})=>o.post(t,e))}function Ys(){let{axios:o}=y(t=>t);return De("/api/usystem/user/create",(t,{arg:e})=>o.post(t,e))}function Xs(){let{axios:o}=y(t=>t);return De("/api/usystem/user/update",(t,{arg:e})=>o.post(t,e))}function Zs(){let{axios:o}=y(t=>t);return De("/api/usystem/user/delete",(t,{arg:e})=>o.post(t,e))}var io,er,dt,tr,or,y1,x1,sr,rr,ut,ft=g(()=>{T();$t();k();oe();co();({Text:io}=Typography);er=({onSuccess:o}={})=>{let{t}=b(),{trigger:e}=g1();return pe({title:t("Role.createTitle"),width:"50vw",formProps:{layout:"vertical"},content:jsxs(Fragment,{children:[jsx(Form.Item,{label:t("global.name"),name:"name",rules:[{required:!0}],children:jsx(Input,{addonBefore:"role_"})}),jsx(Form.Item,{name:"permissions",children:jsx(Le,{})})]}),onConfirm:async s=>{await e({name:`role_${s.name}`,permissions:s.permissions}),o?.();}})},dt=({onSuccess:o}={})=>{let{t}=b(),{trigger:e}=h1();return pe({title:t("Role.updateTitle"),width:"50vw",formProps:{layout:"vertical"},content:jsxs(Fragment,{children:[jsx(Form.Item,{label:t("global.name"),name:"name",rules:[{required:!0}],children:jsx(Input,{disabled:!0,addonBefore:"role_"})}),jsx(Form.Item,{name:"permissions",children:jsx(Le,{})})]}),onConfirm:async(s,r)=>{await e({id:r?.id,name:`role_${s.name}`,permissions:s.permissions}),o?.();}})},tr=({onSuccess:o}={})=>{let{t}=b(),{data:e,isLoading:s}=lo(),{trigger:r}=Ys();return pe({title:t("User.createTitle"),width:600,formProps:{autoComplete:"off",labelCol:{flex:"80px"}},content:jsxs(Fragment,{children:[jsx(Form.Item,{label:t("global.name"),name:"name",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:t("global.role"),name:"roles",children:jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",loading:s,optionFilterProp:"label",options:e?.map(a=>({label:a.name,value:a.name}))})})]}),onConfirm:async a=>{await r(a),o?.();}})},or=({onSuccess:o}={})=>{let{t}=b(),{data:e,isLoading:s}=lo(),{trigger:r}=Xs();return pe({title:t("User.updateTitle"),width:600,formProps:{autoComplete:"off",labelCol:{flex:"80px"}},content:jsxs(Fragment,{children:[jsx(Form.Item,{label:t("global.name"),name:"name",rules:[{required:!0}],children:jsx(Input,{disabled:!0})}),jsx(Form.Item,{label:t("global.role"),name:"roles",children:jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",loading:s,optionFilterProp:"label",options:e?.map(a=>({label:a.name,value:a.name}))})})]}),onConfirm:async(a,i)=>{await r({...a,id:i?.id}),o?.();}})},y1=o=>{let{onChange:t,...e}=o,{axios:s}=y(n=>n),{data:r,isLoading:a}=Ie("/api/enum/get?enum=game_group&type=all",n=>s.get(n).then(l=>l.data.data)),i=[{label:"\u901A\u7528",value:j}].concat(r?.map(n=>({label:n,value:n}))??[]);return jsx(Select,{...e,allowClear:!0,showSearch:!0,mode:"tags",optionFilterProp:"label",loading:a,options:i,onChange:n=>{last(n)===j?t?.([j]):first(n)===j?t?.(n.slice(1)):t?.(n);}})},x1=o=>{let{groups:t,onChange:e,...s}=o,{axios:r}=y(l=>l),{data:a,isLoading:i}=Ie(t?.length?`/api/enum/game_group/get_game_ids?game_groups=${t.join(",")}`:null,l=>r.get(l).then(f=>f.data.data.list)),c=a?.map(l=>({label:l.name,value:l.id}));return jsx(Select,{...s,allowClear:!0,showSearch:!0,optionFilterProp:"label",mode:"tags",loading:i,options:c,onChange:l=>{last(l)===j?e?.([j]):first(l)===j?e?.(l.slice(1)):e?.(l);}})},sr=({isCreate:o})=>{let {t}=b(),{axios:e}=y(n=>n),{data:s,isLoading:r}=lo(),{data:a,isLoading:i}=Ie("/api/enum/get?enum=game_group&type=all",n=>e.get(n).then(l=>l.data.data));[{label:"\u901A\u7528",value:j}].concat(a?.map(n=>({label:n,value:n}))??[]);return jsxs(Fragment,{children:[jsx(Form.Item,{label:t("global.name"),name:"name",rules:[{required:!0}],children:jsx(Input,{disabled:!o})}),jsx(Form.List,{name:"permissions",children:(n,{add:l,remove:f})=>jsxs(Row,{gutter:8,children:[jsx(Col,{span:8,className:"text-center mb-4",children:jsx(io,{strong:!0,children:t("global.projectGroup")})}),jsx(Col,{span:10,className:"text-center mb-4",children:jsx(io,{strong:!0,children:t("global.game")})}),jsx(Col,{span:6,className:"text-center mb-4",children:jsx(io,{strong:!0,children:t("global.role")})}),n.map(u=>jsxs(Fragment$1,{children:[jsx(Col,{span:8,children:jsx(Form.Item,{noStyle:!0,shouldUpdate:!0,children:({setFieldValue:m})=>jsx(Form.Item,{name:[u.name,"game_group"],children:jsx(y1,{onChange:()=>{m(["permissions",u.name,"game_ids"],[]);}})})})}),jsx(Col,{span:10,children:jsx(Form.Item,{noStyle:!0,shouldUpdate:(m,p)=>m.permissions[u.name]?.game_group!==p.permissions[u.name]?.game_group,children:({getFieldValue:m})=>{let p=m(["permissions",u.name,"game_group"]);return jsx(Form.Item,{name:[u.name,"game_ids"],dependencies:[["permissions",u.name,"game_group"]],rules:[{required:p?.length,message:"\u8BF7\u9009\u62E9\u6E38\u620F"}],children:jsx(x1,{groups:p})})}})}),jsx(Col,{span:6,children:jsxs("div",{className:"flex",children:[jsx("div",{className:"flex-1",children:jsx(Form.Item,{name:[u.name,"role"],rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u89D2\u8272"},({getFieldValue:m})=>({validator(p,d){return m("permissions").filter((S,h)=>!!S&&h!==u.name).some(S=>S.role===d)?Promise.reject(new Error("\u8BF7\u52FF\u91CD\u590D\u9009\u62E9\u89D2\u8272")):Promise.resolve()}})],children:jsx(Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",loading:r,options:s?.map(m=>({label:m.name,value:m.name}))})})}),jsx("div",{className:"w-8 text-center",children:jsx(Form.Item,{children:jsx(MinusCircleOutlined,{onClick:()=>{f(u.name);}})})})]})})]},u.key)),n.length===0&&jsx(Col,{span:24,children:jsx(Empty,{className:"mb-6"})}),jsx(Col,{span:24,children:jsx(Button,{block:!0,type:"dashed",onClick:()=>l(),children:t("global.add")})})]})})]})},rr=({onSuccess:o}={})=>{let{t}=b(),{trigger:e}=Ys();return pe({title:t("User.createTitle"),width:"50vw",formProps:{autoComplete:"off",labelCol:{flex:"80px"}},content:jsx(sr,{isCreate:!0}),onConfirm:async s=>{await e(s),o?.();}})},ut=({onSuccess:o}={})=>{let{t}=b(),{trigger:e}=Xs();return pe({title:t("User.updateTitle"),width:"50vw",formProps:{autoComplete:"off",labelCol:{flex:"80px"}},content:jsx(sr,{}),onConfirm:async(s,r)=>{await e({...s,id:r?.id}),o?.();}})};});var w1,Ye,fo=g(()=>{T();w1=o=>{let{permissions:t,readonly:e,expand:s,value:r,onChange:a}=o,[i,c]=useState([]),[n,l]=useState({}),[f,u]=useState(r??[]),{t:m}=b(),[,p]=useTransition(),d=useCallback(h=>{c(h);},[]),I=(h,_)=>{let w=[];return h?w=[...new Set(f.concat(_))]:(w=f.slice(),_.forEach(N=>{let H=w.findIndex(z=>z===N);H>-1&&w.splice(H,1);})),w},x=(h,_)=>{let w=I(h.target.checked,_);u(w),a?.(w);};useEffect(()=>{u(r??[]);},[r]),useEffect(()=>{s&&p(()=>{c((t??[]).map(({category:h})=>h));});},[]),useEffect(()=>{let h=(t??[]).reduce((_,w)=>(_[w.category]=w.permissions.every(N=>f?.includes(N.value)),_),{});l(h);},[f,t]);let S=(t??[]).map(h=>({key:h.category,label:h.category,extra:!e&&jsx(Checkbox,{checked:n[h.category],onChange:_=>{x(_,h.permissions?.map(w=>w.value));},children:m("global.selectAll")}),children:jsx(Checkbox.Group,{style:{width:"100%"},value:f,disabled:e,children:jsx(Row,{gutter:[10,10],style:{width:"100%"},children:h.permissions?.map(_=>jsx(Col,{span:6,children:jsx(Checkbox,{value:_.value,onChange:w=>{x(w,[_.value]);},children:_.label})},_.value))})})}));return jsx(Collapse,{style:{width:"100%"},collapsible:"header",activeKey:i,items:S,onChange:d})},Ye=w1;});var go,R1,D1,pr,mr=g(()=>{T();ft();fo();(({Text:go}=Typography)),{Option:R1}=Select,D1=o=>{let{expand:t=!0,value:e,readonly:s,onChange:r}=o,{data:{permission:a,game:i}={},isLoading:c,error:n}=js(),[l,f]=useState([]),u=a?.filter(x=>x.is_common),m=a?.filter(x=>!x.is_common),{t:p}=b();if(useEffect(()=>{let x=[];Object.keys(e??{}).forEach(S=>{S!=="global"&&x.push({gameId:S,permissions:e?.[S]??[]});}),f(x);},[e]),n)return jsx("div",{className:"flex justify-center",children:jsx(go,{type:"danger",children:p("PermissionList.failedDescription")})});let d=()=>{f(x=>[...x,{gameId:"",permissions:[]}]);},I=x=>{f(S=>S.filter((h,_)=>_!==x));};return jsxs("div",{className:"flex flex-col w-full",children:[jsx("div",{className:"mb-12",children:jsx(Divider,{dashed:!0,children:p("PermissionList.baseSectionTitle")})}),jsx(Skeleton,{active:!0,loading:c,children:jsx(Ye,{value:e?.global,readonly:s,permissions:u,expand:t,onChange:x=>{r?.({...e,global:x});}})}),jsx("div",{className:"my-12",children:jsx(Divider,{dashed:!0,children:p("PermissionList.gameSectionTitle")})}),l.map((x,S)=>jsx(Card,{title:jsxs(Space,{children:[jsx(go,{children:p("global.game")}),s?jsx(go,{children:i?.find(h=>String(h.id)===x.gameId)?.name}):jsx(Select,{disabled:s,value:l[S].gameId||void 0,style:{width:"160px"},placeholder:p("PermissionList.gameSelectPlaceholder"),onChange:h=>{f(_=>{let w=_.slice();return w[S].gameId=h,w});},children:i?.map(h=>jsx(R1,{value:h.id,disabled:l.some(({gameId:_})=>_===String(h.id)),children:h.name},h.id))})]}),className:"mb-6",extra:!s&&jsx(Button,{type:"link",onClick:()=>{I(S);},children:p("PermissionList.removeText")}),children:l[S].gameId?jsx(Skeleton,{active:!0,loading:c,children:jsx(Ye,{value:e?.[l[S].gameId],readonly:s,expand:t,permissions:m,onChange:h=>{r?.({...e,[l[S].gameId]:h});}})}):jsx(Empty,{description:p("PermissionList.gameSectionDescription")})},S)),!s&&jsx(Button,{block:!0,type:"dashed",onClick:d,children:p("PermissionList.addText")})]})},pr=D1;});var G1,z1,dr,ur=g(()=>{T();ft();fo();(({Text:G1}=Typography)),z1=o=>{let{expand:t=!0,value:e,readonly:s,onChange:r}=o,{data:a,isLoading:i,error:c}=Js(),{t:n}=b();return c?jsx("div",{className:"flex justify-center",children:jsx(G1,{type:"danger",children:n("PermissionList.failedDescription")})}):jsx(Skeleton,{active:!0,loading:i,children:jsx(Ye,{value:e,permissions:a,readonly:s,expand:t,onChange:r})})},dr=z1;});var A1,Le,fr=g(()=>{k();mr();ur();A1=o=>{let{value:t}=o,e=y(s=>s.permissionVersion);return jsx(Fragment,{children:e==="v2"?jsx(pr,{...o,value:t}):jsx(dr,{...o,value:t})})},Le=A1;});var co=g(()=>{fr();});var gr=g(()=>{});var Xe=g(()=>{co();ft();gr();});var Sr={};he(Sr,{default:()=>j1});var Ge,J1,j1,_r=g(()=>{qe();T();Te();Fe();k();Xe();Ge="/api/usystem/user/list",J1=()=>{let{modal:o,message:t}=App.useApp(),{t:e}=b(),s=Zs(),{mutate:r,refetch:a}=ae(),{permissionVersion:i}=y(h=>h),c=i==="v1",n=i==="v3",{show:l,modal:f}=tr({onSuccess(){a(Ge,{page:1}),t.success(e("User.createSuccessfully"));}}),{show:u,modal:m}=or({onSuccess(){a(Ge),t.success(e("User.updateSuccessfully"));}}),{show:p,modal:d}=rr({onSuccess(){a(Ge,{page:1}),t.success(e("User.createSuccessfully"));}}),{show:I,modal:x}=ut({onSuccess(){a(Ge),t.success(e("User.updateSuccessfully"));}}),S=[{title:e("global.name"),dataIndex:"name",key:"name",render(h,_){return n?jsx(Link,{to:`./${_.id}`,children:h}):h}},{title:"ID",dataIndex:"id",key:"id"},(c||n)&&{title:e("global.role"),dataIndex:"roles",key:"roles",width:"40%",render(h){return jsx(Row,{gutter:[4,4],children:(h||[]).map(_=>jsx(Col,{children:_==="root"?jsx(Tag,{color:"#f50",children:_}):jsx(Tag,{color:"#ff5a00",children:jsx(Link,{to:`../role/${_}`,children:_})})},_))})}},{title:e("global.creationTime"),dataIndex:"Ctime",key:"ctime"},{title:e("global.operation"),width:150,align:"center",render:(h,_)=>{let{name:w,permissions:N,roles:H,id:z}=_;return jsxs(Space,{children:[jsx(q,{size:"small",type:"link",code:"100003",onClick:()=>{n?I({initialValues:{name:w,permissions:N},extraValues:{id:z}}):u({initialValues:{name:w,roles:H},extraValues:{id:z}});},children:e("global.update")}),jsx(q,{danger:!0,size:"small",code:"100004",type:"link",onClick:()=>{o.confirm({title:e("User.deleteTitle"),content:jsx(xe,{texts:[w],children:e("User.deleteContent",{user:w})}),async onOk(){await s.trigger({id:z,name:w}),r(Ge,v=>produce(v,B=>{let W=B?.List?.findIndex(J=>J.id===z);W&&B?.List?.splice(W,1);})),t.success(e("User.deleteSuccessfully"));}});},children:e("global.delete")})]})}}].filter(Boolean);return jsxs(Fragment,{children:[jsx(Card,{title:e("global.user"),extra:jsx(q,{type:"primary",icon:jsx(UserAddOutlined,{}),code:"100002",onClick:()=>{n?p():l();},children:e("User.createTitle")}),children:jsx(ne,{code:"100001",url:Ge,rowKey:"id",columns:S,getTotal:h=>h?.data.Total,getDataSource:h=>h?.data.List,renderForm:n?h=>jsx(Form,{form:h,children:jsx(Form.Item,{label:"\u540D\u79F0",name:"name",children:jsx(Input,{})})}):void 0})}),f,m,d,x]})},j1=O(J1,{isGlobal:!0});});var vr={};he(vr,{default:()=>s2});var o2,s2,Pr=g(()=>{nt();T();Te();k();oe();Xe();$();o2=()=>{let{message:o}=App.useApp(),t=useParams(),{t:e}=b(),{axios:s,gameApiV2:r}=y(p=>p),{data:a,isLoading:i,mutate:c}=Ie(t.id?`/api/usystem/user/info?id=${t.id}`:null,p=>s.get(p).then(d=>d.data.data)),{data:n}=be(),{data:l}=Q("200005"),{show:f,modal:u}=ut({onSuccess(){c(),o.success(e("User.updateSuccessfully"));}}),m=[{key:"group",title:e("global.projectGroup"),dataIndex:"game_group",render(p){return p.map(d=>jsx(Tag,{children:d===j?"\u901A\u7528":d},d))}},{key:"game",title:e("global.game"),dataIndex:"game_ids",render(p){return p.map(d=>{let I=n?.find(x=>String(r?x.game_id:x.id)===d);return jsx(Tag,{children:I?.name??(d===j?"\u901A\u7528":d)},d)})}},{key:"role",title:e("global.role"),dataIndex:"role",render(p){return l?jsx(Link,{to:`../../role/${p}`,relative:"path",children:p}):p}}];return jsxs(Fragment,{children:[jsx(Breadcrumb,{className:"mb-6",items:[{key:"1",title:jsx(Link,{to:"..",relative:"path",children:e("global.user")})},{key:"2",title:"\u7528\u6237\u8BE6\u60C5"}]}),jsx(Card,{title:"\u7528\u6237\u8BE6\u60C5",loading:i,extra:jsx(q,{code:"100003",onClick:()=>{f({initialValues:{name:a?.name,permissions:a?.permissions},extraValues:{id:a.id}});},children:e("global.update")}),children:jsxs(Descriptions,{bordered:!0,column:1,children:[jsx(Descriptions.Item,{label:e("global.name"),children:a?.name}),jsx(Descriptions.Item,{label:"ID",children:a?.id}),jsx(Descriptions.Item,{label:e("global.role"),children:jsx(Table,{rowKey:"role",columns:m,dataSource:a?.permissions,pagination:!1})})]})}),u]})},s2=o2;});var Tr={};he(Tr,{default:()=>d2});var yt,m2,d2,Fr=g(()=>{qe();T();Te();Fe();lt();k();Xe();$();yt="/api/usystem/role/list",m2=()=>{let{modal:o,message:t}=App.useApp(),{data:e}=Q("200005"),{t:s}=b(),{axios:r,permissionVersion:a}=y(I=>I),{mutate:i,refetch:c}=ae(),{show:n,modal:l}=er({onSuccess(){c(yt,{page:1}),t.success(s("Role.createSuccessfully"));}}),{show:f,modal:u}=dt({onSuccess(){i(yt),t.success(s("Role.updateSuccessfully"));}}),m=$s(),p=async I=>{let S=(await r.get(`/api/usystem/role/info${a==="v2"?"V2":""}?name=${I.name}`)).data.data;f({initialValues:{permissions:S?.permissions,name:S?.name.replace(/^role_/,"")},extraValues:{id:S?.id}});},d=[{title:s("global.name"),key:"name",render(I){return e?jsx(Link,{to:`${I.name}`,relative:"path",children:I.name}):jsx(Fragment,{children:I.name})}},{title:"ID",dataIndex:"id",key:"id"},{title:s("global.creationTime"),dataIndex:"ctime",key:"ctime"},{title:s("global.operation"),width:150,align:"center",render:(I,x)=>jsxs(Space,{size:"small",children:[jsx(q,{code:"200003",size:"small",type:"link",onClick:async()=>{p(x);},children:s("global.update")}),jsx(q,{danger:!0,code:"200004",size:"small",type:"link",onClick:()=>{o.confirm({title:s("Role.deleteTitle"),content:jsx(xe,{texts:[x.name],children:s("Role.deleteContent",{role:x.name})}),async onOk(){await m.trigger({id:x.id,name:x.name}),i(yt,S=>produce(S,h=>{let _=h?.List?.findIndex(w=>w.id===x.id);_&&h?.List?.splice(_,1);})),t.success(s("Role.deleteSuccessfully"));}});},children:s("global.delete")})]})}];return jsxs(Fragment,{children:[jsx(Card,{title:s("global.role"),extra:jsx(q,{type:"primary",code:"200002",icon:jsx(UsergroupAddOutlined,{}),onClick:()=>{n();},children:s("Role.createTitle")}),children:jsx(ne,{rowKey:"name",columns:d,code:"200001",url:yt,getTotal:I=>I?.data.Total,getDataSource:I=>I?.data.List})}),l,u]})},d2=O(m2,{isGlobal:!0});});var Rr={};he(Rr,{default:()=>S2});var b2,S2,Dr=g(()=>{T();Te();k();Xe();b2=()=>{let{message:o}=App.useApp(),t=useParams(),{t:e}=b(),{data:s,isLoading:r,mutate:a}=Qs(t.name),{show:i,modal:c}=dt({onSuccess(){a(),o.success(e("Role.updateSuccessfully"));}}),n=async()=>{i({initialValues:{permissions:s?.permissions,name:s?.name.replace(/^role_/,"")},extraValues:{id:s.id}});};return jsxs(Fragment,{children:[jsx(Breadcrumb,{style:{marginBottom:24},items:[{key:"1",title:jsx(Link,{to:"..",relative:"path",children:e("global.role")})},{key:"2",title:e("RoleDetail.title")}]}),jsx(Card,{title:e("RoleDetail.title"),extra:jsx(q,{code:"200003",onClick:n,children:e("global.update")}),children:jsxs(Skeleton,{loading:r,children:[jsxs(Descriptions,{column:2,layout:"vertical",className:"mb-6",children:[jsx(Descriptions.Item,{label:e("global.name"),children:s?.name}),jsx(Descriptions.Item,{label:"ID",children:s?.id}),jsx(Descriptions.Item,{label:e("global.creationTime"),children:s?.ctime})]}),jsx(Le,{readonly:!0,value:s?.permissions})]})}),c]})},S2=O(b2,{isGlobal:!0});});T();var _a=o=>{let{initialTags:t,addable:e,removable:s,addCallback:r,removeCallback:a}=o,{t:i}=b(),{token:c}=theme.useToken(),[n,l]=useState([]),[f,u]=useState(!1),[m,p]=useState(""),[d,I]=useState(-1),[x,S]=useState(""),h=useRef(null),_=useRef(null);useEffect(()=>{l(t??[]);},[t]),useEffect(()=>{f&&h.current?.focus();},[f]),useEffect(()=>{_.current?.focus();},[m]);let w=async M=>{if(await a?.(M)){let ee=n.filter(fe=>fe!==M);l(ee);}},N=()=>{u(!0);},H=M=>{p(M.target.value);},z=async()=>{m&&n.indexOf(m)===-1&&await r?.(m)&&l([...n,m]),u(!1),p("");},v=M=>{S(M.target.value);},B=()=>{let M=[...n];M[d]=x,l(M),I(-1),p("");},W={width:78,verticalAlign:"top"},J={background:c.colorBgContainer,borderStyle:"dashed"};return jsxs(Space,{wrap:!0,size:[0,8],children:[jsx(Space,{wrap:!0,size:[0,8],children:n.map((M,A)=>d===A?jsx(Input,{ref:_,size:"small",style:W,value:x,onChange:v,onBlur:B,onPressEnter:B},M):jsx(Tag,{closable:s,style:{userSelect:"none"},onClose:async ee=>{ee.preventDefault(),await w(M);},children:jsx("span",{onDoubleClick:ee=>{A!==0&&(I(A),S(M),ee.preventDefault());},children:M})},M))}),e&&(f?jsx(Input,{ref:h,type:"text",size:"small",style:W,value:m,onChange:H,onBlur:z,onPressEnter:z}):jsxs(Tag,{style:J,onClick:N,children:[jsx(PlusOutlined,{}),"\xA0",i("global.add")]}))]})},Ca=_a;var va=o=>{let{children:t,...e}=o,[s,r]=useState(!1);return jsx(Typography.Paragraph,{...e,className:"mb-0",ellipsis:{rows:2,expandable:"collapsible",expanded:s,onExpand:(a,i)=>{r(i.expanded);}},children:t})},st=va;rt();qe();$();rt();T();k();var Qa=(o,t)=>{let{code:e,url:s,tableExtra:r,headers:a,getRowKey:i,getDataSource:c,getHasMore:n,renderForm:l,params:f,footer:u,form:m,buttonsAlign:p,showReset:d,...I}=o,{t:x}=b(),[S]=Form.useForm(m),[h,_]=useState(!1),[w,N]=useState(),{axios:H}=y(G=>G),z=(G,Ee)=>{if(!h)return null;let It=i?.(Ee,G),le=f(w,G,It);return es.stringify(le)?`${s}?${es.stringify(le)}`:s},v=typeof a=="function"?a(S):a,{data:B,isLoading:W}=Q(e),{data:J,size:M,setSize:A,isValidating:ee,mutate:fe}=ja(z,async G=>(await H.get(G,{headers:v})).data,{shouldRetryOnError:!1,revalidateOnFocus:!1,revalidateFirstPage:!1}),te=c(J),re=ee||M>0&&J&&typeof J[M-1]>"u",ge=typeof n<"u"?!n(last(J)):!1,ze=!te||te.length===0,Ae=async()=>{let G=await S.getFieldsValue();N(G);try{await S.validateFields(),_(!0),fe();}catch{A(0),_(!1);}},St=()=>{A(M+1);},_t=async()=>{try{S.resetFields(),await S.validateFields({validateOnly:!0}),fe();}catch{A(0);}};if(useEffect(()=>{setTimeout(()=>{B&&S.validateFields({validateOnly:!0}).then(G=>{N(G),_(!0);}).catch(()=>{_(!1);});},300);},[B]),useImperativeHandle(t,()=>({data:J,dataSource:te,form:S,mutate:fe,size:M,setSize:A})),W)return jsx(Spin,{style:{display:"flex",justifyContent:"center",alignItems:"center",height:300}});if(!B)return jsx(Result,{status:403,subTitle:x("global.noEntitlement")});let Ct=u&&(()=>u(J)),et=typeof l=="function"?jsx(We,{showReset:d,buttonsAlign:p,isConfirming:ee,onReset:_t,onConfirm:Ae,children:cloneElement(l(S),{onKeyUp:G=>{G.key==="Enter"&&Ae();}})}):jsx(Form,{form:S});return jsxs(Fragment,{children:[et,typeof r=="function"?r(S,te):r,jsx(Table,{...I,dataSource:te,loading:re,pagination:!1,footer:Ct}),!ze&&jsx(Button,{block:!0,loading:re,type:"link",htmlType:"button",disabled:re||ge,onClick:St,children:x(re?"InfiniteList.loadingText":ge?"InfiniteList.reachEndText":"InfiniteList.loadMoreText")})]})},$a=forwardRef(Qa),Ya=$a;nt();$t();Nt();Te();Fe();Wt();$();T();var Si=o=>{let{code:t,config:e,children:s}=o,{data:r,isValidating:a}=Q(t,e),{t:i}=b();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")})},_i=Si;k();Kt();oe();$();var Qi=lazy(()=>Promise.resolve().then(()=>(Rs(),Fs))),$i=lazy(()=>Promise.resolve().then(()=>(zs(),Gs))),Yi=lazy(()=>Promise.resolve().then(()=>(Ns(),Os))),Xi=jsxs(Routes,{children:[jsx(Route,{index:!0,element:jsx(Qi,{})}),jsx(Route,{path:"create",element:jsx($i,{})}),jsx(Route,{path:"update/:id",element:jsx(Yi,{})})]});T();var s1=o=>{let{redirectUrl:t}=o,e=useNavigate(),{t:s}=b();return jsx("div",{className:"h-screen flex justify-center items-center",children:jsx(Result,{status:"404",title:"404",subTitle:s("NotFound.subTitle"),extra:t&&jsx(Button,{type:"primary",onClick:()=>{e(t);},children:s("NotFound.buttonText")})})})},r1=s1;T();Fe();k();var {Option:Bs}=Select,i1=()=>{let{t:o}=b(),t=[{key:"username",title:o("global.username"),dataIndex:"uname",width:100},{key:"label",title:o("global.label"),dataIndex:"label",width:150},{key:"method",title:o("global.method"),dataIndex:"method",width:100},{key:"route",title:o("global.route"),dataIndex:"route",width:200},{key:"request",title:o("global.request"),dataIndex:"request",render(e){return jsx(st,{children:e})}},{key:"response",title:o("global.response"),dataIndex:"response",render(e){return jsx(st,{children:e})}},{key:"creation_time",title:o("global.creationTime"),dataIndex:"ctime",width:200,render(e){return n1(e).format("YYYY-MM-DD HH:mm:ss")}}];return jsx(Card,{title:"\u64CD\u4F5C\u65E5\u5FD7",children:jsx(ne,{rowKey:"id",code:"300001",columns:t,tableLayout:"fixed",url:"/api/usystem/log/list",getTotal:e=>e?.data?.Total,getDataSource:e=>e?.data?.List,renderForm:e=>jsxs(Form,{form:e,layout:"inline",children:[jsx(Form.Item,{label:o("global.username"),name:"uname",children:jsx(Input,{allowClear:!0})}),jsx(Form.Item,{label:o("global.route"),name:"route",children:jsx(Input,{allowClear:!0})}),jsx(Form.Item,{label:o("global.method"),name:"method",children:jsxs(Select,{allowClear:!0,style:{width:"100px"},children:[jsx(Bs,{value:"get",children:"GET"}),jsx(Bs,{value:"post",children:"POST"})]})}),jsx(Form.Item,{label:o("global.label"),name:"label",children:jsx(Input,{allowClear:!0})})]})})})},l1=O(i1,{isGlobal:!0});var w2=lazy(()=>Promise.resolve().then(()=>(_r(),Sr))),v2=lazy(()=>Promise.resolve().then(()=>(Pr(),vr))),P2=lazy(()=>Promise.resolve().then(()=>(Fr(),Tr))),M2=lazy(()=>Promise.resolve().then(()=>(Dr(),Rr))),k2=jsxs(Routes,{children:[jsx(Route,{index:!0,element:jsx(Navigate,{to:"user"})}),jsx(Route,{path:"user",element:jsx(w2,{})}),jsx(Route,{path:"user/:id",element:jsx(v2,{})}),jsx(Route,{path:"role",element:jsx(P2,{})}),jsx(Route,{path:"role/:name",element:jsx(M2,{})})]});Tt();vt();
|
|
2
|
+
export{ce as APP_ID_HEADER,Ca as DynamicTags,st as ExpandableParagraph,ye as FRONTEND_ROUTE_PREFIX,We as FilterFormWrapper,xe as Highlight,Ya as InfiniteList,qn as Layout,Ot as NavMenu,r1 as NotFound,l1 as OperationLogList,q as PermissionButton,Ue as PermissionVersion,ne as QueryList,Is as QueryListAction,Bt as RequireGame,_i as RequirePermission,Pt as SSO_URL,ra as SignIn,fa as ToolkitsProvider,qt as UserWidget,j as WILDCARD,Xi as menuRoutes,So as mixedStorage,k2 as permissionRoutes,Dc as useFindGame,pe as useFormModal,be as useGames,Me as useMenuList,jt as useModal,Ht as useModalStore,Q as usePermission,ae as useQueryListStore,y as useToolkitsStore,O as withContext};
|