4.8.1 test-fix (#1561)

This commit is contained in:
Archer
2024-05-22 18:49:39 +08:00
committed by GitHub
parent 87e4afe89b
commit b1aafde7c9
65 changed files with 1245 additions and 293 deletions

View File

@@ -25,6 +25,8 @@ weight: 350
curl --location --request GET 'http://localhost:3000/api/core/chat/inputGuide/query?appId=663c75302caf8315b1c00194&searchKey=你'
```
其中 `appId` 为应用ID`searchKey` 为搜索关键字最多是50个字符。
**响应**
```json
@@ -43,6 +45,8 @@ curl --location --request GET 'http://localhost:3000/api/core/chat/inputGuide/qu
}
```
data是一个数组包含了搜索到的问题最多只需要返回5个问题。
**参数说明:**

View File

@@ -118,6 +118,7 @@ export enum NodeOutputKeyEnum {
answerText = 'answerText', // module answer. the value will be show and save to history
success = 'success',
failed = 'failed',
error = 'error',
text = 'system_text',
addOutputParam = 'system_addOutputParam',

View File

@@ -89,6 +89,7 @@ export const AiChatModule: FlowNodeTemplateType = {
{
id: NodeOutputKeyEnum.history,
key: NodeOutputKeyEnum.history,
required: true,
label: 'core.module.output.label.New context',
description: 'core.module.output.description.New context',
valueType: WorkflowIOValueTypeEnum.chatHistory,
@@ -97,6 +98,7 @@ export const AiChatModule: FlowNodeTemplateType = {
{
id: NodeOutputKeyEnum.answerText,
key: NodeOutputKeyEnum.answerText,
required: true,
label: 'core.module.output.label.Ai response content',
description: 'core.module.output.description.Ai response content',
valueType: WorkflowIOValueTypeEnum.string,

View File

@@ -24,6 +24,7 @@ export const AssignedAnswerModule: FlowNodeTemplateType = {
key: NodeInputKeyEnum.answerText,
renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference],
valueType: WorkflowIOValueTypeEnum.any,
required: true,
label: 'core.module.input.label.Response content',
description: 'core.module.input.description.Response content',
placeholder: 'core.module.input.description.Response content'

View File

@@ -68,6 +68,7 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = {
{
id: NodeOutputKeyEnum.cqResult,
key: NodeOutputKeyEnum.cqResult,
required: true,
label: '分类结果',
valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static

View File

@@ -60,25 +60,20 @@ export const ContextExtractModule: FlowNodeTemplateType = {
}
],
outputs: [
// {
// id: NodeOutputKeyEnum.success,
// key: NodeOutputKeyEnum.success,
// label: '字段完全提取',
// valueType: WorkflowIOValueTypeEnum.boolean,
// type: FlowNodeOutputTypeEnum.source
// },
// {
// id: NodeOutputKeyEnum.failed,
// key: NodeOutputKeyEnum.failed,
// label: '提取字段缺失',
// description: '存在一个或多个字段未提取成功。尽管使用了默认值也算缺失。',
// valueType: WorkflowIOValueTypeEnum.boolean,
// type: FlowNodeOutputTypeEnum.source
// },
{
id: NodeOutputKeyEnum.success,
key: NodeOutputKeyEnum.success,
label: '字段完全提取',
required: true,
description: '提取字段全部填充时返回 true (模型提取或使用默认值均属于成功)',
valueType: WorkflowIOValueTypeEnum.boolean,
type: FlowNodeOutputTypeEnum.static
},
{
id: NodeOutputKeyEnum.contextExtractFields,
key: NodeOutputKeyEnum.contextExtractFields,
label: '完整提取结果',
required: true,
description: '一个 JSON 字符串,例如:{"name:":"YY","Time":"2023/7/2 18:00"}',
valueType: WorkflowIOValueTypeEnum.string,
type: FlowNodeOutputTypeEnum.static

View File

@@ -81,10 +81,19 @@ export const HttpModule468: FlowNodeTemplateType = {
],
outputs: [
Output_Template_AddOutput,
{
id: NodeOutputKeyEnum.error,
key: NodeOutputKeyEnum.error,
label: '请求错误',
description: 'HTTP请求错误信息成功时返回空',
valueType: WorkflowIOValueTypeEnum.object,
type: FlowNodeOutputTypeEnum.static
},
{
id: NodeOutputKeyEnum.httpRawResponse,
key: NodeOutputKeyEnum.httpRawResponse,
label: '原始响应',
required: true,
description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。',
valueType: WorkflowIOValueTypeEnum.any,
type: FlowNodeOutputTypeEnum.static

View File

@@ -43,6 +43,7 @@ export const RunAppModule: FlowNodeTemplateType = {
label: '新的上下文',
description: '将该应用回复内容拼接到历史记录中,作为新的上下文返回',
valueType: WorkflowIOValueTypeEnum.chatHistory,
required: true,
type: FlowNodeOutputTypeEnum.static
},
{

View File

@@ -1,3 +1 @@
export const chatNodeSystemPromptTip = 'core.app.tip.chatNodeSystemPromptTip';
export const welcomeTextTip = 'core.app.tip.welcomeTextTip';
export const variableTip = 'core.app.tip.variableTip';

View File

@@ -175,7 +175,7 @@ export const pluginData2FlowNodeIO = (
};
export const formatEditorVariablePickerIcon = (
variables: { key: string; label: string; type?: `${VariableInputEnum}` }[]
variables: { key: string; label: string; type?: `${VariableInputEnum}`; required?: boolean }[]
): EditorVariablePickerType[] => {
return variables.map((item) => ({
...item,

View File

@@ -39,6 +39,10 @@ export async function connectMongo({
global.mongodb?.disconnect();
global.mongodb = undefined;
});
mongoose.connection.on('disconnected', () => {
console.log('mongo disconnected');
global.mongodb = undefined;
});
console.log('mongo connected');

View File

@@ -32,3 +32,5 @@ export const systemStartCb = () => {
// process.exit(1); // 退出进程
});
};
export const surrenderProcess = () => new Promise((resolve) => setImmediate(resolve));

View File

@@ -132,17 +132,19 @@ export const embeddingRecall = async (
): Promise<{
results: EmbeddingRecallItemType[];
}> => {
const { datasetIds, vectors, limit, retry = 2 } = props;
const { teamId, datasetIds, vectors, limit, retry = 2 } = props;
try {
const results: any = await PgClient.query(
`BEGIN;
`
BEGIN;
SET LOCAL hnsw.ef_search = ${global.systemEnv?.pgHNSWEfSearch || 100};
select id, collection_id, vector <#> '[${vectors[0]}]' AS score
from ${PgDatasetTableName}
where dataset_id IN (${datasetIds.map((id) => `'${String(id)}'`).join(',')})
where team_id='${teamId}'
AND dataset_id IN (${datasetIds.map((id) => `'${String(id)}'`).join(',')})
order by score limit ${limit};
COMMIT;`
COMMIT;`
);
const rows = results?.[2]?.rows as PgSearchRawType[];

View File

@@ -35,8 +35,7 @@ type Props = ModuleDispatchProps<{
[NodeInputKeyEnum.aiModel]: string;
}>;
type Response = DispatchNodeResultType<{
[NodeOutputKeyEnum.success]?: boolean;
[NodeOutputKeyEnum.failed]?: boolean;
[NodeOutputKeyEnum.success]: boolean;
[NodeOutputKeyEnum.contextExtractFields]: string;
}>;
@@ -119,9 +118,7 @@ export async function dispatchContentExtract(props: Props): Promise<Response> {
});
return {
// [DispatchNodeResponseKeyEnum.skipHandleId]: success
// ? [getHandleId(nodeId, 'source', NodeOutputKeyEnum.failed)]
// : [getHandleId(nodeId, 'source', NodeOutputKeyEnum.success)],
[NodeOutputKeyEnum.success]: success,
[NodeOutputKeyEnum.contextExtractFields]: JSON.stringify(arg),
...arg,
[DispatchNodeResponseKeyEnum.nodeResponse]: {

View File

@@ -1,5 +1,5 @@
import { NextApiResponse } from 'next';
import { NodeInputKeyEnum, WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants';
import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants';
import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants';
import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants';
import type { ChatDispatchProps } from '@fastgpt/global/core/workflow/type/index.d';
@@ -45,6 +45,7 @@ import { getReferenceVariableValue } from '@fastgpt/global/core/workflow/runtime
import { dispatchSystemConfig } from './init/systemConfig';
import { dispatchUpdateVariable } from './tools/runUpdateVar';
import { addLog } from '../../../common/system/log';
import { surrenderProcess } from '../../../common/system/tools';
const callbackMap: Record<FlowNodeTypeEnum, Function> = {
[FlowNodeTypeEnum.workflowStart]: dispatchWorkflowStart,
@@ -206,25 +207,34 @@ export async function dispatchWorkFlow(data: Props): Promise<DispatchFlowRespons
}
function checkNodeCanRun(nodes: RuntimeNodeItemType[] = []): Promise<any> {
return Promise.all(
nodes.map((node) => {
nodes.map(async (node) => {
const status = checkNodeRunStatus({
node,
runtimeEdges
});
if (res?.closed || props.maxRunTimes <= 0) return;
props.maxRunTimes--;
console.log(props.maxRunTimes, user._id);
await surrenderProcess();
if (status === 'run') {
addLog.info(`[dispatchWorkFlow] nodeRunWithActive: ${node.name}`);
return nodeRunWithActive(node);
}
if (status === 'skip') {
addLog.info(`[dispatchWorkFlow] nodeRunWithActive: ${node.name}`);
addLog.info(`[dispatchWorkFlow] nodeRunWithSkip: ${node.name}`);
return nodeRunWithSkip(node);
}
return [];
return;
})
).then((result) => {
const flat = result.flat();
const flat = result.flat().filter(Boolean) as unknown as {
node: RuntimeNodeItemType;
result: Record<string, any>;
}[];
if (flat.length === 0) return;
// Update the node output at the end of the run and get the next nodes
@@ -267,7 +277,6 @@ export async function dispatchWorkFlow(data: Props): Promise<DispatchFlowRespons
return params;
}
async function nodeRunWithActive(node: RuntimeNodeItemType) {
if (res?.closed || props.maxRunTimes <= 0) return [];
// push run status messages
if (res && stream && detail && node.showStatus) {
responseStatus({
@@ -277,8 +286,6 @@ export async function dispatchWorkFlow(data: Props): Promise<DispatchFlowRespons
});
}
props.maxRunTimes--;
// get node running params
const params = getNodeRunParams(node);

View File

@@ -33,7 +33,7 @@ type HttpRequestProps = ModuleDispatchProps<{
[key: string]: any;
}>;
type HttpResponse = DispatchNodeResultType<{
[NodeOutputKeyEnum.failed]?: boolean;
[NodeOutputKeyEnum.error]?: object;
[key: string]: any;
}>;
@@ -159,20 +159,16 @@ export const dispatchHttp468Request = async (props: HttpRequestProps): Promise<H
} catch (error) {
addLog.error('Http request error', error);
if (isToolCall) {
return {
[NodeOutputKeyEnum.failed]: true,
[DispatchNodeResponseKeyEnum.nodeResponse]: {
totalPoints: 0,
params: Object.keys(params).length > 0 ? params : undefined,
body: Object.keys(requestBody).length > 0 ? requestBody : undefined,
headers: Object.keys(headers).length > 0 ? headers : undefined,
httpResult: { error: formatHttpError(error) }
},
[NodeOutputKeyEnum.httpRawResponse]: getErrText(error)
};
}
return Promise.reject(error);
return {
[NodeOutputKeyEnum.error]: formatHttpError(error),
[DispatchNodeResponseKeyEnum.nodeResponse]: {
params: Object.keys(params).length > 0 ? params : undefined,
body: Object.keys(requestBody).length > 0 ? requestBody : undefined,
headers: Object.keys(headers).length > 0 ? headers : undefined,
httpResult: { error: formatHttpError(error) }
},
[NodeOutputKeyEnum.httpRawResponse]: getErrText(error)
};
}
};

View File

@@ -170,10 +170,7 @@ export async function parseHeaderCert({
/* set cookie */
export const setCookie = (res: NextApiResponse, token: string) => {
res.setHeader(
'Set-Cookie',
`token=${token}; Path=/; HttpOnly; Max-Age=604800; Samesite=Strict; Secure;`
);
res.setHeader('Set-Cookie', `token=${token}; Path=/; HttpOnly; Max-Age=604800; Samesite=Strict;`);
};
/* clear cookie */
export const clearCookie = (res: NextApiResponse) => {

View File

@@ -67,7 +67,12 @@ const MyRightDrawer = ({
<DrawerCloseButton position={'relative'} fontSize={'sm'} top={0} right={0} />
</Flex>
<DrawerBody overflow={'hidden'} px={props?.px}>
<DrawerBody
overflowY={props?.overflowY || 'auto'}
display={'flex'}
flexDirection={'column'}
px={props?.px ?? 4}
>
{children}
<Loading loading={isLoading} fixed={false} />
</DrawerBody>

View File

@@ -98,6 +98,7 @@ const MySelect = (
</MenuButton>
<MenuList
className={props.className}
minW={(() => {
const w = ref.current?.clientWidth;
if (w) {

View File

@@ -3,12 +3,12 @@ import MyTooltip from '.';
import { IconProps, QuestionOutlineIcon } from '@chakra-ui/icons';
type Props = IconProps & {
label?: string;
label?: string | React.ReactNode;
};
const QuestionTip = ({ label, ...props }: Props) => {
const QuestionTip = ({ label, maxW, ...props }: Props) => {
return (
<MyTooltip label={label}>
<MyTooltip label={label} maxW={maxW}>
<QuestionOutlineIcon {...props} />
</MyTooltip>
);

View File

@@ -3,6 +3,7 @@ import { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants
export type EditorVariablePickerType = {
key: string;
label: string;
required?: boolean;
icon?: string;
valueType?: WorkflowIOValueTypeEnum;
};

View File

@@ -0,0 +1,9 @@
import { useBoolean } from 'ahooks';
export const useRefresh = () => {
const [_, { toggle }] = useBoolean();
return {
refresh: toggle
};
};

View File

@@ -0,0 +1,4 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="36" height="36" rx="6" fill="#F0EEFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 10.7886C8 9.684 8.89543 8.78857 10 8.78857H26C27.1046 8.78857 28 9.684 28 10.7886V18.5718C28 19.6764 27.1046 20.5718 26 20.5718H10C8.89543 20.5718 8 19.6764 8 18.5718V10.7886ZM10.8 11.4928C10.3582 11.4928 10 11.851 10 12.2928C10 12.7347 10.3582 13.0928 10.8 13.0928H16.3812C16.823 13.0928 17.1812 12.7347 17.1812 12.2928C17.1812 11.851 16.823 11.4928 16.3812 11.4928H10.8ZM10.8 14.6802C10.3582 14.6802 10 15.0383 10 15.4802C10 15.922 10.3582 16.2802 10.8 16.2802H20.4092C20.8511 16.2802 21.2092 15.922 21.2092 15.4802C21.2092 15.0383 20.8511 14.6802 20.4092 14.6802H10.8ZM8 23.4807C8 22.7076 8.6268 22.0807 9.4 22.0807H26.6C27.3732 22.0807 28 22.7076 28 23.4807V25.8114C28 26.5846 27.3732 27.2114 26.6 27.2114H9.4C8.6268 27.2114 8 26.5846 8 25.8114V23.4807ZM24.745 23.7461C24.8601 23.5468 25.1479 23.5468 25.263 23.7461L26.243 25.4436C26.3696 25.6629 26.1835 25.9304 25.9339 25.888L25.0541 25.7384C25.021 25.7328 24.9871 25.7328 24.9539 25.7384L24.0741 25.888C23.8245 25.9304 23.6384 25.6629 23.765 25.4436L24.745 23.7461Z" fill="#8774EE"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,80 @@
<svg width="422" height="274" viewBox="0 0 422 274" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4800_11624)">
<rect x="1" y="1" width="420" height="271.25" rx="9.1875" fill="#F4F4F7"/>
<mask id="path-3-inside-1_4800_11624" fill="white">
<path d="M58.75 19.375H421V272.25H58.75V19.375Z"/>
</mask>
<path d="M58.75 19.375H421V272.25H58.75V19.375Z" fill="white"/>
<path d="M59.4062 272.25V19.375H58.0938V272.25H59.4062Z" fill="#DFE2EA" mask="url(#path-3-inside-1_4800_11624)"/>
<g filter="url(#filter0_dd_4800_11624)">
<rect x="70.125" y="225.99" width="339.5" height="31.5" rx="6.91639" fill="white"/>
<rect x="70.4077" y="226.273" width="338.935" height="30.9345" rx="6.63366" stroke="#DFE2EA" stroke-width="0.565456"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M86.0903 238.372C85.7849 238.372 85.492 238.494 85.2761 238.71L81.7516 242.234C81.3918 242.594 81.1896 243.082 81.1896 243.591C81.1896 244.1 81.3918 244.588 81.7516 244.948C82.1115 245.308 82.5996 245.51 83.1085 245.51C83.6174 245.51 84.1054 245.308 84.4653 244.948L87.9897 241.423C88.1395 241.273 88.3823 241.273 88.5321 241.423C88.6819 241.573 88.6819 241.816 88.5321 241.966L85.0076 245.49C84.504 245.994 83.8208 246.277 83.1085 246.277C82.3961 246.277 81.713 245.994 81.2093 245.49C80.7056 244.986 80.4226 244.303 80.4226 243.591C80.4226 242.879 80.7056 242.195 81.2093 241.692L84.7337 238.167C85.0935 237.807 85.5815 237.605 86.0903 237.605C86.599 237.605 87.087 237.807 87.4468 238.167C87.8065 238.527 88.0087 239.015 88.0087 239.524C88.0087 240.033 87.8065 240.52 87.4468 240.88L83.9185 244.405C83.7026 244.621 83.4099 244.742 83.1046 244.742C82.7994 244.742 82.5066 244.621 82.2908 244.405C82.0749 244.189 81.9537 243.896 81.9537 243.591C81.9537 243.286 82.0749 242.993 82.2908 242.777L85.5469 239.525C85.6968 239.375 85.9396 239.375 86.0893 239.525C86.239 239.675 86.2388 239.918 86.089 240.067L82.8331 243.319C82.7612 243.391 82.7207 243.489 82.7207 243.591C82.7207 243.693 82.7611 243.79 82.8331 243.862C82.9051 243.934 83.0028 243.975 83.1046 243.975C83.2065 243.975 83.3041 243.934 83.3761 243.862L86.9044 240.338C87.1202 240.122 87.2416 239.829 87.2416 239.524C87.2416 239.218 87.1203 238.926 86.9044 238.71C86.6885 238.494 86.3956 238.372 86.0903 238.372Z" fill="#485264"/>
<rect x="381.986" y="233.296" width="17.291" height="17.291" rx="4.61092" fill="#3370FF"/>
<path d="M394.902 241.699C394.813 241.523 394.534 241.393 393.976 241.133L387.923 238.31C387.282 238.011 386.962 237.862 386.747 237.911C386.56 237.953 386.406 238.075 386.331 238.24C386.245 238.43 386.352 238.749 386.566 239.387L387.211 241.317L389.248 241.555C389.912 241.633 390.244 241.672 390.311 241.72C390.472 241.837 390.472 242.063 390.311 242.179C390.244 242.228 389.912 242.267 389.248 242.345L387.205 242.583L386.566 244.495C386.352 245.133 386.245 245.452 386.331 245.642C386.406 245.807 386.56 245.929 386.747 245.972C386.962 246.02 387.282 245.871 387.923 245.572L393.976 242.749C394.534 242.489 394.813 242.359 394.902 242.183C394.98 242.03 394.98 241.852 394.902 241.699Z" fill="white"/>
<rect x="94.3323" y="238.667" width="54.6917" height="5.25" rx="2.625" fill="#DFE2EA"/>
</g>
<g filter="url(#filter1_dd_4800_11624)">
<rect x="70.125" y="86.125" width="339.5" height="127.5" rx="9.27585" fill="white"/>
<rect x="70.7812" y="86.7812" width="338.188" height="126.188" rx="8.6196" stroke="#94B5FF" stroke-width="1.3125"/>
<path d="M89.1725 101.663C89.1883 101.635 89.2295 101.635 89.2454 101.663L89.6514 102.396C89.6552 102.403 89.6608 102.409 89.6676 102.413L90.4009 102.819C90.4295 102.835 90.4295 102.876 90.4009 102.892L89.6676 103.298C89.6608 103.301 89.6552 103.307 89.6514 103.314L89.2454 104.047C89.2295 104.076 89.1883 104.076 89.1725 104.047L88.7664 103.314C88.7627 103.307 88.757 103.301 88.7502 103.298L88.0169 102.892C87.9883 102.876 87.9883 102.835 88.0169 102.819L88.7502 102.413C88.757 102.409 88.7627 102.403 88.7664 102.396L89.1725 101.663Z" fill="#485264"/>
<path d="M85.0292 102.025C85.257 101.797 85.6262 101.797 85.854 102.025L91.6921 107.863C91.9199 108.09 91.9199 108.46 91.6921 108.688C91.4643 108.915 91.0951 108.915 90.8673 108.688L85.0292 102.849C84.8014 102.622 84.8014 102.252 85.0292 102.025Z" fill="#485264"/>
<path d="M85.9125 105.825C85.8966 105.797 85.8555 105.797 85.8396 105.825L85.4336 106.559C85.4298 106.565 85.4242 106.571 85.4173 106.575L84.6841 106.981C84.6554 106.997 84.6554 107.038 84.6841 107.054L85.4173 107.46C85.4242 107.464 85.4298 107.469 85.4336 107.476L85.8396 108.209C85.8555 108.238 85.8966 108.238 85.9125 108.209L86.3185 107.476C86.3223 107.469 86.3279 107.464 86.3348 107.46L87.068 107.054C87.0967 107.038 87.0967 106.997 87.068 106.981L86.3348 106.575C86.3279 106.571 86.3223 106.565 86.3185 106.559L85.9125 105.825Z" fill="#485264"/>
<path d="M84.6477 104.547C84.6314 104.53 84.6314 104.504 84.6477 104.488L85.0057 104.13C85.022 104.113 85.0484 104.113 85.0646 104.13L85.4227 104.488C85.4389 104.504 85.4389 104.53 85.4227 104.547L85.0646 104.905C85.0484 104.921 85.022 104.921 85.0057 104.905L84.6477 104.547Z" fill="#485264"/>
<path d="M90.4753 104.9C90.459 104.917 90.459 104.943 90.4753 104.959L90.8333 105.317C90.8496 105.334 90.876 105.334 90.8922 105.317L91.2502 104.959C91.2665 104.943 91.2665 104.917 91.2502 104.9L90.8922 104.542C90.876 104.526 90.8496 104.526 90.8333 104.542L90.4753 104.9Z" fill="#485264"/>
<path d="M98.1477 102.659C97.9728 102.909 97.7895 103.117 97.5978 103.292H98.7976C98.831 103.084 98.856 102.876 98.8726 102.659H98.1477ZM98.581 104.017H97.0312V103.292H97.4062L97.0146 102.801C97.3978 102.459 97.7395 101.976 98.0227 101.343L98.731 101.493C98.6727 101.659 98.606 101.809 98.5393 101.959H100.822V102.659H99.6308C99.6142 102.884 99.5975 103.092 99.5642 103.292H101.056V104.017H99.3975C99.3809 104.059 99.3725 104.101 99.3642 104.134C99.9808 104.451 100.497 104.767 100.931 105.084L100.439 105.584H103.622V109.125H102.822V108.8H98.8893V109.125H98.0977V105.7C97.8811 105.834 97.6561 105.967 97.4062 106.084L96.8729 105.442C97.7395 105.059 98.2977 104.601 98.5643 104.051L98.581 104.017ZM98.8893 108.1H102.822V107.55H98.8893V108.1ZM98.8893 106.867H102.822V106.284H98.8893V106.867ZM98.2644 105.584H100.297C99.9808 105.3 99.5892 105.009 99.1059 104.709C98.906 105.025 98.6227 105.317 98.2644 105.584ZM101.314 101.968H104.23V105.117H101.314V101.968ZM103.455 104.426V102.668H102.089V104.426H103.455ZM106.68 106.3V106.909H108.396V106.3H106.68ZM108.396 105.65V105.009H106.68V105.65H108.396ZM106.68 107.567V109.125H105.913V104.317H109.163V108.2C109.163 108.775 108.888 109.067 108.355 109.067H107.705L107.513 108.325L108.105 108.358C108.296 108.358 108.396 108.25 108.396 108.033V107.567H106.68ZM112.004 105.109H110.646C110.063 105.109 109.779 104.792 109.779 104.159V101.451H110.563V102.434C111.421 102.301 112.121 102.168 112.662 102.018L112.921 102.717C112.237 102.876 111.454 103.026 110.563 103.159V103.992C110.563 104.259 110.663 104.401 110.862 104.401H111.854C111.987 104.401 112.079 104.359 112.137 104.276C112.204 104.176 112.254 103.892 112.271 103.426L113.012 103.667C112.946 104.359 112.829 104.776 112.679 104.917C112.529 105.042 112.304 105.109 112.004 105.109ZM110.563 107.034V108.05C110.563 108.2 110.654 108.275 110.854 108.275H111.862C111.996 108.275 112.096 108.233 112.154 108.158C112.221 108.058 112.271 107.775 112.296 107.308L113.012 107.542C112.946 108.242 112.837 108.658 112.687 108.792C112.546 108.917 112.321 108.983 112.012 108.983H110.629C110.063 108.983 109.779 108.725 109.779 108.225V105.4H110.563V106.317C111.346 106.234 112.046 106.092 112.662 105.909L112.921 106.617C112.187 106.817 111.396 106.95 110.563 107.034ZM108.563 102.001C109.054 102.659 109.429 103.234 109.696 103.717L109.046 104.184C108.963 104.017 108.871 103.842 108.771 103.667C107.905 103.801 106.863 103.901 105.647 103.967L105.43 103.309C105.572 103.259 105.688 103.192 105.788 103.109C106.297 102.543 106.688 101.976 106.955 101.409L107.713 101.634C107.363 102.318 106.971 102.859 106.538 103.276C107.121 103.242 107.755 103.176 108.43 103.092C108.28 102.859 108.121 102.626 107.955 102.384L108.563 102.001ZM117.961 105.242V106.167H119.253V105.242H117.961ZM117.961 106.9V107.933H119.253V106.9H117.961ZM117.961 108.692V109.067H117.178V104.451C117.012 104.692 116.828 104.925 116.637 105.159L116.37 104.326C117.028 103.442 117.495 102.484 117.761 101.434L118.528 101.584C118.411 102.001 118.27 102.401 118.103 102.784H119.378C119.245 102.384 119.095 101.984 118.928 101.601L119.686 101.401C119.869 101.909 120.019 102.368 120.119 102.784H121.394V103.542H120.036V104.501H121.228V105.242H120.036V106.167H121.228V106.9H120.036V107.933H121.486V108.692H117.961ZM119.253 103.542H117.961V104.501H119.253V103.542ZM116.512 104.784V105.592C116.278 105.7 116.037 105.8 115.803 105.9V108.167C115.803 108.708 115.52 108.983 114.962 108.983H114.212L114.037 108.217C114.262 108.25 114.479 108.267 114.687 108.267C114.904 108.267 115.012 108.167 115.012 107.967V106.2C114.695 106.309 114.37 106.409 114.054 106.5L113.854 105.7C114.245 105.617 114.629 105.517 115.012 105.4V103.651H114.012V102.884H115.012V101.418H115.803V102.884H116.578V103.651H115.803V105.109C116.045 105.009 116.278 104.901 116.512 104.784ZM122.602 101.951H124.435V101.426H125.235V101.951H127.252V101.426H128.052V101.951H129.885V102.676H128.052V103.217H127.252V102.676H125.235V103.209H124.435V102.676H122.602V101.951ZM122.736 103.692H125.052C125.144 103.501 125.227 103.309 125.302 103.126L126.069 103.259C126.019 103.409 125.96 103.551 125.902 103.692H129.843V104.417H125.544C125.294 104.842 125.002 105.242 124.669 105.625V109.125H123.911V106.367C123.602 106.634 123.277 106.884 122.927 107.117L122.427 106.467C123.361 105.867 124.086 105.184 124.619 104.417H122.736V103.692ZM127.352 106.175C127.568 106.034 127.86 105.85 128.227 105.625H125.727V104.909H129.36V105.475C129.01 105.75 128.602 106.05 128.152 106.384V106.575H129.893V107.325H128.152V108.358C128.152 108.85 127.902 109.1 127.41 109.1H126.402L126.169 108.333C126.56 108.367 126.868 108.383 127.093 108.383C127.26 108.383 127.352 108.3 127.352 108.133V107.325H125.144V106.575H127.352V106.175Z" fill="#485264"/>
<rect x="83.25" y="121.75" width="313.25" height="78.75" rx="5.25" fill="#F7F8FA"/>
<rect x="91.125" y="132.25" width="42.587" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="91.125" y="145.375" width="98.4575" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="91.125" y="158.5" width="134.51" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="91.125" y="171.625" width="155.848" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="91.125" y="184.75" width="90.3641" height="5.25" rx="2.625" fill="#DFE2EA"/>
</g>
<path d="M260.72 173.263C276.994 178.438 286.318 186.431 293.919 201.722C300.388 214.738 301.588 224.462 298.477 238.66" stroke="#3370FF" stroke-width="2.40329" stroke-dasharray="3.2 3.2"/>
<path d="M260.047 171.333C258.824 171.491 258.231 172.914 258.979 173.894L265.015 181.797C265.916 182.978 267.8 182.402 267.887 180.918L268.146 176.505C268.168 176.131 268.32 175.777 268.576 175.504L271.144 172.759C272.171 171.662 271.259 169.883 269.769 170.076L260.047 171.333Z" fill="#3370FF"/>
<mask id="path-24-inside-2_4800_11624" fill="white">
<path d="M0.290527 10.617C0.290527 4.81801 4.99154 0.117004 10.7905 0.117004H410.5C416.299 0.117004 421 4.81801 421 10.617V20.0271H0.290527V10.617Z"/>
</mask>
<path d="M0.290527 10.617C0.290527 4.81801 4.99154 0.117004 10.7905 0.117004H410.5C416.299 0.117004 421 4.81801 421 10.617V20.0271H0.290527V10.617Z" fill="#F0F1F6"/>
<path d="M0.290527 0.117004H421H0.290527ZM421 20.6833H0.290527V19.3708H421V20.6833ZM0.290527 20.0271V0.117004V20.0271ZM421 0.117004V20.0271V0.117004Z" fill="#DFE2EA" mask="url(#path-24-inside-2_4800_11624)"/>
<circle cx="17.4038" cy="10.9139" r="3.64527" fill="#C4CBD7"/>
<circle cx="31.9849" cy="10.9139" r="3.64527" fill="#C4CBD7"/>
<circle cx="46.5662" cy="10.9139" r="3.64527" fill="#C4CBD7"/>
</g>
<rect x="0.5" y="0.5" width="421" height="272.25" rx="9.6875" stroke="#E8EBF0"/>
<defs>
<filter id="filter0_dd_4800_11624" x="64.3613" y="222.532" width="351.027" height="43.0273" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.288183"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4800_11624"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="2.30546"/>
<feGaussianBlur stdDeviation="2.88183"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_4800_11624" result="effect2_dropShadow_4800_11624"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4800_11624" result="shape"/>
</filter>
<filter id="filter1_dd_4800_11624" x="64.2633" y="82.608" width="351.223" height="139.223" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.293087"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4800_11624"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="2.3447"/>
<feGaussianBlur stdDeviation="2.93087"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_4800_11624" result="effect2_dropShadow_4800_11624"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4800_11624" result="shape"/>
</filter>
<clipPath id="clip0_4800_11624">
<rect x="1" y="1" width="420" height="271.25" rx="9.1875" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,11 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="36" height="36" rx="6" fill="#FFF1F6"/>
<path d="M16.9567 8.4704C16.9567 7.89425 17.4238 7.42719 17.9999 7.42719C18.5761 7.42719 19.0432 7.89425 19.0432 8.4704V9.86377C19.0432 10.4399 18.5761 10.907 17.9999 10.907C17.4238 10.907 16.9567 10.4399 16.9567 9.86377V8.4704Z" fill="#F9518E"/>
<path d="M10.0569 17.0231C10.633 17.0231 11.1001 17.4901 11.1001 18.0663C11.1001 18.6424 10.633 19.1095 10.0569 19.1095H8.66797C8.09182 19.1095 7.62476 18.6424 7.62476 18.0663C7.62476 17.4901 8.09182 17.0231 8.66797 17.0231H10.0569Z" fill="#F9518E"/>
<path d="M27.332 17.0231C27.9081 17.0231 28.3752 17.4901 28.3752 18.0663C28.3752 18.6424 27.9081 19.1095 27.332 19.1095H25.9372C25.361 19.1095 24.894 18.6424 24.894 18.0663C24.894 17.4901 25.361 17.0231 25.9372 17.0231H27.332Z" fill="#F9518E"/>
<path d="M20.3526 24.6161C20.811 24.6161 21.1826 24.9878 21.1826 25.4461C21.1826 25.9045 20.811 26.2761 20.3526 26.2761H15.6229C15.1645 26.2761 14.7929 25.9045 14.7929 25.4461C14.7929 24.9878 15.1645 24.6161 15.6229 24.6161H20.3526Z" fill="#F9518E"/>
<path d="M19.169 27.1129C19.5722 27.1129 19.899 27.4397 19.899 27.8429C19.899 28.246 19.5722 28.5729 19.169 28.5729H16.8064C16.4032 28.5729 16.0764 28.246 16.0764 27.8429C16.0764 27.4397 16.4032 27.1129 16.8064 27.1129H19.169Z" fill="#F9518E"/>
<path d="M23.8047 17.8024C23.8047 21.0082 21.2058 23.6071 18 23.6071C14.7941 23.6071 12.1953 21.0082 12.1953 17.8024C12.1953 14.5965 14.7941 11.9977 18 11.9977C21.2058 11.9977 23.8047 14.5965 23.8047 17.8024Z" fill="#F9518E"/>
<path d="M24.3817 12.9573C23.9743 13.3647 23.3138 13.3647 22.9064 12.9573C22.499 12.5499 22.499 11.8894 22.9064 11.482L23.8909 10.4975C24.2983 10.0901 24.9588 10.0901 25.3662 10.4975C25.7736 10.9049 25.7736 11.5654 25.3662 11.9728L24.3817 12.9573Z" fill="#F9518E"/>
<path d="M11.6182 12.9619C12.0256 13.3693 12.6861 13.3693 13.0935 12.9619C13.5009 12.5545 13.5009 11.894 13.0935 11.4866L12.1091 10.5022C11.7017 10.0948 11.0411 10.0948 10.6337 10.5022C10.2263 10.9096 10.2263 11.5701 10.6337 11.9775L11.6182 12.9619Z" fill="#F9518E"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,110 @@
<svg width="422" height="272" viewBox="0 0 422 272" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4766_19898)">
<rect x="1" y="1" width="420" height="269.5" rx="7.875" fill="#F4F4F7"/>
<mask id="path-3-inside-1_4766_19898" fill="white">
<path d="M58.75 20.1125H421V270.8H58.75V20.1125Z"/>
</mask>
<path d="M58.75 20.1125H421V270.8H58.75V20.1125Z" fill="white"/>
<path d="M59.4062 270.8V20.1125H58.0938V270.8H59.4062Z" fill="#DFE2EA" mask="url(#path-3-inside-1_4766_19898)"/>
<rect x="381.625" y="37.1749" width="22.3125" height="22.3125" rx="4.95833" fill="url(#paint0_linear_4766_19898)"/>
<path d="M392.278 44.6185H393.531L396.309 51.8311H395.127L394.45 49.9724H391.349L390.672 51.8311H389.5L392.278 44.6185ZM391.682 49.0632H394.116L392.924 45.8004H392.884L391.682 49.0632Z" fill="white"/>
<path d="M340.938 68.3992C340.938 65.652 343.165 63.4249 345.912 63.4249H403.938V83.3918C403.938 86.137 401.712 88.3624 398.967 88.3624H345.908C343.163 88.3624 340.938 86.137 340.938 83.3918V68.3992Z" fill="#F0F4FF"/>
<rect x="349.309" y="73.2686" width="45.8664" height="5.25" rx="2.625" fill="#C5D7FF"/>
<rect x="69.5607" y="88.6731" width="21.7464" height="21.7464" rx="4.65993" fill="#FBFBFC"/>
<rect x="69.5607" y="88.6731" width="21.7464" height="21.7464" rx="4.65993" stroke="#E8EBF0" stroke-width="0.621324"/>
<path d="M81.6744 97.0955C81.6744 96.5958 81.5203 96.1072 81.2317 95.6917C80.943 95.2762 80.5328 94.9524 80.0528 94.7611C79.5728 94.5699 79.0447 94.5198 78.5351 94.6173C78.0256 94.7148 77.5575 94.9555 77.1902 95.3088C76.8228 95.6622 76.5726 96.1124 76.4713 96.6026C76.3699 97.0927 76.4219 97.6007 76.6207 98.0624C76.8196 98.5241 77.1562 98.9187 77.5882 99.1964C78.0202 99.474 78.5281 99.6222 79.0476 99.6222V97.0955H81.6744Z" fill="url(#paint1_linear_4766_19898)"/>
<path d="M84.447 97.0955C84.447 96.7637 84.3861 96.4351 84.2677 96.1286C84.1494 95.822 83.9759 95.5435 83.7572 95.3088C83.5384 95.0742 83.2788 94.8881 82.993 94.7611C82.7072 94.6341 82.401 94.5688 82.0916 94.5688C81.7823 94.5688 81.476 94.6341 81.1903 94.7611C80.9045 94.8881 80.6448 95.0742 80.4261 95.3088C80.2074 95.5435 80.0339 95.822 79.9155 96.1286C79.7972 96.4351 79.7362 96.7637 79.7362 97.0955L84.447 97.0955Z" fill="url(#paint2_linear_4766_19898)"/>
<path d="M84.0149 101.146C84.0149 100.864 83.9665 100.585 83.8725 100.324C83.7784 100.064 83.6405 99.8273 83.4667 99.628C83.2929 99.4287 83.0866 99.2706 82.8595 99.1627C82.6324 99.0548 82.389 98.9993 82.1432 98.9993V101.146H84.0149Z" fill="url(#paint3_linear_4766_19898)"/>
<path d="M79.0475 100.372C78.7025 100.372 78.361 100.431 78.0423 100.547C77.7236 100.662 77.434 100.832 77.1901 101.045C76.9461 101.259 76.7527 101.513 76.6207 101.792C76.4886 102.071 76.4207 102.37 76.4207 102.672C76.4207 102.974 76.4886 103.273 76.6207 103.552C76.7527 103.831 76.9461 104.085 77.1901 104.299C77.434 104.512 77.7236 104.682 78.0423 104.797C78.361 104.913 78.7025 104.972 79.0475 104.972L79.0475 100.372Z" fill="url(#paint4_linear_4766_19898)"/>
<path d="M79.0475 96.9954L79.0475 102.647L76.4207 102.647L76.4207 96.9954H79.0475Z" fill="url(#paint5_linear_4766_19898)"/>
<path d="M82.171 97.0951L79.0177 97.0951L79.0177 94.5688L82.171 94.5688V97.0951Z" fill="url(#paint6_linear_4766_19898)"/>
<path d="M82.171 101.145H80.426V98.9993L82.171 98.9993V101.145Z" fill="url(#paint7_linear_4766_19898)"/>
<path d="M69.25 115.271H398.967C401.712 115.271 403.938 117.497 403.938 120.242V191.676C403.938 194.421 401.712 196.646 398.967 196.646H74.2206C71.4754 196.646 69.25 194.421 69.25 191.676V115.271Z" fill="#F7F8FA"/>
<rect x="76.3269" y="126.377" width="315.446" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="76.3269" y="139.502" width="95.0487" height="5.25" rx="2.625" fill="#DFE2EA"/>
<path d="M82.7183 156.693C82.7183 156.357 82.9908 156.085 83.3268 156.085C83.6629 156.085 83.9354 156.357 83.9354 156.693V157.506C83.9354 157.842 83.6629 158.115 83.3268 158.115C82.9908 158.115 82.7183 157.842 82.7183 157.506V156.693Z" fill="#F9518E"/>
<path d="M78.6934 161.682C79.0295 161.682 79.3019 161.955 79.3019 162.291C79.3019 162.627 79.0295 162.9 78.6934 162.9H77.8832C77.5471 162.9 77.2747 162.627 77.2747 162.291C77.2747 161.955 77.5471 161.682 77.8832 161.682H78.6934Z" fill="#F9518E"/>
<path d="M88.7705 161.682C89.1066 161.682 89.3791 161.955 89.3791 162.291C89.3791 162.627 89.1066 162.9 88.7705 162.9H87.9569C87.6208 162.9 87.3484 162.627 87.3484 162.291C87.3484 161.955 87.6208 161.682 87.9569 161.682H88.7705Z" fill="#F9518E"/>
<path d="M84.6992 166.112C84.9666 166.112 85.1834 166.329 85.1834 166.596C85.1834 166.863 84.9666 167.08 84.6992 167.08H81.9402C81.6728 167.08 81.456 166.863 81.456 166.596C81.456 166.329 81.6728 166.112 81.9402 166.112H84.6992Z" fill="#F9518E"/>
<path d="M84.0088 167.568C84.244 167.568 84.4346 167.759 84.4346 167.994C84.4346 168.229 84.244 168.42 84.0088 168.42H82.6306C82.3954 168.42 82.2048 168.229 82.2048 167.994C82.2048 167.759 82.3954 167.568 82.6306 167.568H84.0088Z" fill="#F9518E"/>
<path d="M86.7129 162.137C86.7129 164.007 85.1969 165.523 83.3269 165.523C81.4568 165.523 79.9408 164.007 79.9408 162.137C79.9408 160.267 81.4568 158.751 83.3269 158.751C85.1969 158.751 86.7129 160.267 86.7129 162.137Z" fill="#F9518E"/>
<path d="M87.0495 159.311C86.8119 159.548 86.4266 159.548 86.1889 159.311C85.9513 159.073 85.9513 158.688 86.1889 158.45L86.7632 157.876C87.0009 157.638 87.3862 157.638 87.6238 157.876C87.8615 158.113 87.8615 158.499 87.6238 158.736L87.0495 159.311Z" fill="#F9518E"/>
<path d="M79.6042 159.313C79.8418 159.551 80.2271 159.551 80.4648 159.313C80.7024 159.076 80.7024 158.69 80.4648 158.453L79.8905 157.879C79.6529 157.641 79.2675 157.641 79.0299 157.879C78.7922 158.116 78.7922 158.502 79.0299 158.739L79.6042 159.313Z" fill="#F9518E"/>
<path d="M99.7497 157.052H100.66V157.622H102.97V158.402H100.66V158.882H102.63V159.642H100.66V160.142H103.23V160.922H97.2397V160.142H99.7497V159.642H97.8297V158.882H99.7497V158.402H97.5897V157.622H99.7497V157.052ZM98.7997 163.452V163.992H101.65V163.452H98.7997ZM101.65 162.732V162.162H98.7997V162.732H101.65ZM98.7997 164.702V166.282H97.8997V161.392H102.56V165.292C102.56 165.912 102.25 166.222 101.64 166.222H100.84L100.61 165.382L101.37 165.432C101.55 165.432 101.65 165.312 101.65 165.092V164.702H98.7997ZM94.7797 166.162L94.4997 165.272C94.7997 165.312 95.0797 165.332 95.3497 165.332C95.6297 165.332 95.8097 165.272 95.8997 165.172C96.0997 164.922 96.2097 164.172 96.2097 162.912C96.2097 162.632 96.1997 162.372 96.1897 162.132C95.7297 162.762 95.2097 163.302 94.6097 163.752L94.0597 162.952C94.9197 162.372 95.5797 161.682 96.0597 160.882C95.9897 160.512 95.9097 160.192 95.8097 159.912L95.7497 159.752C95.4197 160.052 95.0297 160.362 94.5797 160.682L94.0697 159.862C94.5097 159.622 94.9197 159.312 95.2997 158.932C95.0297 158.532 94.7097 158.162 94.3297 157.822L95.0797 157.242C95.3997 157.562 95.6697 157.892 95.9097 158.212C96.1597 157.872 96.3997 157.482 96.6297 157.062L97.4197 157.552C97.0797 158.142 96.7497 158.642 96.4197 159.052C96.4997 159.212 96.5797 159.372 96.6397 159.532C96.9297 160.332 97.0897 161.472 97.1197 162.952C97.1197 164.592 96.9097 165.572 96.5097 165.912C96.2697 166.082 95.9497 166.172 95.5497 166.172C95.2297 166.172 94.9797 166.162 94.7797 166.162ZM105.366 161.012C105.076 161.372 104.766 161.712 104.446 162.052L104.136 161.042C105.176 159.882 105.946 158.532 106.436 156.992L107.326 157.412C107.066 158.192 106.736 158.942 106.316 159.642V166.282H105.366V161.012ZM112.096 161.032C112.576 162.202 112.996 163.452 113.346 164.782L112.516 165.162C112.136 163.712 111.716 162.432 111.256 161.312L112.096 161.032ZM108.566 159.112C108.266 159.852 107.916 160.522 107.516 161.142L106.696 160.632C107.446 159.522 107.976 158.332 108.286 157.052L109.176 157.242C109.086 157.572 108.996 157.892 108.896 158.192H113.096V158.812C112.936 159.412 112.746 160.012 112.506 160.612L111.596 160.352C111.796 159.992 111.976 159.572 112.116 159.112H108.566ZM109.716 166.212H108.436L108.226 165.312C108.636 165.352 109.026 165.382 109.396 165.382C109.636 165.382 109.756 165.252 109.756 164.992V159.842H110.676V165.232C110.676 165.882 110.356 166.212 109.716 166.212ZM108.126 161.132L108.976 161.372C108.626 162.752 108.176 163.952 107.616 164.992L106.726 164.672C107.256 163.742 107.726 162.562 108.126 161.132ZM118.833 157.382H122.893V162.532H118.833V157.382ZM121.973 161.712V161.052H119.763V161.712H121.973ZM119.763 160.282H121.973V159.652H119.763V160.282ZM119.763 158.872H121.973V158.222H119.763V158.872ZM117.063 160.262V162.622H116.103V160.242C115.713 160.932 115.243 161.572 114.683 162.172L114.333 161.272C115.053 160.642 115.633 159.912 116.073 159.082H114.543V158.202H116.103V157.172H117.063V158.202H118.283V159.082H117.063V159.432C117.563 159.762 118.063 160.132 118.573 160.542L118.033 161.332C117.653 160.892 117.333 160.532 117.063 160.262ZM115.323 163.132L116.263 163.342C116.023 164.302 115.683 165.142 115.243 165.842L114.423 165.332C114.843 164.652 115.143 163.922 115.323 163.132ZM120.413 166.072H117.843C117.123 166.072 116.763 165.702 116.763 164.962V163.032H117.733V164.762C117.733 165.022 117.863 165.152 118.143 165.152H120.243C120.403 165.152 120.533 165.092 120.613 164.992C120.713 164.892 120.773 164.562 120.803 164.002L121.703 164.302C121.633 165.152 121.493 165.662 121.273 165.842C121.093 165.992 120.803 166.072 120.413 166.072ZM119.043 162.802C119.503 163.292 119.863 163.712 120.113 164.072L119.353 164.602C119.093 164.202 118.743 163.752 118.303 163.262L119.043 162.802ZM122.153 162.822C122.813 163.662 123.313 164.392 123.663 165.022L122.853 165.582C122.493 164.902 122.003 164.152 121.383 163.312L122.153 162.822ZM132.03 166.222H131.01L130.77 165.332L131.84 165.352C132.18 165.352 132.36 165.162 132.36 164.792V158.482H128.58V157.562H133.33V165.042C133.33 165.822 132.89 166.222 132.03 166.222ZM124.99 158.712H125.96V166.292H124.99V158.712ZM127.23 160.072H131.05V164.052H127.23V160.072ZM130.1 163.142V160.982H128.18V163.142H130.1ZM126.72 156.952C127.17 157.492 127.57 158.092 127.93 158.742L127.08 159.182C126.7 158.482 126.29 157.872 125.84 157.342L126.72 156.952Z" fill="#485264"/>
<line x1="141.222" y1="161.859" x2="396.841" y2="161.859" stroke="#DFE2EA" stroke-width="0.7875"/>
<rect x="76.3269" y="174.502" width="58.6732" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="141.562" y="174.502" width="58.6732" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="206.798" y="174.502" width="58.6732" height="5.25" rx="2.625" fill="#DFE2EA"/>
<path d="M184.51 185.348C193.721 199.728 203.855 206.666 220.593 210.05C234.839 212.93 244.543 211.573 257.451 204.893" stroke="#3370FF" stroke-width="2.40329" stroke-dasharray="3.2 3.2"/>
<path d="M182.472 185.198C182.308 183.975 183.529 183.034 184.67 183.503L193.866 187.287C195.24 187.853 195.171 189.822 193.76 190.29L189.564 191.682C189.209 191.8 188.906 192.038 188.709 192.356L186.722 195.547C185.928 196.823 183.974 196.402 183.774 194.913L182.472 185.198Z" fill="#3370FF"/>
<g filter="url(#filter0_dd_4766_19898)">
<rect x="70.5625" y="226.175" width="339.938" height="31.5" rx="6.91639" fill="white"/>
<rect x="70.8452" y="226.458" width="339.372" height="30.9345" rx="6.63366" stroke="#DFE2EA" stroke-width="0.565456"/>
<rect x="82.75" y="239.3" width="58.6732" height="5.25" rx="2.625" fill="#E8EBF0"/>
<rect x="378.615" y="232.467" width="18.6344" height="18.9157" rx="2.85316" fill="#F0F1F6"/>
</g>
<rect x="8.6106" y="34.5865" width="22.5656" height="5.46791" rx="2.73395" fill="#DFE2EA"/>
<rect x="8.6106" y="48.86" width="41.6007" height="5.46791" rx="2.73395" fill="#DFE2EA"/>
<mask id="path-28-inside-2_4766_19898" fill="white">
<path d="M0.290283 11.3545C0.290283 5.5555 4.99129 0.854492 10.7903 0.854492H412.133C417.932 0.854492 422.633 5.5555 422.633 11.3545V20.7646H0.290283V11.3545Z"/>
</mask>
<path d="M0.290283 11.3545C0.290283 5.5555 4.99129 0.854492 10.7903 0.854492H412.133C417.932 0.854492 422.633 5.5555 422.633 11.3545V20.7646H0.290283V11.3545Z" fill="#F0F1F6"/>
<path d="M0.290283 0.854492H422.633H0.290283ZM422.633 21.4208H0.290283V20.1083H422.633V21.4208ZM0.290283 20.7646V0.854492V20.7646ZM422.633 0.854492V20.7646V0.854492Z" fill="#DFE2EA" mask="url(#path-28-inside-2_4766_19898)"/>
<circle cx="17.4036" cy="11.6514" r="3.64527" fill="#C4CBD7"/>
<circle cx="31.9846" cy="11.6514" r="3.64527" fill="#C4CBD7"/>
<circle cx="46.5657" cy="11.6514" r="3.64527" fill="#C4CBD7"/>
</g>
<rect x="0.5" y="0.5" width="421" height="270.5" rx="8.375" stroke="#E8EBF0"/>
<defs>
<filter id="filter0_dd_4766_19898" x="64.7988" y="222.717" width="351.465" height="43.0273" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.288183"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4766_19898"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="2.30546"/>
<feGaussianBlur stdDeviation="2.88183"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_4766_19898" result="effect2_dropShadow_4766_19898"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4766_19898" result="shape"/>
</filter>
<linearGradient id="paint0_linear_4766_19898" x1="392.781" y1="37.1749" x2="385.034" y2="57.628" gradientUnits="userSpaceOnUse">
<stop stop-color="#3E78FF"/>
<stop offset="1" stop-color="#78A0FF"/>
</linearGradient>
<linearGradient id="paint1_linear_4766_19898" x1="80.4338" y1="94.5688" x2="80.4338" y2="104.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint2_linear_4766_19898" x1="80.4338" y1="94.5688" x2="80.4338" y2="104.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint3_linear_4766_19898" x1="80.4338" y1="94.5688" x2="80.4338" y2="104.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint4_linear_4766_19898" x1="80.4338" y1="94.5688" x2="80.4338" y2="104.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint5_linear_4766_19898" x1="80.4338" y1="94.5688" x2="80.4338" y2="104.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint6_linear_4766_19898" x1="80.4338" y1="94.5688" x2="80.4338" y2="104.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint7_linear_4766_19898" x1="80.4338" y1="94.5688" x2="80.4338" y2="104.972" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<clipPath id="clip0_4766_19898">
<rect x="1" y="1" width="420" height="269.5" rx="7.875" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,4 @@
<svg width="36" height="37" viewBox="0 0 36 37" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="0.230957" width="36" height="36" rx="6" fill="#F0F4FF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.6371 10.4538C12.0276 10.8443 12.0277 11.4774 11.6373 11.868C9.95004 13.5558 9.0022 15.8445 9.0022 18.231C9.0022 20.6175 9.95004 22.9063 11.6373 24.594C12.0277 24.9846 12.0276 25.6178 11.6371 26.0082C11.2465 26.3987 10.6133 26.3986 10.2228 26.008C8.16067 23.9452 7.0022 21.1478 7.0022 18.231C7.0022 15.3142 8.16067 12.5168 10.2228 10.454C10.6133 10.0634 11.2465 10.0633 11.6371 10.4538ZM24.3631 10.4538C24.7536 10.0633 25.3868 10.0634 25.7773 10.454C27.8395 12.5168 28.9979 15.3142 28.9979 18.231C28.9979 21.1478 27.8395 23.9452 25.7773 26.008C25.3868 26.3986 24.7536 26.3987 24.3631 26.0082C23.9725 25.6178 23.9724 24.9846 24.3628 24.594C26.0501 22.9063 26.9979 20.6175 26.9979 18.231C26.9979 15.8445 26.0501 13.5558 24.3628 11.868C23.9724 11.4774 23.9725 10.8443 24.3631 10.4538ZM14.4676 13.2743C14.8579 13.665 14.8575 14.2982 14.4668 14.6885C14.0019 15.1529 13.6331 15.7043 13.3815 16.3113C13.1299 16.9183 13.0003 17.5689 13.0003 18.226C13.0003 18.8831 13.1299 19.5337 13.3815 20.1407C13.6331 20.7477 14.0019 21.2991 14.4668 21.7635C14.8575 22.1538 14.8579 22.787 14.4676 23.1777C14.0773 23.5685 13.4441 23.5688 13.0533 23.1785C12.4025 22.5284 11.8862 21.7564 11.5339 20.9066C11.1817 20.0568 11.0003 19.1459 11.0003 18.226C11.0003 17.3061 11.1817 16.3952 11.5339 15.5454C11.8862 14.6956 12.4025 13.9236 13.0533 13.2735C13.4441 12.8832 14.0773 12.8836 14.4676 13.2743ZM21.5326 13.2843C21.9229 12.8936 22.556 12.8932 22.9468 13.2835C23.5976 13.9336 24.1139 14.7056 24.4662 15.5554C24.8185 16.4052 24.9998 17.3161 24.9998 18.236C24.9998 19.1559 24.8185 20.0668 24.4662 20.9166C24.1139 21.7664 23.5976 22.5384 22.9468 23.1885C22.556 23.5788 21.9229 23.5785 21.5326 23.1877C21.1423 22.797 21.1426 22.1638 21.5333 21.7735C21.9982 21.3091 22.367 20.7577 22.6186 20.1507C22.8703 19.5437 22.9998 18.8931 22.9998 18.236C22.9998 17.5789 22.8703 16.9283 22.6186 16.3213C22.367 15.7143 21.9982 15.1629 21.5333 14.6985C21.1426 14.3082 21.1423 13.675 21.5326 13.2843ZM18.0001 17.231C17.4478 17.231 17.0001 17.6787 17.0001 18.231C17.0001 18.7833 17.4478 19.231 18.0001 19.231C18.5523 19.231 19.0001 18.7833 19.0001 18.231C19.0001 17.6787 18.5523 17.231 18.0001 17.231ZM15.0001 18.231C15.0001 16.5742 16.3432 15.231 18.0001 15.231C19.6569 15.231 21.0001 16.5742 21.0001 18.231C21.0001 19.8879 19.6569 21.231 18.0001 21.231C16.3432 21.231 15.0001 19.8879 15.0001 18.231Z" fill="#3370FF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,308 @@
<svg width="422" height="272" viewBox="0 0 422 272" fill="none" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g clip-path="url(#clip0_4825_11881)">
<rect x="1" y="1.23096" width="420" height="269.5" rx="7.875" fill="#F4F4F7" />
<g clip-path="url(#clip1_4825_11881)">
<mask id="path-3-inside-1_4825_11881" fill="white">
<path d="M58.7498 20.3435H421V271.031H58.7498V20.3435Z" />
</mask>
<path d="M58.7498 20.3435H421V271.031H58.7498V20.3435Z" fill="white" />
<rect x="69.6234" y="39.6046" width="26.1559" height="26.1559" rx="5.60484" fill="#FBFBFC" />
<rect x="69.6234" y="39.6046" width="26.1559" height="26.1559" rx="5.60484" stroke="#E8EBF0"
stroke-width="0.747312" />
<path
d="M84.1933 49.735C84.1933 49.1339 84.008 48.5463 83.6608 48.0466C83.3137 47.5468 82.8202 47.1573 82.2429 46.9273C81.6656 46.6972 81.0304 46.6371 80.4175 46.7543C79.8046 46.8716 79.2417 47.161 78.7998 47.586C78.358 48.0111 78.057 48.5526 77.9351 49.1421C77.8132 49.7316 77.8758 50.3427 78.1149 50.898C78.3541 51.4533 78.759 51.9279 79.2786 52.2619C79.7981 52.5958 80.409 52.774 81.0339 52.774V49.735H84.1933Z"
fill="url(#paint0_linear_4825_11881)" />
<path
d="M87.5282 49.735C87.5282 49.3359 87.4549 48.9407 87.3125 48.572C87.1702 48.2033 86.9615 47.8682 86.6984 47.586C86.4353 47.3038 86.123 47.08 85.7793 46.9273C85.4356 46.7745 85.0672 46.6959 84.6952 46.6959C84.3231 46.6959 83.9548 46.7745 83.611 46.9273C83.2673 47.08 82.955 47.3038 82.6919 47.586C82.4289 47.8682 82.2202 48.2033 82.0778 48.572C81.9355 48.9407 81.8622 49.3359 81.8622 49.735L87.5282 49.735Z"
fill="url(#paint1_linear_4825_11881)" />
<path
d="M87.0085 54.6066C87.0085 54.2676 86.9502 53.9318 86.8371 53.6186C86.724 53.3054 86.5581 53.0208 86.3491 52.781C86.14 52.5413 85.8919 52.3511 85.6187 52.2214C85.3456 52.0916 85.0529 52.0248 84.7572 52.0248V54.6066H87.0085Z"
fill="url(#paint2_linear_4825_11881)" />
<path
d="M81.0338 53.6754C80.6189 53.6754 80.208 53.747 79.8247 53.8861C79.4414 54.0251 79.0931 54.2289 78.7997 54.4858C78.5063 54.7428 78.2736 55.0478 78.1148 55.3835C77.956 55.7191 77.8743 56.0789 77.8743 56.4423C77.8743 56.8056 77.956 57.1654 78.1148 57.5011C78.2736 57.8368 78.5063 58.1418 78.7997 58.3987C79.0931 58.6556 79.4414 58.8594 79.8247 58.9985C80.208 59.1375 80.6189 59.2091 81.0338 59.2091L81.0338 53.6754Z"
fill="url(#paint3_linear_4825_11881)" />
<path d="M81.0338 49.6146L81.0338 56.4119L77.8743 56.4119L77.8743 49.6146H81.0338Z"
fill="url(#paint4_linear_4825_11881)" />
<path d="M84.7907 49.7345L80.9979 49.7345L80.9979 46.6959L84.7907 46.6959V49.7345Z"
fill="url(#paint5_linear_4825_11881)" />
<path d="M84.7907 54.6056H82.6917V52.0249L84.7907 52.0249V54.6056Z" fill="url(#paint6_linear_4825_11881)" />
<rect width="67.8671" height="25.45" transform="translate(102.132 39.9576)" fill="white" />
<rect x="102.505" y="44.0776" width="17.462" height="17.2101" rx="3.62673" fill="white" />
<rect x="102.505" y="44.0776" width="17.462" height="17.2101" rx="3.62673" stroke="#E8EBF0"
stroke-width="0.746549" />
<path
d="M108.611 52.4886C108.611 51.0389 109.786 49.8636 111.236 49.8636C112.686 49.8636 113.861 51.0389 113.861 52.4886V52.8767C113.861 54.3264 112.686 55.5017 111.236 55.5017C109.786 55.5017 108.611 54.3264 108.611 52.8767V52.4886Z"
fill="#C4CBD7" />
<g filter="url(#filter0_dd_4825_11881)">
<rect x="123.34" y="39.9576" width="25.45" height="25.45" rx="5" fill="white"
shape-rendering="crispEdges" />
<rect x="123.984" y="40.6014" width="24.1625" height="24.1625" rx="4.35625" stroke="#94B5FF"
stroke-width="1.2875" shape-rendering="crispEdges" />
<path
d="M132.414 52.9842C132.204 53.1914 131.863 53.1861 131.652 52.9724C131.441 52.7587 131.44 52.4175 131.651 52.2103C131.861 52.0031 132.202 52.0084 132.413 52.2221C132.623 52.4358 132.624 52.777 132.414 52.9842Z"
fill="#667085" />
<path fill-rule="evenodd" clip-rule="evenodd"
d="M137.598 46.1381C137.829 45.8674 138.235 45.8347 138.506 46.0652C140.621 47.8662 141.264 50.2902 141.268 52.6905C141.272 55.1483 140.3 57.4935 138.562 59.2079C138.309 59.4575 137.901 59.4547 137.652 59.2016C137.402 58.9485 137.405 58.5409 137.658 58.2912C139.148 56.8217 139.984 54.8087 139.981 52.6928C139.977 50.5194 139.402 48.5197 137.671 47.0455C137.4 46.8151 137.368 46.4088 137.598 46.1381ZM134.555 48.7529C134.808 48.5032 135.215 48.506 135.465 48.7591C136.494 49.8019 137.075 51.2049 137.077 52.6617C137.08 54.119 136.503 55.5108 135.471 56.5287C135.218 56.7784 134.81 56.7756 134.561 56.5225C134.311 56.2694 134.314 55.8618 134.567 55.6121C135.351 54.8391 135.792 53.7794 135.79 52.664C135.788 51.5481 135.342 50.468 134.549 49.6633C134.299 49.4101 134.302 49.0026 134.555 48.7529ZM131.954 52.6742C131.986 52.706 132.052 52.7184 132.103 52.6686C132.153 52.6188 132.142 52.5522 132.11 52.5203C132.079 52.4885 132.012 52.4761 131.962 52.5259C131.911 52.5757 131.923 52.6423 131.954 52.6742ZM131.198 51.7519C131.669 51.2877 132.418 51.3107 132.871 51.77C133.324 52.2294 133.337 52.9783 132.866 53.4425C132.395 53.9067 131.647 53.8838 131.194 53.4245C130.74 52.9651 130.728 52.2161 131.198 51.7519Z"
fill="#667085" />
</g>
<rect x="152.163" y="44.0776" width="17.462" height="17.2101" rx="3.62673" fill="white" />
<rect x="152.163" y="44.0776" width="17.462" height="17.2101" rx="3.62673" stroke="#E8EBF0"
stroke-width="0.746549" />
<path
d="M158.269 52.4886C158.269 51.0389 159.445 49.8636 160.894 49.8636C162.344 49.8636 163.519 51.0389 163.519 52.4886V52.8767C163.519 54.3264 162.344 55.5017 160.894 55.5017C159.445 55.5017 158.269 54.3264 158.269 52.8767V52.4886Z"
fill="#C4CBD7" />
<path
d="M68.9998 78.3604H399.029C401.774 78.3604 404 80.5858 404 83.3309V118.39C404 121.135 401.774 123.36 399.029 123.36H73.9703C71.2252 123.36 68.9998 121.135 68.9998 118.39V78.3604Z"
fill="#F7F8FA" />
<rect x="76.3259" y="89.7378" width="315.446" height="5.25" rx="2.625" fill="#DFE2EA" />
<rect x="76.3257" y="102.863" width="95.0487" height="5.25" rx="2.625" fill="#DFE2EA" />
<g filter="url(#filter1_dd_4825_11881)">
<rect x="70.5623" y="226.406" width="339.938" height="31.5" rx="6.91639" fill="white" />
<rect x="70.845" y="226.689" width="339.372" height="30.9345" rx="6.63366" stroke="#DFE2EA"
stroke-width="0.565456" />
<rect x="82.7498" y="239.531" width="58.6732" height="5.25" rx="2.625" fill="#E8EBF0" />
<rect x="378.614" y="232.698" width="18.6344" height="18.9157" rx="2.85316" fill="#F0F1F6" />
</g>
<g filter="url(#filter2_dd_4825_11881)">
<g clip-path="url(#clip2_4825_11881)">
<rect x="219" y="71.4042" width="185" height="110" rx="4" fill="white" />
<rect x="232.498" y="84.9028" width="26.1559" height="26.1559" rx="5.60484" fill="#FBFBFC" />
<rect x="232.498" y="84.9028" width="26.1559" height="26.1559" rx="5.60484" stroke="#E8EBF0"
stroke-width="0.747312" />
<path
d="M247.068 95.0332C247.068 94.4321 246.883 93.8446 246.536 93.3448C246.189 92.845 245.695 92.4555 245.118 92.2255C244.541 91.9955 243.905 91.9353 243.292 92.0525C242.68 92.1698 242.117 92.4592 241.675 92.8843C241.233 93.3093 240.932 93.8508 240.81 94.4403C240.688 95.0298 240.751 95.6409 240.99 96.1962C241.229 96.7515 241.634 97.2261 242.154 97.5601C242.673 97.894 243.284 98.0722 243.909 98.0722V95.0332H247.068Z"
fill="url(#paint7_linear_4825_11881)" />
<path
d="M250.403 95.0332C250.403 94.6341 250.33 94.2389 250.188 93.8702C250.045 93.5015 249.836 93.1665 249.573 92.8843C249.31 92.6021 248.998 92.3782 248.654 92.2255C248.311 92.0728 247.942 91.9941 247.57 91.9941C247.198 91.9941 246.83 92.0728 246.486 92.2255C246.142 92.3782 245.83 92.6021 245.567 92.8843C245.304 93.1665 245.095 93.5015 244.953 93.8702C244.81 94.2389 244.737 94.6341 244.737 95.0332L250.403 95.0332Z"
fill="url(#paint8_linear_4825_11881)" />
<path
d="M249.883 99.9048C249.883 99.5658 249.825 99.2301 249.712 98.9168C249.599 98.6036 249.433 98.319 249.224 98.0792C249.015 97.8395 248.767 97.6493 248.494 97.5196C248.221 97.3898 247.928 97.3231 247.632 97.3231V99.9048H249.883Z"
fill="url(#paint9_linear_4825_11881)" />
<path
d="M243.909 98.9737C243.494 98.9737 243.083 99.0452 242.7 99.1843C242.316 99.3233 241.968 99.5271 241.675 99.784C241.381 100.041 241.149 100.346 240.99 100.682C240.831 101.017 240.749 101.377 240.749 101.74C240.749 102.104 240.831 102.464 240.99 102.799C241.149 103.135 241.381 103.44 241.675 103.697C241.968 103.954 242.316 104.158 242.7 104.297C243.083 104.436 243.494 104.507 243.909 104.507L243.909 98.9737Z"
fill="url(#paint10_linear_4825_11881)" />
<path d="M243.909 94.9128L243.909 101.71L240.749 101.71L240.749 94.9128H243.909Z"
fill="url(#paint11_linear_4825_11881)" />
<path d="M247.666 95.0327L243.873 95.0327L243.873 91.9941L247.666 91.9941V95.0327Z"
fill="url(#paint12_linear_4825_11881)" />
<path d="M247.666 99.9038H245.567V97.3231L247.666 97.3231V99.9038Z"
fill="url(#paint13_linear_4825_11881)" />
<rect width="90.6176" height="25.45" transform="translate(265.007 85.2559)" fill="white" />
<rect x="265.38" y="89.3758" width="17.462" height="17.2101" rx="3.62673" fill="white" />
<rect x="265.38" y="89.3758" width="17.462" height="17.2101" rx="3.62673" stroke="#E8EBF0"
stroke-width="0.746549" />
<path
d="M271.486 97.7869C271.486 96.3371 272.661 95.1619 274.111 95.1619C275.561 95.1619 276.736 96.3371 276.736 97.7869V98.1749C276.736 99.6246 275.561 100.8 274.111 100.8C272.661 100.8 271.486 99.6246 271.486 98.1749V97.7869Z"
fill="#C4CBD7" />
<g filter="url(#filter3_dd_4825_11881)">
<rect x="286.215" y="85.2559" width="48.2004" height="25.45" rx="5" fill="white"
shape-rendering="crispEdges" />
<rect x="286.859" y="85.8996" width="46.9129" height="24.1625" rx="4.35625" stroke="#94B5FF"
stroke-width="1.2875" shape-rendering="crispEdges" />
<path fill-rule="evenodd" clip-rule="evenodd"
d="M298.94 92.4126C295.865 92.4126 293.372 94.9056 293.372 97.9808C293.372 101.056 295.865 103.549 298.94 103.549C302.015 103.549 304.508 101.056 304.508 97.9808C304.508 94.9056 302.015 92.4126 298.94 92.4126ZM292.134 97.9808C292.134 94.2222 295.181 91.1752 298.94 91.1752C302.699 91.1752 305.746 94.2222 305.746 97.9808C305.746 101.74 302.699 104.787 298.94 104.787C295.181 104.787 292.134 101.74 292.134 97.9808ZM296.465 96.1248C296.465 95.7831 296.742 95.5061 297.084 95.5061H300.796C301.138 95.5061 301.415 95.7831 301.415 96.1248V99.8369C301.415 100.179 301.138 100.456 300.796 100.456H297.084C296.742 100.456 296.465 100.179 296.465 99.8369V96.1248ZM297.703 96.7435V99.2182H300.177V96.7435H297.703Z"
fill="#E82F72" />
<rect x="307.665" y="92.1938" width="21.7505" height="10.6533"
fill="url(#pattern0_4825_11881)" />
</g>
<rect x="337.789" y="89.3758" width="17.462" height="17.2101" rx="3.62673" fill="white" />
<rect x="337.789" y="89.3758" width="17.462" height="17.2101" rx="3.62673" stroke="#E8EBF0"
stroke-width="0.746549" />
<path
d="M343.895 97.7869C343.895 96.3371 345.07 95.1619 346.52 95.1619C347.97 95.1619 349.145 96.3371 349.145 97.7869V98.1749C349.145 99.6246 347.97 100.8 346.52 100.8C345.07 100.8 343.895 99.6246 343.895 98.1749V97.7869Z"
fill="#C4CBD7" />
<path
d="M232.125 121.932H388.154C390.899 121.932 393.125 124.158 393.125 126.903V161.962C393.125 164.707 390.899 166.932 388.154 166.932H237.095C234.35 166.932 232.125 164.707 232.125 161.962V121.932Z"
fill="#F7F8FA" />
<rect x="239.451" y="133.31" width="144.984" height="5.25" rx="2.625" fill="#DFE2EA" />
<rect x="239.451" y="146.435" width="95.0487" height="5.25" rx="2.625" fill="#DFE2EA" />
</g>
<rect x="219.5" y="71.9042" width="184" height="109" rx="3.5" stroke="#C4CBD7" stroke-dasharray="2 2" />
</g>
<path
d="M213.757 93.1306C198.147 100.053 185.867 100.256 170.035 93.855C156.561 88.4066 149.212 81.9254 142.123 69.2374"
stroke="#3370FF" stroke-width="2.40329" stroke-dasharray="3.2 3.2" />
<path
d="M214.696 94.6876C215.507 93.7579 215.007 92.2995 213.796 92.0625L204.038 90.1517C202.58 89.8662 201.552 91.5472 202.471 92.7149L205.205 96.1892C205.436 96.4833 205.557 96.8491 205.547 97.2232L205.446 100.981C205.405 102.483 207.268 103.209 208.255 102.077L214.696 94.6876Z"
fill="#3370FF" />
</g>
<path d="M59.406 271.031V20.3435H58.0935V271.031H59.406Z" fill="#DFE2EA"
mask="url(#path-3-inside-1_4825_11881)" />
<rect x="8.61035" y="34.8175" width="22.5656" height="5.46791" rx="2.73395" fill="#DFE2EA" />
<rect x="8.61035" y="49.0909" width="41.6007" height="5.46791" rx="2.73395" fill="#DFE2EA" />
<mask id="path-40-inside-2_4825_11881" fill="white">
<path
d="M0.290039 11.5856C0.290039 5.78658 4.99105 1.08557 10.79 1.08557H412.133C417.932 1.08557 422.633 5.78658 422.633 11.5856V20.9957H0.290039V11.5856Z" />
</mask>
<path
d="M0.290039 11.5856C0.290039 5.78658 4.99105 1.08557 10.79 1.08557H412.133C417.932 1.08557 422.633 5.78658 422.633 11.5856V20.9957H0.290039V11.5856Z"
fill="#F0F1F6" />
<path
d="M0.290039 1.08557H422.633H0.290039ZM422.633 21.6519H0.290039V20.3394H422.633V21.6519ZM0.290039 20.9957V1.08557V20.9957ZM422.633 1.08557V20.9957V1.08557Z"
fill="#DFE2EA" mask="url(#path-40-inside-2_4825_11881)" />
<circle cx="17.4036" cy="11.8823" r="3.64527" fill="#C4CBD7" />
<circle cx="31.9846" cy="11.8823" r="3.64527" fill="#C4CBD7" />
<circle cx="46.5657" cy="11.8823" r="3.64527" fill="#C4CBD7" />
</g>
<rect x="0.5" y="0.730957" width="421" height="270.5" rx="8.375" stroke="#E8EBF0" />
<defs>
<filter id="filter0_dd_4825_11881" x="113.34" y="33.9576" width="45.45" height="45.45"
filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feOffset />
<feGaussianBlur stdDeviation="0.5" />
<feComposite in2="hardAlpha" operator="out" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0" />
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4825_11881" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feOffset dy="4" />
<feGaussianBlur stdDeviation="5" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0" />
<feBlend mode="normal" in2="effect1_dropShadow_4825_11881" result="effect2_dropShadow_4825_11881" />
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4825_11881" result="shape" />
</filter>
<filter id="filter1_dd_4825_11881" x="64.7986" y="222.948" width="351.465" height="43.0273"
filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feOffset />
<feGaussianBlur stdDeviation="0.288183" />
<feComposite in2="hardAlpha" operator="out" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0" />
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4825_11881" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feOffset dy="2.30546" />
<feGaussianBlur stdDeviation="2.88183" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0" />
<feBlend mode="normal" in2="effect1_dropShadow_4825_11881" result="effect2_dropShadow_4825_11881" />
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4825_11881" result="shape" />
</filter>
<filter id="filter2_dd_4825_11881" x="183" y="59.4042" width="257" height="182" filterUnits="userSpaceOnUse"
color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feOffset />
<feGaussianBlur stdDeviation="0.5" />
<feComposite in2="hardAlpha" operator="out" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.2 0" />
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4825_11881" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feMorphology radius="12" operator="erode" in="SourceAlpha" result="effect2_dropShadow_4825_11881" />
<feOffset dy="24" />
<feGaussianBlur stdDeviation="24" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.2 0" />
<feBlend mode="normal" in2="effect1_dropShadow_4825_11881" result="effect2_dropShadow_4825_11881" />
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4825_11881" result="shape" />
</filter>
<filter id="filter3_dd_4825_11881" x="276.215" y="79.2559" width="68.2004" height="45.45"
filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feOffset />
<feGaussianBlur stdDeviation="0.5" />
<feComposite in2="hardAlpha" operator="out" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0" />
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4825_11881" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha" />
<feOffset dy="4" />
<feGaussianBlur stdDeviation="5" />
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0" />
<feBlend mode="normal" in2="effect1_dropShadow_4825_11881" result="effect2_dropShadow_4825_11881" />
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4825_11881" result="shape" />
</filter>
<pattern id="pattern0_4825_11881" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_4825_11881" transform="matrix(0.00980821 0 0 0.0200251 -0.202873 -0.958732)" />
</pattern>
<linearGradient id="paint0_linear_4825_11881" x1="82.7012" y1="46.6959" x2="82.7012" y2="59.2091"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint1_linear_4825_11881" x1="82.7012" y1="46.6959" x2="82.7012" y2="59.2091"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint2_linear_4825_11881" x1="82.7012" y1="46.6959" x2="82.7012" y2="59.2091"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint3_linear_4825_11881" x1="82.7012" y1="46.6959" x2="82.7012" y2="59.2091"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint4_linear_4825_11881" x1="82.7012" y1="46.6959" x2="82.7012" y2="59.2091"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint5_linear_4825_11881" x1="82.7012" y1="46.6959" x2="82.7012" y2="59.2091"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint6_linear_4825_11881" x1="82.7012" y1="46.6959" x2="82.7012" y2="59.2091"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint7_linear_4825_11881" x1="245.576" y1="91.9941" x2="245.576" y2="104.507"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint8_linear_4825_11881" x1="245.576" y1="91.9941" x2="245.576" y2="104.507"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint9_linear_4825_11881" x1="245.576" y1="91.9941" x2="245.576" y2="104.507"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint10_linear_4825_11881" x1="245.576" y1="91.9941" x2="245.576" y2="104.507"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint11_linear_4825_11881" x1="245.576" y1="91.9941" x2="245.576" y2="104.507"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint12_linear_4825_11881" x1="245.576" y1="91.9941" x2="245.576" y2="104.507"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<linearGradient id="paint13_linear_4825_11881" x1="245.576" y1="91.9941" x2="245.576" y2="104.507"
gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF" />
<stop offset="1" stop-color="#8EAEFF" />
</linearGradient>
<clipPath id="clip0_4825_11881">
<rect x="1" y="1.23096" width="420" height="269.5" rx="7.875" fill="white" />
</clipPath>
<clipPath id="clip1_4825_11881">
<path d="M58.7498 20.3435H421V271.031H58.7498V20.3435Z" fill="white" />
</clipPath>
<clipPath id="clip2_4825_11881">
<rect x="219" y="71.4042" width="185" height="110" rx="4" fill="white" />
</clipPath>
<image id="image0_4825_11881" width="150" height="150"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAYAAAA8AXHiAAAAAXNSR0IArs4c6QAABV1JREFUeF7tnEFy3DYQRTV738Y5gG/kHMW5UQ6Q3Mb7caFSqEAsggQo/j+Q/9NOLqob/fpNgyAlP974goCAwEMQk5AQeEMsJJAQQCwJVoIiFg5ICCCWBCtBEQsHJAQQS4KVoIiFAxICiCXBSlDEwgEJAcSSYCUoYuGAhABiSbASFLFwQEIAsSRYCYpYOCAhgFgSrARFLByQEEAsCVaCIhYOSAgglgQrQRELByQEEEuClaCIhQMSAoglwUpQxMIBCQHEkmAlKGLhgIQAYkmwEhSxcEBCALEkWAmKWDggIYBYEqwERSwckBBALAlWgiIWDkgIIJYEK0ERCwckBBBLgpWgiIUDEgKIJcFKUMTCAQkBxJJgJShi4YCEAGJJsBIUsXBAQgCxJFgJilg4ICGAWBKsBEUsHJAQQCwJVoIiFg5ICCCWBCtBEQsHJAQQS4KVoIiFAxICiCXBSlDEwgEJAcSSYCUoYuGAhMBSYn378/n8+fy/zn/+eiy1PkkHLgRtOa3KaJnGFViFcSvWl8fb298/kKu698f357Mw2TIq368m2BJi7UlVYBaI5Qu5/uOwnehVuBU5vVysnlTtDrHap/HC7vXhH+lJtSqnJcRqR/u2Ayt+Gj9syYUAZRtsf6x80zZvtduGl4u1BVbgbaGVf0ufWpXTO7sauRBr82ltxepBmxWrbq/tYeCqmNtYr4rzdTOxWoxlOiDWjlhbobbQZsTqnS5nDwH1BNbKeXVb3q6pxplZE2JN3j+UBt4l1tFBYFaKu05gZ4eT0QmIWDeLVcKVUT/SgLOT0+h2cRZndoKeHU5GHqcg1ovFareuvYPAiKC9A0WVfFTQ+uzpjjUh1oJiVSFGJ83e0b6WVW+UR+6P9rbBuu23x/ER2RFrUbFmttTe0b4VdETS7ZbaO/Ui1qQ0I5ef3bzPCHE0Iepa/h14sX20pplJc/QopZ2AiDViyuQ1CrHae5rtlPioWDPb6tHku0usKvrMfd9kiy5dvsST96PHDatNLMQa8+y3FEs9sUZlv3Ma927emVgd0e+E33sY2U7EO7ZCxDqfWkysHUZ3yX5XnLJEJta5zO+uuBP+3stnxc07E+u8yb/1xNo7FNy1FY7EKfjbZ1l76xl9XcXEOpfZNrFUYo3KsBWrFt6uazQWYi0gVvvS90oTjybN7O8+nT19H518iPVCsaoQvccNo00sP997Xzg6YVoMPblmYiHWi8XqyTUjVS1hT4grcXpb4sirnLoWxFpArMklfIrLEWuyTXc+bphM/akuR6zJdh39nlENdXX7mVzK0pf3PoC80jlo29HJaeYGd2kzbljc3jMxxDoBuycXUr2HdvRHqzMHgRscPw3x8ifvR8fy1WCd0jRd8Bn+V56lxDL1hTQGAohlgJyYArESu26oGbEMkBNTIFZi1w01I5YBcmIKxErsuqFmxDJATkyBWIldN9SMWAbIiSkQK7HrhpoRywA5MQViJXbdUDNiGSAnpkCsxK4bakYsA+TEFIiV2HVDzYhlgJyYArESu26oGbEMkBNTIFZi1w01I5YBcmIKxErsuqFmxDJATkyBWIldN9SMWAbIiSkQK7HrhpoRywA5MQViJXbdUDNiGSAnpkCsxK4bakYsA+TEFIiV2HVDzYhlgJyYArESu26oGbEMkBNTIFZi1w01I5YBcmIKxErsuqFmxDJATkyBWIldN9SMWAbIiSkQK7HrhpoRywA5MQViJXbdUDNiGSAnpkCsxK4bakYsA+TEFIiV2HVDzYhlgJyYArESu26oGbEMkBNTIFZi1w01I5YBcmIKxErsuqFmxDJATkyBWIldN9SMWAbIiSl+AcEzjbVWPFoJAAAAAElFTkSuQmCC" />
</defs>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,6 @@
<svg width="36" height="37" viewBox="0 0 36 37" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="0.230957" width="36" height="36" rx="6" fill="#F0FBFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.5797 27.1461C11.794 27.1461 11.9676 26.9724 11.9676 26.7582V24.9462C11.9676 24.7319 11.794 24.5583 11.5797 24.5583C11.3078 24.5583 11.1752 24.4712 11.0932 24.3431C10.9906 24.1753 10.907 23.8212 10.907 23.2019V21.2155C10.907 20.4008 10.82 19.7102 10.6307 19.1588C10.5034 18.7878 10.3258 18.4692 10.0894 18.2208C10.6742 17.6081 10.907 16.5688 10.907 15.2658V13.2018C10.907 12.6679 10.9932 12.3336 11.1126 12.1438C11.213 11.9842 11.3491 11.9036 11.5797 11.9036C11.794 11.9036 11.9676 11.73 11.9676 11.5157V9.70369C11.9676 9.48946 11.794 9.3158 11.5797 9.3158C10.5397 9.3158 9.70222 9.60765 9.16921 10.2748C8.64853 10.9201 8.43413 11.9701 8.43413 13.3181V15.479C8.43413 16.0734 8.35105 16.4582 8.22944 16.6816C8.17182 16.7874 8.11057 16.8478 8.0527 16.8833C7.99573 16.9182 7.92089 16.9419 7.81441 16.9419C7.60018 16.9419 7.42651 17.1155 7.42651 17.3298V19.1127C7.42651 19.327 7.60018 19.5006 7.81441 19.5006C8.00762 19.5006 8.13191 19.5715 8.23242 19.7493C8.35131 19.9597 8.43413 20.3252 8.43413 20.8957V23.2213C8.43413 24.5622 8.6503 25.6053 9.18226 26.2336C9.72059 26.8695 10.5522 27.1461 11.5797 27.1461Z" fill="#009BDE"/>
<path d="M24.0326 26.7582C24.0326 26.9724 24.2062 27.1461 24.4205 27.1461C25.448 27.1461 26.2796 26.8695 26.8179 26.2336C27.3499 25.6053 27.5661 24.5622 27.5661 23.2213V20.8957C27.5661 20.3252 27.6489 19.9597 27.7678 19.7493C27.8683 19.5715 27.9926 19.5006 28.1858 19.5006C28.4 19.5006 28.5737 19.327 28.5737 19.1127V17.3298C28.5737 17.1155 28.4 16.9419 28.1858 16.9419C28.0793 16.9419 28.0045 16.9182 27.9475 16.8833C27.8896 16.8478 27.8284 16.7874 27.7707 16.6816C27.6491 16.4582 27.5661 16.0734 27.5661 15.479V13.3181C27.5661 11.97 27.3516 10.92 26.8309 10.2747C26.2979 9.60761 25.4604 9.3158 24.4205 9.3158C24.2062 9.3158 24.0326 9.48946 24.0326 9.70369V11.5157C24.0326 11.73 24.2062 11.9036 24.4205 11.9036C24.6511 11.9036 24.7872 11.9842 24.8876 12.1438C25.007 12.3336 25.0932 12.6679 25.0932 13.2018V15.2658C25.0932 16.5688 25.326 17.6081 25.9108 18.2208C25.6744 18.4692 25.4968 18.7878 25.3694 19.1588C25.1802 19.7102 25.0932 20.4008 25.0932 21.2155V23.2019C25.0932 23.8212 25.0096 24.1753 24.907 24.3432C24.825 24.4712 24.6923 24.5583 24.4205 24.5583C24.2062 24.5583 24.0326 24.7319 24.0326 24.9462V26.7582Z" fill="#009BDE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.8173 15.5567C13.4007 15.1401 13.4007 14.4647 13.8173 14.0481C14.2339 13.6315 14.9093 13.6315 15.3258 14.0481L18.0001 16.7224L20.6744 14.0481C21.0909 13.6315 21.7663 13.6315 22.1829 14.0481C22.5995 14.4647 22.5995 15.1401 22.1829 15.5567L19.5087 18.2309L22.1829 20.9052C22.5995 21.3218 22.5995 21.9972 22.1829 22.4138C21.7663 22.8303 21.0909 22.8303 20.6744 22.4138L18.0001 19.7395L15.3258 22.4138C14.9093 22.8303 14.2339 22.8303 13.8173 22.4138C13.4007 21.9972 13.4007 21.3218 13.8173 20.9052L16.4915 18.2309L13.8173 15.5567Z" fill="#009BDE"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,175 @@
<svg width="422" height="272" viewBox="0 0 422 272" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4828_12312)">
<rect x="1" y="1.23096" width="420" height="269.5" rx="7.875" fill="#F4F4F7"/>
<rect x="23.6" y="25.831" width="393.8" height="240.8" rx="7.4" fill="#FBFBFC"/>
<rect x="23.6" y="25.831" width="393.8" height="240.8" rx="7.4" stroke="#DFE2EA" stroke-width="0.8"/>
<g clip-path="url(#clip1_4828_12312)">
<mask id="path-4-inside-1_4828_12312" fill="white">
<path d="M69 26.231H410C413.866 26.231 417 29.365 417 33.231V259.231C417 263.097 413.866 266.231 410 266.231H69V26.231Z"/>
</mask>
<path d="M69 26.231H410C413.866 26.231 417 29.365 417 33.231V259.231C417 263.097 413.866 266.231 410 266.231H69V26.231Z" fill="#FBFBFC"/>
<rect x="79" y="45.231" width="134" height="38" rx="4" fill="#F0F4FF"/>
<rect x="79.3" y="45.531" width="133.4" height="37.4" rx="3.7" stroke="#3370FF" stroke-opacity="0.1" stroke-width="0.6"/>
<rect x="79.3" y="104.531" width="133.4" height="150.4" rx="3.7" fill="white"/>
<rect x="79.3" y="104.531" width="133.4" height="150.4" rx="3.7" stroke="#DFE2EA" stroke-width="0.6"/>
<rect x="87.667" y="115.666" width="113.382" height="5.25" rx="2.625" fill="#F0F1F6"/>
<rect x="87.667" y="234.218" width="113.382" height="5.25" rx="2.625" fill="#F0F1F6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M90.616 140.084C90.7164 140.084 90.7979 140.002 90.7979 139.902V139.052C90.7979 138.952 90.7164 138.871 90.616 138.871C90.4885 138.871 90.4263 138.83 90.3879 138.77C90.3398 138.691 90.3006 138.525 90.3006 138.235V137.303C90.3006 136.921 90.2598 136.597 90.1711 136.339C90.1114 136.165 90.0281 136.016 89.9172 135.899C90.1914 135.612 90.3006 135.125 90.3006 134.514V133.546C90.3006 133.296 90.341 133.139 90.397 133.05C90.444 132.975 90.5079 132.937 90.616 132.937C90.7164 132.937 90.7979 132.856 90.7979 132.755V131.906C90.7979 131.805 90.7164 131.724 90.616 131.724C90.1284 131.724 89.7357 131.861 89.4858 132.174C89.2417 132.476 89.1411 132.968 89.1411 133.6V134.614C89.1411 134.892 89.1022 135.073 89.0452 135.177C89.0181 135.227 88.9894 135.255 88.9623 135.272C88.9356 135.288 88.9005 135.299 88.8506 135.299C88.7501 135.299 88.6687 135.381 88.6687 135.481V136.317C88.6687 136.418 88.7501 136.499 88.8506 136.499C88.9412 136.499 88.9994 136.532 89.0466 136.616C89.1023 136.714 89.1411 136.886 89.1411 137.153V138.244C89.1411 138.872 89.2425 139.361 89.4919 139.656C89.7443 139.954 90.1342 140.084 90.616 140.084Z" fill="#009BDE"/>
<path d="M96.4547 139.902C96.4547 140.002 96.5361 140.084 96.6366 140.084C97.1184 140.084 97.5083 139.954 97.7607 139.656C98.0101 139.361 98.1115 138.872 98.1115 138.244V137.153C98.1115 136.886 98.1503 136.714 98.206 136.616C98.2532 136.532 98.3114 136.499 98.402 136.499C98.5025 136.499 98.5839 136.418 98.5839 136.317V135.481C98.5839 135.381 98.5025 135.299 98.402 135.299C98.3521 135.299 98.317 135.288 98.2903 135.272C98.2632 135.255 98.2344 135.227 98.2074 135.177C98.1504 135.073 98.1115 134.892 98.1115 134.614V133.6C98.1115 132.968 98.0109 132.476 97.7667 132.173C97.5168 131.861 97.1242 131.724 96.6366 131.724C96.5361 131.724 96.4547 131.805 96.4547 131.906V132.755C96.4547 132.856 96.5361 132.937 96.6366 132.937C96.7447 132.937 96.8086 132.975 96.8556 133.05C96.9116 133.139 96.952 133.296 96.952 133.546V134.514C96.952 135.125 97.0612 135.612 97.3354 135.899C97.2245 136.016 97.1412 136.165 97.0815 136.339C96.9928 136.597 96.952 136.921 96.952 137.303V138.235C96.952 138.525 96.9128 138.691 96.8647 138.77C96.8263 138.83 96.7641 138.871 96.6366 138.871C96.5361 138.871 96.4547 138.952 96.4547 139.052V139.902Z" fill="#009BDE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M91.6651 134.65C91.4698 134.455 91.4698 134.138 91.6651 133.943C91.8604 133.747 92.1771 133.747 92.3724 133.943L93.6263 135.197L94.8802 133.943C95.0755 133.747 95.3922 133.747 95.5875 133.943C95.7828 134.138 95.7828 134.455 95.5875 134.65L94.3336 135.904L95.5875 137.158C95.7828 137.353 95.7828 137.67 95.5875 137.865C95.3922 138.06 95.0755 138.06 94.8802 137.865L93.6263 136.611L92.3724 137.865C92.1771 138.06 91.8604 138.06 91.6651 137.865C91.4698 137.67 91.4698 137.353 91.6651 137.158L92.919 135.904L91.6651 134.65Z" fill="#009BDE"/>
<path d="M105.677 132.305H106.224C107.228 133.342 108.386 134.162 109.696 134.756L109.318 135.44C108.916 135.247 108.547 135.046 108.193 134.821V135.544H106.336V136.75H108.595V137.489H106.336V138.759H109.326V139.507H102.583V138.759H105.565V137.489H103.298V136.75H105.565V135.544H103.708V134.821C103.338 135.046 102.952 135.255 102.551 135.456L102.181 134.789C103.579 134.121 104.745 133.293 105.677 132.305ZM103.724 134.813H108.177C107.341 134.298 106.594 133.687 105.95 132.996C105.34 133.671 104.592 134.274 103.724 134.813ZM112.699 136.484H115.681V138.622H112.699V136.484ZM114.998 137.988V137.111H113.391V137.988H114.998ZM116.316 133.285H112.105V133.993H116.316V133.285ZM112.105 134.684V135.239H117.442C117.442 137.256 117.402 138.502 117.321 138.984C117.241 139.45 116.871 139.683 116.212 139.683C116.019 139.683 115.698 139.667 115.239 139.651L115.071 139.008C115.472 139.032 115.81 139.048 116.091 139.048C116.397 139.048 116.574 138.92 116.63 138.663C116.67 138.389 116.694 137.481 116.71 135.922H112.105C112.073 137.385 111.703 138.647 110.995 139.7L110.393 139.161C111.028 138.293 111.349 137.176 111.357 135.801V132.57H117.056V134.684H112.105ZM124.504 133.993C125.083 134.387 125.573 134.78 125.967 135.182L125.437 135.713C125.091 135.327 124.609 134.917 123.998 134.483L124.504 133.993ZM122.479 132.233C122.559 132.45 122.631 132.691 122.704 132.956H125.774V133.695H123.62V135.777H122.864V133.695H121.731V135.777H120.976V133.695H118.813V132.956H121.924C121.844 132.747 121.755 132.546 121.659 132.361L122.479 132.233ZM120.075 134.025L120.638 134.515C120.22 134.957 119.698 135.351 119.087 135.697L118.621 135.086C119.199 134.78 119.682 134.427 120.075 134.025ZM119.36 136.123H124.93V136.701C124.432 137.32 123.829 137.851 123.114 138.285C123.95 138.614 124.922 138.856 126.031 139L125.678 139.7C124.392 139.483 123.29 139.145 122.374 138.695C121.418 139.161 120.308 139.499 119.039 139.708L118.685 138.984C119.762 138.831 120.726 138.582 121.57 138.245C120.927 137.827 120.405 137.344 119.987 136.798H119.36V136.123ZM120.847 136.798C121.241 137.232 121.723 137.602 122.294 137.907C122.889 137.594 123.419 137.224 123.869 136.798H120.847ZM127.612 135.689H133.335V137.779H130.835V138.132H133.496V138.622H130.835V139H134.082V139.579H126.848V139H130.08V138.622H127.451V138.132H130.08V137.779H127.612V135.689ZM132.612 137.328V136.943H130.835V137.328H132.612ZM130.08 137.328V136.943H128.335V137.328H130.08ZM128.335 136.525H130.08V136.139H128.335V136.525ZM130.835 136.139V136.525H132.612V136.139H130.835ZM127.789 132.433H133.166V134.475H127.789V132.433ZM132.435 134.041V133.671H128.52V134.041H132.435ZM128.52 133.237H132.435V132.876H128.52V133.237ZM126.848 134.813H134.082V135.359H126.848V134.813Z" fill="#485264"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M195 131.904C195.276 131.904 195.5 132.128 195.5 132.404V135.404H198.5C198.776 135.404 199 135.628 199 135.904C199 136.18 198.776 136.404 198.5 136.404H195.5V139.404C195.5 139.68 195.276 139.904 195 139.904C194.724 139.904 194.5 139.68 194.5 139.404V136.404H191.5C191.224 136.404 191 136.18 191 135.904C191 135.628 191.224 135.404 191.5 135.404H194.5V132.404C194.5 132.128 194.724 131.904 195 131.904Z" fill="#485264"/>
<g clip-path="url(#clip2_4828_12312)">
<rect x="88" y="148.231" width="113" height="65" rx="3.40117" fill="white"/>
<path d="M88 151.632C88 149.754 89.5228 148.231 91.4012 148.231H197.599C199.477 148.231 201 149.754 201 151.632V158.231H88V151.632Z" fill="#F4F4F7"/>
<g clip-path="url(#clip3_4828_12312)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M95.2813 164.297H99.4186C99.7533 164.297 99.961 164.298 100.117 164.311C100.263 164.323 100.301 164.342 100.306 164.345L100.306 164.345C100.384 164.385 100.447 164.449 100.487 164.526L100.487 164.526C100.49 164.532 100.51 164.569 100.522 164.715C100.535 164.871 100.535 165.079 100.535 165.414V168.226C100.535 168.56 100.535 168.768 100.522 168.924C100.51 169.071 100.49 169.108 100.487 169.113L100.487 169.113C100.447 169.191 100.384 169.254 100.306 169.295L100.306 169.295C100.301 169.297 100.263 169.317 100.117 169.329C99.961 169.342 99.7533 169.342 99.4186 169.342H95.2813C94.9466 169.342 94.7389 169.342 94.5829 169.329C94.4364 169.317 94.3992 169.297 94.3939 169.295L94.3938 169.295C94.3161 169.254 94.2528 169.191 94.2125 169.113L94.2124 169.113C94.2097 169.108 94.1903 169.071 94.1782 168.924C94.1652 168.768 94.1646 168.56 94.1646 168.226V165.414C94.1646 165.079 94.1652 164.871 94.1782 164.715C94.1903 164.569 94.2097 164.532 94.2124 164.526L94.2125 164.526C94.2528 164.449 94.3161 164.385 94.3938 164.345L94.3939 164.345C94.3992 164.342 94.4364 164.323 94.5829 164.311C94.7389 164.298 94.9466 164.297 95.2813 164.297ZM93.4561 165.414C93.4561 164.768 93.4561 164.445 93.5837 164.2C93.6913 163.993 93.8601 163.824 94.0672 163.716C94.3129 163.589 94.6357 163.589 95.2813 163.589H99.4186C100.064 163.589 100.387 163.589 100.633 163.716C100.84 163.824 101.009 163.993 101.116 164.2C101.244 164.445 101.244 164.768 101.244 165.414V168.226C101.244 168.871 101.244 169.194 101.116 169.44C101.009 169.647 100.84 169.816 100.633 169.923C100.387 170.051 100.064 170.051 99.4186 170.051H95.2813C94.6357 170.051 94.3129 170.051 94.0672 169.923C93.8601 169.816 93.6913 169.647 93.5837 169.44C93.4561 169.194 93.4561 168.871 93.4561 168.226V165.414ZM95.2355 165.083C95.0399 165.083 94.8813 165.241 94.8813 165.437C94.8813 165.633 95.0399 165.791 95.2355 165.791H95.4481V167.86H95.2355C95.0399 167.86 94.8813 168.018 94.8813 168.214C94.8813 168.41 95.0399 168.568 95.2355 168.568H96.2984C96.4941 168.568 96.6527 168.41 96.6527 168.214C96.6527 168.018 96.4941 167.86 96.2984 167.86H96.0858L96.0858 165.791H96.2984C96.4941 165.791 96.6527 165.633 96.6527 165.437C96.6527 165.241 96.4941 165.083 96.2984 165.083L95.2355 165.083ZM97.9063 168.214C97.9063 168.41 97.7477 168.568 97.5521 168.568C97.3564 168.568 97.1978 168.41 97.1978 168.214C97.1978 168.018 97.3564 167.86 97.5521 167.86C97.7477 167.86 97.9063 168.018 97.9063 168.214ZM98.8064 168.568C99.002 168.568 99.1607 168.41 99.1607 168.214C99.1607 168.018 99.002 167.86 98.8064 167.86C98.6107 167.86 98.4521 168.018 98.4521 168.214C98.4521 168.41 98.6107 168.568 98.8064 168.568Z" fill="#667085"/>
</g>
<path d="M106.796 163.099L107.429 163.154C107.374 163.589 107.313 164.004 107.259 164.385H108.286V164.746C108.245 165.82 108.061 166.759 107.735 167.555C108.021 167.834 108.259 168.086 108.449 168.31L108.021 168.813C107.857 168.609 107.66 168.398 107.442 168.174C107.17 168.664 106.83 169.092 106.429 169.46L105.987 168.915C106.388 168.575 106.721 168.174 106.98 167.705C106.708 167.446 106.415 167.167 106.089 166.875C106.245 166.303 106.388 165.677 106.51 165.004H106.021V164.385H106.612C106.68 163.97 106.742 163.542 106.796 163.099ZM107.259 167.106C107.497 166.494 107.64 165.793 107.687 165.004H107.157C107.034 165.671 106.912 166.235 106.782 166.684C106.959 166.834 107.116 166.97 107.259 167.106ZM109.204 165.052C109.095 165.609 108.925 166.065 108.694 166.419L108.225 165.997C108.551 165.494 108.728 164.725 108.748 163.678H109.327C109.32 163.95 109.306 164.201 109.293 164.433H110.041V163.167H110.687V164.433H112V165.052H110.687V166.535H111.952V167.167H110.687V168.616H112.224V169.242H108.483V168.616H110.041V167.167H108.714V166.535H110.041V165.052H109.204ZM115.141 169.038V169.398H114.495V167.065C114.114 167.181 113.706 167.29 113.278 167.392L112.937 166.766C114.073 166.548 115.019 166.269 115.781 165.916C115.495 165.684 115.114 165.433 114.652 165.167L115.209 164.82C115.686 165.113 116.06 165.378 116.339 165.616C116.958 165.242 117.413 164.807 117.713 164.317H115.359C114.897 164.739 114.318 165.12 113.611 165.46L113.176 164.902C114.325 164.412 115.101 163.82 115.509 163.12L116.216 163.201C116.121 163.378 116.019 163.548 115.903 163.712H118.454V164.283C118.012 165.147 117.216 165.868 116.067 166.439H118.672V169.398H118.019V169.038H115.141ZM118.019 168.412V167.038H115.141V168.412H118.019Z" fill="#485264"/>
<g clip-path="url(#clip4_4828_12312)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M98.5143 183.027C97.9524 182.776 97.3247 182.714 96.7247 182.85C96.1247 182.985 95.5846 183.311 95.1849 183.779C94.7853 184.247 94.5475 184.831 94.507 185.445C94.4665 186.058 94.6255 186.669 94.9603 187.185C95.2951 187.701 95.7878 188.095 96.3648 188.308C96.9418 188.521 97.5722 188.542 98.1621 188.368C98.752 188.193 99.2697 187.833 99.638 187.34C100.006 186.848 100.205 186.249 100.206 185.634V185.339C100.206 185.143 100.364 184.985 100.56 184.985C100.756 184.985 100.914 185.143 100.914 185.339V185.634C100.914 186.402 100.665 187.149 100.206 187.764C99.7457 188.38 99.0994 188.829 98.363 189.047C97.6266 189.265 96.8395 189.239 96.1192 188.973C95.3989 188.707 94.7839 188.215 94.3659 187.57C93.948 186.926 93.7494 186.164 93.8 185.398C93.8505 184.632 94.1473 183.902 94.6463 183.319C95.1452 182.735 95.8195 182.328 96.5685 182.159C97.3176 181.989 98.1012 182.067 98.8027 182.379C98.9814 182.459 99.0617 182.669 98.9821 182.847C98.9025 183.026 98.693 183.106 98.5143 183.027ZM100.811 182.816C100.949 182.954 100.949 183.179 100.811 183.317L97.604 186.527C97.5375 186.594 97.4474 186.631 97.3534 186.631C97.2594 186.631 97.1693 186.594 97.1028 186.527L96.1408 185.565C96.0024 185.427 96.0024 185.203 96.1408 185.064C96.2791 184.926 96.5034 184.926 96.6418 185.064L97.3532 185.776L100.309 182.816C100.448 182.678 100.672 182.678 100.811 182.816Z" fill="#667085"/>
</g>
<path d="M106.15 183.286L106.653 183.32C106.64 184 106.565 184.653 106.436 185.265L105.912 185.116C106.048 184.537 106.129 183.925 106.15 183.286ZM108 183.122C108.116 183.401 108.225 183.707 108.32 184.048C108.497 183.531 108.606 182.98 108.633 182.401L109.225 182.483C109.211 182.728 109.191 182.966 109.163 183.197H109.966V181.98H110.619V183.197H112.048V183.816H110.619V185.326H111.973V185.959H110.619V187.415H112.224V188.041H108.075V187.415H109.966V185.959H108.442V185.326H109.966V183.816H109.041C108.918 184.286 108.748 184.721 108.517 185.129L108.041 184.707C108.095 184.599 108.143 184.497 108.184 184.401L107.891 184.476C107.796 184.054 107.68 183.653 107.531 183.272L108 183.122ZM106.864 181.973H107.51V188.204H106.864V181.973ZM114.312 184.469H113.257V182.184H116.243V184.469H114.937C114.924 184.714 114.903 184.946 114.883 185.163H116.325C116.325 186.374 116.291 187.122 116.223 187.408C116.155 187.898 115.815 188.143 115.203 188.143C115.107 188.143 114.944 188.129 114.726 188.115L114.577 187.544C114.781 187.564 114.951 187.578 115.101 187.578C115.4 187.578 115.57 187.428 115.624 187.129C115.658 186.993 115.679 186.537 115.692 185.769H114.801C114.733 186.15 114.652 186.462 114.543 186.707C114.291 187.292 113.876 187.796 113.291 188.217L112.876 187.707C113.386 187.354 113.747 186.932 113.958 186.442C114.039 186.258 114.107 186.034 114.162 185.769H113.026V185.163H114.25C114.278 184.946 114.298 184.714 114.312 184.469ZM116.896 182.551H117.529V186.748H116.896V182.551ZM118.236 188.17H117.257L117.114 187.551C117.427 187.578 117.726 187.592 118.012 187.592C118.202 187.592 118.304 187.476 118.304 187.251V181.973H118.944V187.415C118.944 187.918 118.706 188.17 118.236 188.17ZM115.624 183.884V182.762H113.876V183.884H115.624Z" fill="#485264"/>
<g clip-path="url(#clip5_4828_12312)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M93.739 202.35C93.739 202.154 93.9076 201.995 94.1156 201.995H100.591C100.799 201.995 100.968 202.154 100.968 202.35C100.968 202.545 100.799 202.704 100.591 202.704H94.1156C93.9076 202.704 93.739 202.545 93.739 202.35ZM93.739 204.422C93.739 204.227 93.9076 204.068 94.1156 204.068H100.591C100.799 204.068 100.968 204.227 100.968 204.422C100.968 204.618 100.799 204.777 100.591 204.777H94.1156C93.9076 204.777 93.739 204.618 93.739 204.422ZM93.739 206.539C93.739 206.344 93.9076 206.185 94.1156 206.185H98.264C98.472 206.185 98.6406 206.344 98.6406 206.539C98.6406 206.735 98.472 206.894 98.264 206.894H94.1156C93.9076 206.894 93.739 206.735 93.739 206.539Z" fill="#667085"/>
</g>
<path d="M112 202.384V203.574H111.442V204.118H108.408C108.361 204.268 108.313 204.411 108.259 204.554H111.218V205.037C110.925 205.424 110.571 205.764 110.156 206.05C110.714 206.254 111.326 206.39 111.986 206.458L111.701 207.043C110.912 206.934 110.197 206.73 109.558 206.417C108.966 206.73 108.333 206.948 107.667 207.071L107.374 206.492C107.959 206.411 108.483 206.268 108.932 206.077C108.565 205.846 108.225 205.588 107.912 205.295C107.524 206.009 107.021 206.574 106.402 206.982L106.095 206.424C106.864 205.88 107.415 205.111 107.748 204.118H106.782V203.574H106.218V202.384H107.225C107.163 202.193 107.095 202.01 107.027 201.846L107.66 201.751C107.728 201.942 107.796 202.152 107.864 202.384H108.823C108.755 202.173 108.687 201.976 108.606 201.792L109.231 201.697C109.313 201.901 109.388 202.132 109.456 202.384H110.238C110.395 202.112 110.531 201.826 110.646 201.533C109.503 201.635 108.136 201.69 106.544 201.69L106.34 201.091C108.388 201.091 110.116 201.003 111.517 200.826L111.837 201.391C111.469 201.445 111.075 201.493 110.66 201.533L111.265 201.751C111.163 201.982 111.048 202.193 110.925 202.384H112ZM106.871 203.52H107.918C107.946 203.37 107.98 203.227 108.007 203.078L108.646 203.159C108.619 203.282 108.599 203.404 108.572 203.52H111.347V202.969H106.871V203.52ZM108.442 205.105C108.769 205.363 109.123 205.588 109.503 205.778C109.857 205.567 110.163 205.343 110.422 205.105H108.442ZM114.019 200.704L114.652 200.758C114.577 201.207 114.502 201.622 114.427 202.01H115.563V202.363C115.516 203.424 115.305 204.35 114.937 205.139C115.318 205.431 115.624 205.696 115.856 205.928L115.414 206.438C115.196 206.213 114.931 205.969 114.631 205.71C114.298 206.241 113.883 206.703 113.386 207.084L112.944 206.54C113.427 206.193 113.822 205.778 114.128 205.295C113.815 205.043 113.475 204.785 113.108 204.513C113.312 203.928 113.488 203.302 113.652 202.629H112.999V202.01H113.788C113.869 201.588 113.951 201.152 114.019 200.704ZM114.42 204.751C114.706 204.125 114.876 203.418 114.931 202.629H114.298C114.141 203.295 113.978 203.86 113.815 204.316C114.033 204.465 114.237 204.615 114.42 204.751ZM115.726 203.567H117.203V202.785C117.543 202.479 117.876 202.112 118.189 201.69H115.917V201.064H118.93V201.69C118.611 202.146 118.25 202.574 117.849 202.982V203.567H119.175V204.193H117.849V206.213C117.849 206.717 117.651 206.968 117.271 206.968H116.264L116.094 206.356C116.373 206.356 116.679 206.363 117.005 206.363C117.134 206.363 117.203 206.247 117.203 206.016V204.193H115.726V203.567Z" fill="#485264"/>
<rect x="131.382" y="164.907" width="55.8071" height="4.46403" rx="2.23202" fill="#DFE2EA"/>
<rect x="131.382" y="183.298" width="55.8071" height="4.46403" rx="2.23202" fill="#DFE2EA"/>
<rect x="131.382" y="202.531" width="55.8071" height="4.46403" rx="2.23202" fill="#DFE2EA"/>
</g>
<rect x="88.2551" y="148.486" width="112.49" height="64.4898" rx="3.14608" stroke="#DFE2EA" stroke-width="0.510175"/>
<line x1="88.2007" y1="175.355" x2="201" y2="175.355" stroke="#E8EBF0" stroke-width="0.6"/>
<line x1="88.2007" y1="195.271" x2="201" y2="195.271" stroke="#E8EBF0" stroke-width="0.6"/>
<rect x="79" y="32.981" width="31.0005" height="5.25" rx="2.625" fill="#DFE2EA"/>
<rect x="79" y="32.981" width="31.0005" height="5.25" rx="2.625" fill="#E8EBF0"/>
<rect x="79" y="91.106" width="31.0005" height="5.25" rx="2.625" fill="#E8EBF0"/>
<rect x="192.021" y="91.106" width="20.9795" height="5.25" rx="2.625" fill="#E8EBF0"/>
</g>
<path d="M69 26.231H417H69ZM417 266.231H69H417ZM68.4 266.231V26.231H69.6V266.231H68.4ZM417 26.231V266.231V26.231Z" fill="#E8EBF0" mask="url(#path-4-inside-1_4828_12312)"/>
<mask id="path-32-inside-2_4828_12312" fill="white">
<path d="M223 26.231H410C413.866 26.231 417 29.365 417 33.231V259.231C417 263.097 413.866 266.231 410 266.231H223V26.231Z"/>
</mask>
<path d="M223 26.231H410C413.866 26.231 417 29.365 417 33.231V259.231C417 263.097 413.866 266.231 410 266.231H223V26.231Z" fill="white"/>
<path d="M223 26.231H417H223ZM417 266.231H223H417ZM222.2 266.231V26.231H223.8V266.231H222.2ZM417 26.231V266.231V26.231Z" fill="#E8EBF0" mask="url(#path-32-inside-2_4828_12312)"/>
<rect x="233.374" y="38.6046" width="22.1989" height="22.1989" rx="4.62634" fill="#FBFBFC"/>
<rect x="233.374" y="38.6046" width="22.1989" height="22.1989" rx="4.62634" stroke="#E8EBF0" stroke-width="0.747312"/>
<path d="M245.965 46.7565C245.965 46.1554 245.78 45.5678 245.433 45.0681C245.086 44.5683 244.592 44.1788 244.015 43.9487C243.438 43.7187 242.802 43.6585 242.189 43.7758C241.577 43.8931 241.014 44.1825 240.572 44.6075C240.13 45.0326 239.829 45.5741 239.707 46.1636C239.585 46.7531 239.648 47.3641 239.887 47.9195C240.126 48.4748 240.531 48.9494 241.051 49.2833C241.57 49.6173 242.181 49.7955 242.806 49.7955V46.7565H245.965Z" fill="url(#paint0_linear_4828_12312)"/>
<path d="M249.3 46.7565C249.3 46.3574 249.227 45.9622 249.085 45.5935C248.942 45.2248 248.733 44.8897 248.47 44.6075C248.207 44.3253 247.895 44.1015 247.551 43.9487C247.208 43.796 246.839 43.7174 246.467 43.7174C246.095 43.7174 245.727 43.796 245.383 43.9487C245.039 44.1015 244.727 44.3253 244.464 44.6075C244.201 44.8897 243.992 45.2248 243.85 45.5935C243.707 45.9622 243.634 46.3574 243.634 46.7565L249.3 46.7565Z" fill="url(#paint1_linear_4828_12312)"/>
<path d="M248.78 51.6281C248.78 51.289 248.722 50.9533 248.609 50.6401C248.496 50.3269 248.33 50.0422 248.121 49.8025C247.912 49.5628 247.664 49.3726 247.391 49.2429C247.118 49.1131 246.825 49.0463 246.529 49.0463V51.6281H248.78Z" fill="url(#paint2_linear_4828_12312)"/>
<path d="M242.806 50.6969C242.391 50.6969 241.98 50.7685 241.597 50.9075C241.213 51.0466 240.865 51.2504 240.572 51.5073C240.278 51.7642 240.046 52.0692 239.887 52.4049C239.728 52.7406 239.646 53.1004 239.646 53.4638C239.646 53.8271 239.728 54.1869 239.887 54.5226C240.046 54.8583 240.278 55.1633 240.572 55.4202C240.865 55.6771 241.213 55.8809 241.597 56.02C241.98 56.159 242.391 56.2306 242.806 56.2306L242.806 50.6969Z" fill="url(#paint3_linear_4828_12312)"/>
<path d="M242.806 46.6361L242.806 53.4334L239.646 53.4334L239.646 46.6361H242.806Z" fill="url(#paint4_linear_4828_12312)"/>
<path d="M246.563 46.756L242.77 46.756L242.77 43.7174L246.563 43.7174V46.756Z" fill="url(#paint5_linear_4828_12312)"/>
<path d="M246.563 51.6271H244.464V49.0463L246.563 49.0463V51.6271Z" fill="url(#paint6_linear_4828_12312)"/>
<g filter="url(#filter0_dd_4828_12312)">
<path d="M233 66.231H389.029C391.775 66.231 394 68.4564 394 71.2016V207.26C394 210.006 391.775 212.231 389.029 212.231H237.971C235.225 212.231 233 210.006 233 207.26V66.231Z" fill="white" shape-rendering="crispEdges"/>
<path d="M243.731 77.1682L244.475 77.2322C244.411 77.7442 244.339 78.2322 244.275 78.6802H245.483V79.1042C245.435 80.3682 245.219 81.4722 244.835 82.4082C245.171 82.7362 245.451 83.0322 245.675 83.2962L245.171 83.8882C244.979 83.6482 244.747 83.4002 244.491 83.1362C244.171 83.7122 243.771 84.2162 243.299 84.6482L242.779 84.0082C243.251 83.6082 243.643 83.1362 243.947 82.5842C243.627 82.2802 243.283 81.9522 242.899 81.6082C243.083 80.9362 243.251 80.2002 243.395 79.4082H242.819V78.6802H243.515C243.595 78.1922 243.667 77.6882 243.731 77.1682ZM244.275 81.8802C244.555 81.1602 244.723 80.3362 244.779 79.4082H244.155C244.011 80.1922 243.867 80.8562 243.715 81.3842C243.923 81.5602 244.107 81.7202 244.275 81.8802ZM246.563 79.4642C246.435 80.1202 246.235 80.6562 245.963 81.0722L245.411 80.5762C245.795 79.9842 246.003 79.0802 246.027 77.8482H246.707C246.699 78.1682 246.683 78.4642 246.667 78.7362H247.547V77.2482H248.307V78.7362H249.851V79.4642H248.307V81.2082H249.795V81.9522H248.307V83.6562H250.115V84.3922H245.715V83.6562H247.547V81.9522H245.987V81.2082H247.547V79.4642H246.563ZM253.546 84.1522V84.5762H252.786V81.8322C252.338 81.9682 251.858 82.0962 251.354 82.2162L250.954 81.4802C252.29 81.2242 253.402 80.8962 254.298 80.4802C253.962 80.2082 253.514 79.9122 252.97 79.6002L253.626 79.1922C254.186 79.5362 254.626 79.8482 254.954 80.1282C255.682 79.6882 256.218 79.1762 256.57 78.6002H253.802C253.258 79.0962 252.578 79.5442 251.746 79.9442L251.234 79.2882C252.586 78.7122 253.498 78.0162 253.978 77.1922L254.81 77.2882C254.698 77.4962 254.578 77.6962 254.442 77.8882H257.442V78.5602C256.922 79.5762 255.986 80.4242 254.634 81.0962H257.698V84.5762H256.93V84.1522H253.546ZM256.93 83.4162V81.8002H253.546V83.4162H256.93Z" fill="#485264"/>
<rect x="242.237" y="90.4684" width="140.525" height="15.5251" rx="2.61194" fill="#F4F4F7"/>
<rect x="242.237" y="90.4684" width="140.525" height="15.5251" rx="2.61194" stroke="#E8EBF0" stroke-width="0.474898"/>
<path d="M242.971 117.739L243.563 117.779C243.547 118.579 243.459 119.347 243.307 120.067L242.691 119.891C242.851 119.211 242.947 118.491 242.971 117.739ZM245.147 117.547C245.283 117.875 245.411 118.235 245.523 118.635C245.731 118.027 245.859 117.379 245.891 116.699L246.587 116.795C246.571 117.083 246.547 117.363 246.515 117.635H247.459V116.203H248.227V117.635H249.907V118.363H248.227V120.139H249.819V120.883H248.227V122.595H250.115V123.331H245.235V122.595H247.459V120.883H245.667V120.139H247.459V118.363H246.371C246.227 118.915 246.027 119.427 245.755 119.907L245.195 119.411C245.259 119.283 245.315 119.163 245.363 119.051L245.019 119.139C244.907 118.643 244.771 118.171 244.595 117.723L245.147 117.547ZM243.811 116.195H244.571V123.523H243.811V116.195ZM252.57 119.131H251.33V116.443H254.842V119.131H253.306C253.29 119.419 253.266 119.691 253.242 119.947H254.938C254.938 121.371 254.898 122.251 254.818 122.587C254.738 123.163 254.338 123.451 253.618 123.451C253.506 123.451 253.314 123.435 253.058 123.419L252.882 122.747C253.122 122.771 253.322 122.787 253.498 122.787C253.85 122.787 254.05 122.611 254.114 122.259C254.154 122.099 254.178 121.563 254.194 120.659H253.146C253.066 121.107 252.97 121.475 252.842 121.763C252.546 122.451 252.058 123.043 251.37 123.539L250.882 122.939C251.482 122.523 251.906 122.027 252.154 121.451C252.25 121.235 252.33 120.971 252.394 120.659H251.058V119.947H252.498C252.53 119.691 252.554 119.419 252.57 119.131ZM255.61 116.875H256.354V121.811H255.61V116.875ZM257.186 123.483H256.034L255.866 122.755C256.234 122.787 256.586 122.803 256.922 122.803C257.146 122.803 257.266 122.667 257.266 122.403V116.195H258.018V122.595C258.018 123.187 257.738 123.483 257.186 123.483ZM254.114 118.443V117.123H252.058V118.443H254.114Z" fill="#485264"/>
<rect x="242.237" y="129.423" width="141.995" height="14.7218" rx="2.61194" fill="#F4F4F7"/>
<rect x="242.237" y="129.423" width="141.995" height="14.7218" rx="2.61194" stroke="#E8EBF0" stroke-width="0.474898"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M373.801 135.522C373.934 135.39 374.15 135.39 374.283 135.522L376.084 137.324L377.886 135.522C378.018 135.39 378.234 135.39 378.367 135.522C378.5 135.655 378.5 135.871 378.367 136.004L376.325 138.046C376.192 138.179 375.976 138.179 375.843 138.046L373.801 136.004C373.668 135.871 373.668 135.655 373.801 135.522Z" fill="#667085"/>
<path d="M249.851 156.226V157.626H249.195V158.266H245.627C245.571 158.442 245.515 158.61 245.451 158.778H248.931V159.346C248.587 159.802 248.171 160.202 247.683 160.538C248.339 160.778 249.059 160.938 249.835 161.018L249.499 161.706C248.571 161.578 247.731 161.338 246.979 160.97C246.283 161.338 245.539 161.594 244.755 161.738L244.411 161.058C245.099 160.962 245.715 160.794 246.243 160.57C245.811 160.298 245.411 159.994 245.043 159.65C244.587 160.49 243.995 161.154 243.267 161.634L242.907 160.978C243.811 160.338 244.459 159.434 244.851 158.266H243.715V157.626H243.051V156.226H244.235C244.163 156.002 244.083 155.786 244.003 155.594L244.747 155.482C244.827 155.706 244.907 155.954 244.987 156.226H246.115C246.035 155.978 245.955 155.746 245.859 155.53L246.595 155.418C246.691 155.658 246.779 155.93 246.859 156.226H247.779C247.963 155.906 248.123 155.57 248.259 155.226C246.915 155.346 245.307 155.41 243.435 155.41L243.195 154.706C245.603 154.706 247.635 154.602 249.283 154.394L249.659 155.058C249.227 155.122 248.763 155.178 248.275 155.226L248.987 155.482C248.867 155.754 248.731 156.002 248.587 156.226H249.851ZM243.819 157.562H245.051C245.083 157.386 245.123 157.218 245.155 157.042L245.907 157.138C245.875 157.282 245.851 157.426 245.819 157.562H249.083V156.914H243.819V157.562ZM245.667 159.426C246.051 159.73 246.467 159.994 246.915 160.218C247.331 159.97 247.691 159.706 247.995 159.426H245.667ZM252.226 154.25L252.97 154.314C252.882 154.842 252.794 155.33 252.706 155.786H254.042V156.202C253.986 157.45 253.738 158.538 253.306 159.466C253.754 159.81 254.114 160.122 254.386 160.394L253.866 160.994C253.61 160.73 253.298 160.442 252.946 160.138C252.554 160.762 252.066 161.306 251.482 161.754L250.962 161.114C251.53 160.706 251.994 160.218 252.354 159.65C251.986 159.354 251.586 159.05 251.154 158.73C251.394 158.042 251.602 157.306 251.794 156.514H251.026V155.786H251.954C252.05 155.29 252.146 154.778 252.226 154.25ZM252.698 159.01C253.034 158.274 253.234 157.442 253.298 156.514H252.554C252.37 157.298 252.178 157.962 251.986 158.498C252.242 158.674 252.482 158.85 252.698 159.01ZM254.234 157.618H255.97V156.698C256.37 156.338 256.762 155.906 257.13 155.41H254.458V154.674H258.002V155.41C257.626 155.946 257.202 156.45 256.73 156.93V157.618H258.29V158.354H256.73V160.73C256.73 161.322 256.498 161.618 256.05 161.618H254.866L254.666 160.898C254.994 160.898 255.354 160.906 255.738 160.906C255.89 160.906 255.97 160.77 255.97 160.498V158.354H254.234V157.618Z" fill="#485264"/>
<rect x="242.15" y="167.487" width="142.169" height="31.5596" rx="1.65312" fill="#F4F4F7"/>
<rect x="242.15" y="167.487" width="142.169" height="31.5596" rx="1.65312" stroke="#E8EBF0" stroke-width="0.300568"/>
<path d="M378.291 198.118L383.043 193.366" stroke="#8A95A7" stroke-width="0.644535" stroke-linecap="round"/>
<path d="M380.476 198.126L383.043 195.559" stroke="#8A95A7" stroke-width="0.644535" stroke-linecap="round"/>
</g>
<g filter="url(#filter1_dd_4828_12312)">
<rect x="235" y="234.231" width="171" height="23" rx="4" fill="white"/>
<rect x="235.283" y="234.514" width="170.435" height="22.4345" rx="3.71727" stroke="#DFE2EA" stroke-width="0.565456"/>
<rect x="243.088" y="243.403" width="47.5002" height="4.25025" rx="2.12513" fill="#E8EBF0"/>
<rect x="385.344" y="239.352" width="12.5684" height="12.7581" rx="2.85316" fill="#E8EBF0"/>
</g>
<mask id="path-51-inside-3_4828_12312" fill="white">
<path d="M0.290039 11.5856C0.290039 5.78658 4.99105 1.08557 10.79 1.08557H412.133C417.932 1.08557 422.633 5.78658 422.633 11.5856V20.9957H0.290039V11.5856Z"/>
</mask>
<path d="M0.290039 11.5856C0.290039 5.78658 4.99105 1.08557 10.79 1.08557H412.133C417.932 1.08557 422.633 5.78658 422.633 11.5856V20.9957H0.290039V11.5856Z" fill="#F0F1F6"/>
<path d="M0.290039 1.08557H422.633H0.290039ZM422.633 21.6519H0.290039V20.3394H422.633V21.6519ZM0.290039 20.9957V1.08557V20.9957ZM422.633 1.08557V20.9957V1.08557Z" fill="#DFE2EA" mask="url(#path-51-inside-3_4828_12312)"/>
<circle cx="17.4036" cy="11.8823" r="3.64527" fill="#C4CBD7"/>
<circle cx="31.9846" cy="11.8823" r="3.64527" fill="#C4CBD7"/>
<circle cx="46.5657" cy="11.8823" r="3.64527" fill="#C4CBD7"/>
<path d="M254.61 173.089C245.399 187.469 235.265 194.407 218.527 197.791C204.281 200.671 194.577 199.314 181.669 192.634" stroke="#3370FF" stroke-width="2.40329" stroke-dasharray="3.2 3.2"/>
<path d="M256.251 173.871C256.415 172.649 255.194 171.707 254.054 172.177L244.858 175.961C243.484 176.526 243.553 178.495 244.963 178.963L249.159 180.355C249.514 180.473 249.817 180.712 250.015 181.029L252.001 184.221C252.795 185.496 254.75 185.076 254.949 183.587L256.251 173.871Z" fill="#3370FF"/>
</g>
<rect x="0.5" y="0.730957" width="421" height="270.5" rx="8.375" stroke="#E8EBF0"/>
<defs>
<filter id="filter0_dd_4828_12312" x="223" y="60.231" width="181" height="166" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4828_12312"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="4"/>
<feGaussianBlur stdDeviation="5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.1 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_4828_12312" result="effect2_dropShadow_4828_12312"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4828_12312" result="shape"/>
</filter>
<filter id="filter1_dd_4828_12312" x="229.236" y="230.773" width="182.527" height="34.5273" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.288183"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4828_12312"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="2.30546"/>
<feGaussianBlur stdDeviation="2.88183"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0745098 0 0 0 0 0.2 0 0 0 0 0.419608 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_4828_12312" result="effect2_dropShadow_4828_12312"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_4828_12312" result="shape"/>
</filter>
<linearGradient id="paint0_linear_4828_12312" x1="244.473" y1="43.7174" x2="244.473" y2="56.2306" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint1_linear_4828_12312" x1="244.473" y1="43.7174" x2="244.473" y2="56.2306" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint2_linear_4828_12312" x1="244.473" y1="43.7174" x2="244.473" y2="56.2306" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint3_linear_4828_12312" x1="244.473" y1="43.7174" x2="244.473" y2="56.2306" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint4_linear_4828_12312" x1="244.473" y1="43.7174" x2="244.473" y2="56.2306" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint5_linear_4828_12312" x1="244.473" y1="43.7174" x2="244.473" y2="56.2306" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<linearGradient id="paint6_linear_4828_12312" x1="244.473" y1="43.7174" x2="244.473" y2="56.2306" gradientUnits="userSpaceOnUse">
<stop stop-color="#326DFF"/>
<stop offset="1" stop-color="#8EAEFF"/>
</linearGradient>
<clipPath id="clip0_4828_12312">
<rect x="1" y="1.23096" width="420" height="269.5" rx="7.875" fill="white"/>
</clipPath>
<clipPath id="clip1_4828_12312">
<path d="M69 26.231H410C413.866 26.231 417 29.365 417 33.231V259.231C417 263.097 413.866 266.231 410 266.231H69V26.231Z" fill="white"/>
</clipPath>
<clipPath id="clip2_4828_12312">
<rect x="88" y="148.231" width="113" height="65" rx="3.40117" fill="white"/>
</clipPath>
<clipPath id="clip3_4828_12312">
<rect width="8.50292" height="8.50292" fill="white" transform="translate(93.1018 162.568)"/>
</clipPath>
<clipPath id="clip4_4828_12312">
<rect width="8.50292" height="8.50292" fill="white" transform="translate(93.1018 181.381)"/>
</clipPath>
<clipPath id="clip5_4828_12312">
<rect width="8.50292" height="8.50292" fill="white" transform="translate(93.1018 200.193)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -0,0 +1,4 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="36" height="36" rx="6" fill="#FFF1F6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 18C28 23.5228 23.5228 28 18 28C16.3347 28 14.7645 27.5929 13.3834 26.8729H10.2223C9.5596 26.8729 9.02234 26.3356 9.02234 25.6729V22.4098C8.3677 21.0796 8 19.5827 8 18C8 12.4772 12.4772 8 18 8C23.5228 8 28 12.4772 28 18ZM14.5962 18C14.5962 18.7028 14.0265 19.2726 13.3237 19.2726C12.6209 19.2726 12.0511 18.7028 12.0511 18C12.0511 17.2972 12.6209 16.7275 13.3237 16.7275C14.0265 16.7275 14.5962 17.2972 14.5962 18ZM19.1724 18C19.1724 18.7028 18.6027 19.2726 17.8999 19.2726C17.1971 19.2726 16.6273 18.7028 16.6273 18C16.6273 17.2972 17.1971 16.7275 17.8999 16.7275C18.6027 16.7275 19.1724 17.2972 19.1724 18ZM23.7485 18C23.7485 18.7028 23.1788 19.2726 22.476 19.2726C21.7732 19.2726 21.2034 18.7028 21.2034 18C21.2034 17.2972 21.7732 16.7275 22.476 16.7275C23.1788 16.7275 23.7485 17.2972 23.7485 18Z" fill="#F9518E"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -30,7 +30,7 @@ export default function InputGuideBox({
return await queryChatInputGuideList(
{
appId,
searchKey: text
searchKey: text.slice(0, 50)
},
chatInputGuide.customUrl ? chatInputGuide.customUrl : undefined
);

View File

@@ -9,6 +9,7 @@ import { VariableInputEnum } from '@fastgpt/global/core/workflow/constants';
import MySelect from '@fastgpt/web/components/common/MySelect';
import MyIcon from '@fastgpt/web/components/common/Icon';
import { ChatBoxInputFormType } from '../type.d';
import { useRefresh } from '@fastgpt/web/hooks/useRefresh';
const VariableInput = ({
appAvatar,
@@ -25,6 +26,7 @@ const VariableInput = ({
const { register, setValue, handleSubmit: handleSubmitChat, watch } = chatForm;
const variables = watch('variables');
const chatStarted = watch('chatStarted');
const { refresh } = useRefresh();
return (
<Box py={3}>
@@ -86,6 +88,7 @@ const VariableInput = ({
})}
value={variables[item.key]}
onchange={(e) => {
refresh();
setValue(`variables.${item.key}`, e);
}}
/>

View File

@@ -21,7 +21,6 @@ import { getErrText } from '@fastgpt/global/common/error/utils';
import { Box, Flex, Checkbox } from '@chakra-ui/react';
import { EventNameEnum, eventBus } from '@/web/common/utils/eventbus';
import { chats2GPTMessages } from '@fastgpt/global/core/chat/adapt';
import { StoreNodeItemType } from '@fastgpt/global/core/workflow/type/index.d';
import { VariableInputEnum } from '@fastgpt/global/core/workflow/constants';
import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants';
import { useForm } from 'react-hook-form';

View File

@@ -37,6 +37,7 @@ import { useRequest2 } from '@fastgpt/web/hooks/useRequest';
import { useRequest } from 'ahooks';
import HighlightText from '@fastgpt/web/components/common/String/HighlightText';
import { defaultChatInputGuideConfig } from '@fastgpt/global/core/app/constants';
import ChatFunctionTip from './Tip';
const csvTemplate = `"第一列内容"
"只会将第一列内容导入,其余列会被忽略"
@@ -86,7 +87,7 @@ const InputGuideConfig = ({
<MyIcon name={'core/app/inputGuides'} mr={2} w={'20px'} />
<HStack>
<Box>{chatT('Input guide')}</Box>
<QuestionTip label={chatT('Input guide tip')} />
<ChatFunctionTip type={'inputGuide'} />
</HStack>
<Box flex={1} />
<MyTooltip label={chatT('Config input guide')}>

View File

@@ -1,9 +1,8 @@
import MyIcon from '@fastgpt/web/components/common/Icon';
import MyTooltip from '@/components/MyTooltip';
import { QuestionOutlineIcon } from '@chakra-ui/icons';
import { Box, Flex, Switch, type SwitchProps } from '@chakra-ui/react';
import React from 'react';
import { useTranslation } from 'next-i18next';
import ChatFunctionTip from './Tip';
// question generator switch
const QGSwitch = (props: SwitchProps) => {
@@ -12,9 +11,7 @@ const QGSwitch = (props: SwitchProps) => {
<Flex alignItems={'center'}>
<MyIcon name={'core/chat/QGFill'} mr={2} w={'20px'} />
<Box fontWeight={'medium'}>{t('core.app.Question Guide')}</Box>
<MyTooltip label={t('core.app.Question Guide Tip')} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip>
<ChatFunctionTip type={'nextQuestion'} />
<Box flex={1} />
<Switch {...props} />
</Flex>

View File

@@ -8,7 +8,6 @@ import { AppScheduledTriggerConfigType } from '@fastgpt/global/core/app/type';
import MyModal from '@fastgpt/web/components/common/MyModal';
import dynamic from 'next/dynamic';
import type { MultipleSelectProps } from '@fastgpt/web/components/common/MySelect/type.d';
import { useForm } from 'react-hook-form';
import { cronParser2Fields } from '@fastgpt/global/common/string/time';
import TimezoneSelect from '@fastgpt/web/components/common/MySelect/TimezoneSelect';

View File

@@ -1,6 +1,5 @@
import MyIcon from '@fastgpt/web/components/common/Icon';
import MyTooltip from '@/components/MyTooltip';
import { QuestionOutlineIcon } from '@chakra-ui/icons';
import { Box, Button, Flex, ModalBody, useDisclosure, Image } from '@chakra-ui/react';
import React, { useCallback, useMemo } from 'react';
import { useTranslation } from 'next-i18next';
@@ -12,6 +11,7 @@ import MyModal from '@fastgpt/web/components/common/MyModal';
import MySlider from '@/components/Slider';
import MySelect from '@fastgpt/web/components/common/MySelect';
import { defaultTTSConfig } from '@fastgpt/global/core/app/constants';
import ChatFunctionTip from './Tip';
const TTSSelect = ({
value = defaultTTSConfig,
@@ -82,9 +82,7 @@ const TTSSelect = ({
<Flex alignItems={'center'}>
<MyIcon name={'core/app/simpleMode/tts'} mr={2} w={'20px'} />
<Box fontWeight={'medium'}>{t('core.app.TTS')}</Box>
<MyTooltip label={t('core.app.TTS Tip')} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip>
<ChatFunctionTip type={'tts'} />
<Box flex={1} />
<MyTooltip label={t('core.app.Select TTS')}>
<Button

View File

@@ -0,0 +1,75 @@
import { useI18n } from '@/web/context/I18n';
import { Box, Flex, Image } from '@chakra-ui/react';
import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip';
import { useTranslation } from 'next-i18next';
import React, { useRef } from 'react';
enum FnTypeEnum {
inputGuide = 'inputGuide',
nextQuestion = 'nextQuestion',
tts = 'tts',
variable = 'variable',
welcome = 'welcome'
}
const ChatFunctionTip = ({ type }: { type: `${FnTypeEnum}` }) => {
const { t } = useTranslation();
const { chatT } = useI18n();
const map = useRef({
[FnTypeEnum.inputGuide]: {
icon: '/imgs/app/inputGuide-icon.svg',
title: chatT('Input guide'),
desc: chatT('Input guide tip'),
imgUrl: '/imgs/app/inputGuide.svg'
},
[FnTypeEnum.nextQuestion]: {
icon: '/imgs/app/nextQuestion-icon.svg',
title: t('core.app.Question Guide'),
desc: t('core.app.Question Guide Tip'),
imgUrl: '/imgs/app/nextQuestion.svg'
},
[FnTypeEnum.tts]: {
icon: '/imgs/app/tts-icon.svg',
title: t('core.app.TTS'),
desc: t('core.app.TTS Tip'),
imgUrl: '/imgs/app/tts.svg'
},
[FnTypeEnum.variable]: {
icon: '/imgs/app/variable-icon.svg',
title: t('core.module.Variable'),
desc: t('core.app.tip.variableTip'),
imgUrl: '/imgs/app/variable.svg'
},
[FnTypeEnum.welcome]: {
icon: '/imgs/app/welcome-icon.svg',
title: t('core.app.Welcome Text'),
desc: t('core.app.tip.welcomeTextTip'),
imgUrl: '/imgs/app/welcome.svg'
}
});
const data = map.current[type];
return (
<QuestionTip
maxW={'420px'}
ml={1}
label={
<Box>
<Flex>
<Image src={data.icon} w={'36px'} alt={''} />
<Box ml={3}>
<Box fontWeight="bold">{data.title}</Box>
<Box fontSize={'xs'} color={'myGray.500'}>
{data.desc}
</Box>
</Box>
</Flex>
<Image src={data.imgUrl} w={'100%'} minH={['auto', '200px']} mt={2} alt={''} />
</Box>
}
/>
);
};
export default ChatFunctionTip;

View File

@@ -32,11 +32,11 @@ import { customAlphabet } from 'nanoid';
const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz1234567890', 6);
import MyModal from '@fastgpt/web/components/common/MyModal';
import MyTooltip from '@/components/MyTooltip';
import { variableTip } from '@fastgpt/global/core/workflow/template/tip';
import { useTranslation } from 'next-i18next';
import { useToast } from '@fastgpt/web/hooks/useToast';
import MyRadio from '@/components/common/MyRadio';
import { formatEditorVariablePickerIcon } from '@fastgpt/global/core/workflow/utils';
import ChatFunctionTip from './Tip';
const VariableEdit = ({
variables = [],
@@ -96,12 +96,11 @@ const VariableEdit = ({
<Box>
<Flex alignItems={'center'}>
<MyIcon name={'core/app/simpleMode/variable'} w={'20px'} />
<Box ml={2} flex={1} fontWeight={'medium'}>
<Box ml={2} fontWeight={'medium'}>
{t('core.module.Variable')}
<MyTooltip label={t(variableTip)} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip>
</Box>
<ChatFunctionTip type={'variable'} />
<Box flex={1} />
<Button
variant={'transparentBase'}
leftIcon={<SmallAddIcon />}

View File

@@ -0,0 +1,29 @@
import { Box, Flex, TextareaProps } from '@chakra-ui/react';
import React from 'react';
import MyIcon from '@fastgpt/web/components/common/Icon';
import ChatFunctionTip from './Tip';
import MyTextarea from '@/components/common/Textarea/MyTextarea';
import { useTranslation } from 'next-i18next';
const WelcomeTextConfig = (props: TextareaProps) => {
const { t } = useTranslation();
return (
<>
<Flex alignItems={'center'}>
<MyIcon name={'core/app/simpleMode/chat'} w={'20px'} />
<Box ml={2}>{t('core.app.Welcome Text')}</Box>
<ChatFunctionTip type={'welcome'} />
</Flex>
<MyTextarea
mt={2}
bg={'myWhite.400'}
rows={6}
fontSize={'sm'}
placeholder={t('core.app.tip.welcomeTextTip')}
{...props}
/>
</>
);
};
export default WelcomeTextConfig;

View File

@@ -19,26 +19,26 @@ const scoreTheme: Record<
color: string;
bg: string;
borderColor: string;
colorSchema: string;
colorScheme: string;
}
> = {
'0': {
color: '#6F5DD7',
bg: '#F0EEFF',
borderColor: '#D3CAFF',
colorSchema: 'purple'
colorScheme: 'purple'
},
'1': {
color: '#9E53C1',
bg: '#FAF1FF',
borderColor: '#ECF',
colorSchema: 'pink'
colorScheme: 'pink'
},
'2': {
color: '#0884DD',
bg: '#F0FBFF',
borderColor: '#BCE7FF',
colorSchema: 'blue'
colorScheme: 'blue'
}
};
@@ -184,7 +184,7 @@ const QuoteItem = ({
size="sm"
borderRadius={'20px'}
{...(scoreTheme[i] && {
colorScheme: scoreTheme[i].colorSchema
colorScheme: scoreTheme[i].colorScheme
})}
bg="#E8EBF0"
/>

View File

@@ -165,84 +165,82 @@ export const useDebug = () => {
maxW={['90vw', '35vw']}
px={0}
>
<Flex flexDirection={'column'} h={'100%'} overflowY={'auto'}>
<Box flex={'1 0 0'} overflow={'auto'} px={6}>
{renderInputs.map((input) => {
const required = input.required || false;
console.log(input.valueType);
const RenderInput = (() => {
if (input.valueType === WorkflowIOValueTypeEnum.string) {
return (
<Textarea
<Box flex={'1 0 0'} overflow={'auto'} px={6}>
{renderInputs.map((input) => {
const required = input.required || false;
console.log(input.valueType);
const RenderInput = (() => {
if (input.valueType === WorkflowIOValueTypeEnum.string) {
return (
<Textarea
{...register(input.key, {
required
})}
placeholder={t(input.placeholder || '')}
bg={'myGray.50'}
/>
);
}
if (input.valueType === WorkflowIOValueTypeEnum.number) {
return (
<NumberInput step={input.step} min={input.min} max={input.max} bg={'myGray.50'}>
<NumberInputField
{...register(input.key, {
required
required: input.required,
min: input.min,
max: input.max,
valueAsNumber: true
})}
placeholder={t(input.placeholder || '')}
bg={'myGray.50'}
/>
);
}
if (input.valueType === WorkflowIOValueTypeEnum.number) {
return (
<NumberInput step={input.step} min={input.min} max={input.max} bg={'myGray.50'}>
<NumberInputField
{...register(input.key, {
required: input.required,
min: input.min,
max: input.max,
valueAsNumber: true
})}
/>
<NumberInputStepper>
<NumberIncrementStepper />
<NumberDecrementStepper />
</NumberInputStepper>
</NumberInput>
);
}
if (input.valueType === WorkflowIOValueTypeEnum.boolean) {
return (
<Box>
<Switch size={'lg'} {...register(input.key)} />
</Box>
);
}
if (typeof input.value === 'string') {
return (
<JsonEditor
bg={'myGray.50'}
placeholder={t(input.placeholder || '')}
resize
value={getValues(input.key)}
onChange={(e) => {
setValue(input.key, e);
}}
/>
);
}
})();
<NumberInputStepper>
<NumberIncrementStepper />
<NumberDecrementStepper />
</NumberInputStepper>
</NumberInput>
);
}
if (input.valueType === WorkflowIOValueTypeEnum.boolean) {
return (
<Box>
<Switch size={'lg'} {...register(input.key)} />
</Box>
);
}
if (typeof input.value === 'string') {
return (
<JsonEditor
bg={'myGray.50'}
placeholder={t(input.placeholder || '')}
resize
value={getValues(input.key)}
onChange={(e) => {
setValue(input.key, e);
}}
/>
);
}
})();
return !!RenderInput ? (
<Box key={input.key} _notLast={{ mb: 4 }} px={1}>
<Flex alignItems={'center'} mb={1}>
<Box position={'relative'}>
{required && (
<Box position={'absolute'} right={-2} top={'-1px'} color={'red.600'}>
*
</Box>
)}
{t(input.debugLabel || input.label)}
</Box>
{input.description && <QuestionTip ml={2} label={input.description} />}
</Flex>
{RenderInput}
</Box>
) : null;
})}
</Box>
<Flex py={2} justifyContent={'flex-end'}>
<Button onClick={handleSubmit(onclickRun)}></Button>
</Flex>
return !!RenderInput ? (
<Box key={input.key} _notLast={{ mb: 4 }} px={1}>
<Flex alignItems={'center'} mb={1}>
<Box position={'relative'}>
{required && (
<Box position={'absolute'} right={-2} top={'-1px'} color={'red.600'}>
*
</Box>
)}
{t(input.debugLabel || input.label)}
</Box>
{input.description && <QuestionTip ml={2} label={input.description} />}
</Flex>
{RenderInput}
</Box>
) : null;
})}
</Box>
<Flex py={2} justifyContent={'flex-end'} px={6}>
<Button onClick={handleSubmit(onclickRun)}></Button>
</Flex>
</MyRightDrawer>
);

View File

@@ -280,7 +280,7 @@ export function RenderHttpProps({
);
return [...moduleVariables, ...globalVariables];
}, [inputs, nodeList, t]);
}, [appDetail.chatConfig, inputs, nodeList, t]);
const variableText = useMemo(() => {
return variables

View File

@@ -28,7 +28,7 @@ import MyInput from '@/components/MyInput';
import { getElseIFLabel, getHandleId } from '@fastgpt/global/core/workflow/utils';
import { SourceHandle } from '../render/Handle';
import { Position, useReactFlow } from 'reactflow';
import { getReferenceDataValueType } from '@/web/core/workflow/utils';
import { getRefData } from '@/web/core/workflow/utils';
import DragIcon from '@fastgpt/web/components/common/DndDrag/DragIcon';
import { AppContext } from '@/web/core/app/context/appContext';
@@ -346,8 +346,8 @@ const ConditionSelect = ({
const appDetail = useContextSelector(AppContext, (v) => v.appDetail);
// get condition type
const valueType = useMemo(() => {
return getReferenceDataValueType({
const { valueType, required } = useMemo(() => {
return getRefData({
variable,
nodeList,
chatConfig: appDetail.chatConfig,
@@ -376,11 +376,22 @@ const ConditionSelect = ({
return [];
}, [valueType]);
const filterQuiredConditionList = useMemo(() => {
if (required) {
return conditionList.filter(
(item) =>
item.value !== VariableConditionEnum.isEmpty &&
item.value !== VariableConditionEnum.isNotEmpty
);
}
return conditionList;
}, [conditionList, required]);
return (
<MySelect
className="nowheel"
w={'100%'}
list={conditionList}
list={filterQuiredConditionList}
value={condition}
onchange={onSelect}
placeholder="选择条件"

View File

@@ -1,19 +1,15 @@
import React, { Dispatch, useMemo, useTransition } from 'react';
import { NodeProps } from 'reactflow';
import { Box, Flex, Textarea, useTheme } from '@chakra-ui/react';
import { QuestionOutlineIcon } from '@chakra-ui/icons';
import { Box, useTheme } from '@chakra-ui/react';
import { FlowNodeItemType } from '@fastgpt/global/core/workflow/type/index.d';
import { welcomeTextTip } from '@fastgpt/global/core/workflow/template/tip';
import QGSwitch from '@/components/core/app/QGSwitch';
import TTSSelect from '@/components/core/app/TTSSelect';
import WhisperConfig from '@/components/core/app/WhisperConfig';
import InputGuideConfig from '@/components/core/chat/appConfig/InputGuideConfig';
import InputGuideConfig from '@/components/core/app/InputGuideConfig';
import { getAppChatConfig } from '@fastgpt/global/core/workflow/utils';
import { useTranslation } from 'next-i18next';
import { TTSTypeEnum } from '@/web/core/app/constants';
import MyIcon from '@fastgpt/web/components/common/Icon';
import MyTooltip from '@/components/MyTooltip';
import NodeCard from './render/NodeCard';
import ScheduledTriggerConfig from '@/components/core/app/ScheduledTriggerConfig';
import { useContextSelector } from 'use-context-selector';
@@ -22,6 +18,7 @@ import { AppChatConfigType, AppDetailType, VariableItemType } from '@fastgpt/glo
import { useMemoizedFn } from 'ahooks';
import VariableEdit from '@/components/core/app/VariableEdit';
import { AppContext } from '@/web/core/app/context/appContext';
import WelcomeTextConfig from '@/components/core/app/WelcomeTextConfig';
type ComponentProps = {
chatConfig: AppChatConfigType;
@@ -94,22 +91,10 @@ function WelcomeText({ chatConfig: { welcomeText }, setAppDetail }: ComponentPro
const [, startTst] = useTransition();
return (
<>
<Flex mb={1} alignItems={'center'}>
<MyIcon name={'core/modules/welcomeText'} mr={2} w={'14px'} color={'#E74694'} />
<Box fontWeight={'medium'}>{t('core.app.Welcome Text')}</Box>
<MyTooltip label={t(welcomeTextTip)} forceShow>
<QuestionOutlineIcon display={['none', 'inline']} ml={1} />
</MyTooltip>
</Flex>
<Textarea
className="nodrag"
rows={6}
fontSize={'12px'}
<Box className="nodrag">
<WelcomeTextConfig
resize={'both'}
defaultValue={welcomeText}
bg={'myWhite.500'}
placeholder={t(welcomeTextTip)}
onChange={(e) => {
startTst(() => {
setAppDetail((state) => ({
@@ -122,7 +107,7 @@ function WelcomeText({ chatConfig: { welcomeText }, setAppDetail }: ComponentPro
});
}}
/>
</>
</Box>
);
}

View File

@@ -30,7 +30,7 @@ import { SmallAddIcon } from '@chakra-ui/icons';
import MyTooltip from '@fastgpt/web/components/common/MyTooltip';
import { ReferenceValueProps } from '@fastgpt/global/core/workflow/type/io';
import { ReferSelector, useReference } from './render/RenderInput/templates/Reference';
import { getReferenceDataValueType } from '@/web/core/workflow/utils';
import { getRefData } from '@/web/core/workflow/utils';
import { isReferenceValue } from '@fastgpt/global/core/workflow/utils';
import { AppContext } from '@/web/core/app/context/appContext';
@@ -84,7 +84,7 @@ const NodeVariableUpdate = ({ data, selected }: NodeProps<FlowNodeItemType>) =>
return (
<>
{updateList.map((updateItem, index) => {
const valueType = getReferenceDataValueType({
const { valueType } = getRefData({
variable: updateItem.variable,
nodeList,
chatConfig: appDetail.chatConfig,

View File

@@ -32,6 +32,7 @@ const NodeStart = ({ data, selected }: NodeProps<FlowNodeItemType>) => {
id: item.key,
type: FlowNodeOutputTypeEnum.static,
key: item.key,
required: item.required,
valueType: item.valueType || WorkflowIOValueTypeEnum.any,
label: item.label
}));

View File

@@ -171,6 +171,11 @@ const RenderOutput = ({
{renderOutputs.map((output) => {
return output.label ? (
<Box key={output.key} _notLast={{ mb: 5 }} position={'relative'}>
{output.required && (
<Box position={'absolute'} left={'-6px'} top={-1} color={'red.600'}>
*
</Box>
)}
<OutputLabel nodeId={nodeId} output={output} />
</Box>
) : null;

View File

@@ -47,6 +47,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse<any>) {
const { teamId, tmbId, dataset } = await authDataset({
req,
authToken: true,
authApiKey: true,
per: 'w',
datasetId: data.datasetId

View File

@@ -163,8 +163,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
return authHeaderRequest({
req,
appId,
chatId,
detail
chatId
});
})();
@@ -292,17 +291,19 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
data: '[DONE]'
});
if (responseDetail && detail) {
if (detail) {
responseWrite({
res,
event: SseResponseEventEnum.updateVariables,
data: JSON.stringify(newVariables)
});
responseWrite({
res,
event: SseResponseEventEnum.flowResponses,
data: JSON.stringify(feResponseData)
});
if (responseDetail) {
responseWrite({
res,
event: SseResponseEventEnum.flowResponses,
data: JSON.stringify(feResponseData)
});
}
}
res.end();
@@ -443,13 +444,11 @@ const authTeamSpaceChat = async ({
const authHeaderRequest = async ({
req,
appId,
chatId,
detail
chatId
}: {
req: NextApiRequest;
appId?: string;
chatId?: string;
detail?: boolean;
}): Promise<AuthResponseType> => {
const {
appId: apiKeyAppId,
@@ -517,7 +516,7 @@ const authHeaderRequest = async ({
tmbId,
user,
app,
responseDetail: detail,
responseDetail: true,
apikey,
authType,
canWrite

View File

@@ -4,7 +4,6 @@ import { AddIcon, QuestionOutlineIcon, SmallAddIcon } from '@chakra-ui/icons';
import { useFieldArray, UseFormReturn } from 'react-hook-form';
import { useSystemStore } from '@/web/common/system/useSystemStore';
import type { AppSimpleEditFormType } from '@fastgpt/global/core/app/type.d';
import { welcomeTextTip } from '@fastgpt/global/core/workflow/template/tip';
import { useRequest } from '@fastgpt/web/hooks/useRequest';
import { useConfirm } from '@fastgpt/web/hooks/useConfirm';
import { useRouter } from 'next/router';
@@ -42,14 +41,16 @@ const ToolSelectModal = dynamic(() => import('./ToolSelectModal'), { ssr: false
const TTSSelect = dynamic(() => import('@/components/core/app/TTSSelect'), { ssr: false });
const QGSwitch = dynamic(() => import('@/components/core/app/QGSwitch'), { ssr: false });
const WhisperConfig = dynamic(() => import('@/components/core/app/WhisperConfig'), { ssr: false });
const InputGuideConfig = dynamic(
() => import('@/components/core/chat/appConfig/InputGuideConfig'),
{ ssr: false }
);
const InputGuideConfig = dynamic(() => import('@/components/core/app/InputGuideConfig'), {
ssr: false
});
const ScheduledTriggerConfig = dynamic(
() => import('@/components/core/app/ScheduledTriggerConfig'),
{ ssr: false }
);
const WelcomeTextConfig = dynamic(() => import('@/components/core/app/WelcomeTextConfig'), {
ssr: false
});
const BoxStyles: BoxProps = {
px: 5,
@@ -409,18 +410,7 @@ const EditForm = ({
{/* welcome */}
<Box {...BoxStyles}>
<Flex alignItems={'center'}>
<MyIcon name={'core/app/simpleMode/chat'} w={'20px'} />
<Box mx={2}>{t('core.app.Welcome Text')}</Box>
<MyTooltip label={t(welcomeTextTip)} forceShow>
<QuestionOutlineIcon />
</MyTooltip>
</Flex>
<MyTextarea
mt={2}
bg={'myWhite.400'}
rows={5}
placeholder={t(welcomeTextTip)}
<WelcomeTextConfig
defaultValue={getValues('chatConfig.welcomeText')}
onBlur={(e) => {
setValue('chatConfig.welcomeText', e.target.value || '');

View File

@@ -83,28 +83,26 @@ const PreviewChunks = ({
isLoading={isLoading}
maxW={['90vw', '40vw']}
>
<Flex flexDirection={'column'} height={'100%'} overflowY={'auto'}>
{data.map((item, index) => (
<Box
key={index}
whiteSpace={'pre-wrap'}
fontSize={'sm'}
p={4}
bg={index % 2 === 0 ? 'white' : 'myWhite.600'}
mb={3}
borderRadius={'md'}
borderWidth={'1px'}
borderColor={'borderColor.low'}
boxShadow={'2'}
_notLast={{
mb: 2
}}
>
<Box color={'myGray.900'}>{item.q}</Box>
<Box color={'myGray.500'}>{item.a}</Box>
</Box>
))}
</Flex>
{data.map((item, index) => (
<Box
key={index}
whiteSpace={'pre-wrap'}
fontSize={'sm'}
p={4}
bg={index % 2 === 0 ? 'white' : 'myWhite.600'}
mb={3}
borderRadius={'md'}
borderWidth={'1px'}
borderColor={'borderColor.low'}
boxShadow={'2'}
_notLast={{
mb: 2
}}
>
<Box color={'myGray.900'}>{item.q}</Box>
<Box color={'myGray.500'}>{item.a}</Box>
</Box>
))}
</MyRightDrawer>
);
};

View File

@@ -33,8 +33,8 @@ import ParentPaths from '@/components/common/ParentPaths';
import DatasetTypeTag from '@/components/core/dataset/DatasetTypeTag';
import { useToast } from '@fastgpt/web/hooks/useToast';
import { getErrText } from '@fastgpt/global/common/error/utils';
import { xmlDownloadFetch } from '@/web/common/api/xmlFetch';
import { useDatasetStore } from '@/web/core/dataset/store/dataset';
import { downloadFetch } from '@/web/common/system/utils';
const CreateModal = dynamic(() => import('./component/CreateModal'), { ssr: false });
const MoveModal = dynamic(() => import('./component/MoveModal'), { ssr: false });
@@ -93,7 +93,7 @@ const Dataset = () => {
setLoading(true);
await checkTeamExportDatasetLimit(dataset._id);
await xmlDownloadFetch({
await downloadFetch({
url: `/api/core/dataset/exportAll?datasetId=${dataset._id}`,
filename: `${dataset.name}.csv`
});

View File

@@ -50,19 +50,15 @@ const Render = ({ pluginId }: Props) => {
edges: pluginDetail?.edges || []
});
useEffect(() => {
if (isV2Workflow) {
initData(JSON.parse(workflowStringData));
}
}, [initData, isV2Workflow, workflowStringData]);
useEffect(() => {
if (!isV2Workflow && pluginDetail) {
openConfirm(() => {
initData(JSON.parse(JSON.stringify(v1Workflow2V2((pluginDetail.modules || []) as any))));
})();
} else {
initData(JSON.parse(workflowStringData));
}
}, [initData, isV2Workflow, openConfirm, pluginDetail]);
}, [pluginDetail]);
useBeforeunload({
tip: t('core.common.tip.leave page')

View File

@@ -2,7 +2,6 @@ import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/cons
import { getErrText } from '@fastgpt/global/common/error/utils';
import type { ChatHistoryItemResType } from '@fastgpt/global/core/chat/type.d';
import type { StartChatFnProps } from '@/components/ChatBox/type.d';
import { getToken } from '@/web/support/user/auth';
import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants';
import dayjs from 'dayjs';
import {
@@ -117,8 +116,7 @@ export const streamFetch = ({
const requestData = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
token: getToken()
'Content-Type': 'application/json'
},
signal: abortCtrl.signal,
body: JSON.stringify({

View File

@@ -4,7 +4,7 @@ import axios, {
AxiosResponse,
AxiosProgressEvent
} from 'axios';
import { clearToken, getToken } from '@/web/support/user/auth';
import { clearToken } from '@/web/support/user/auth';
import { TOKEN_ERROR_CODE } from '@fastgpt/global/common/error/errorCode';
import { TeamErrEnum } from '@fastgpt/global/common/error/code/team';
import { useSystemStore } from '../system/useSystemStore';
@@ -15,6 +15,7 @@ interface ConfigType {
onUploadProgress?: (progressEvent: AxiosProgressEvent) => void;
cancelToken?: AbortController;
maxQuantity?: number;
withCredentials?: boolean;
}
interface ResponseDataType {
code: number;
@@ -61,7 +62,6 @@ function requestFinish({ url }: { url: string }) {
*/
function startInterceptors(config: InternalAxiosRequestConfig): InternalAxiosRequestConfig {
if (config.headers) {
config.headers.token = getToken();
}
return config;
@@ -138,7 +138,7 @@ instance.interceptors.response.use(responseSuccess, (err) => Promise.reject(err)
function request(
url: string,
data: any,
{ cancelToken, maxQuantity, ...config }: ConfigType,
{ cancelToken, maxQuantity, withCredentials, ...config }: ConfigType,
method: Method
): any {
/* 去空 */
@@ -158,6 +158,7 @@ function request(
data: ['POST', 'PUT'].includes(method) ? data : null,
params: !['POST', 'PUT'].includes(method) ? data : null,
signal: cancelToken?.signal,
withCredentials,
...config // 用户自定义配置,可以覆盖前面的配置
})
.then((res) => checkRes(res.data))

View File

@@ -1,31 +0,0 @@
import { getToken } from '@/web/support/user/auth';
import { hasHttps } from '@fastgpt/web/common/system/utils';
export const xmlDownloadFetch = async ({ url, filename }: { url: string; filename: string }) => {
if (hasHttps()) {
const a = document.createElement('a');
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
} else {
const response = await fetch(url, {
headers: {
token: `${getToken()}`
}
});
if (!response.ok) throw new Error('Network response was not ok.');
const blob = await response.blob();
const downloadUrl = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.style.display = 'none'; // 隐藏<a>元素
a.href = downloadUrl;
a.download = filename;
document.body.appendChild(a);
a.click(); // 模拟用户点击
document.body.removeChild(a);
window.URL.revokeObjectURL(downloadUrl); // 清理生成的URL
}
};

View File

@@ -0,0 +1,8 @@
export const downloadFetch = async ({ url, filename }: { url: string; filename: string }) => {
const a = document.createElement('a');
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
};

View File

@@ -5,7 +5,6 @@ import type { AppTTSConfigType } from '@fastgpt/global/core/app/type.d';
import { TTSTypeEnum } from '@/web/core/app/constants';
import { useTranslation } from 'next-i18next';
import type { OutLinkChatAuthProps } from '@fastgpt/global/support/permission/chat.d';
import { getToken } from '@/web/support/user/auth';
import { useMount } from 'ahooks';
const contentType = 'audio/mpeg';
@@ -41,8 +40,7 @@ export const useAudioPlay = (props?: OutLinkChatAuthProps & { ttsConfig?: AppTTS
const response = await fetch('/api/core/chat/item/getSpeech', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
token: getToken()
'Content-Type': 'application/json'
},
signal: audioController.current.signal,
body: JSON.stringify({

View File

@@ -701,6 +701,7 @@ export const getSystemVariables = (t: TFunction): EditorVariablePickerType[] =>
{
key: 'appId',
label: t('core.module.http.AppId'),
required: true,
valueType: WorkflowIOValueTypeEnum.string
},
{
@@ -716,11 +717,13 @@ export const getSystemVariables = (t: TFunction): EditorVariablePickerType[] =>
{
key: 'histories',
label: t('core.module.http.Histories'),
required: true,
valueType: WorkflowIOValueTypeEnum.chatHistory
},
{
key: 'cTime',
label: t('core.module.http.Current time'),
required: true,
valueType: WorkflowIOValueTypeEnum.string
}
];

View File

@@ -26,10 +26,11 @@ export const getCountChatInputGuideTotal = (data: countChatInputGuideTotalQuery)
export const getChatInputGuideList = (data: ChatInputGuideProps) =>
GET<ChatInputGuideResponse>(`/core/chat/inputGuide/list`, data);
export const queryChatInputGuideList = (
data: QueryChatInputGuideProps,
url = `/core/chat/inputGuide/query`
) => GET<QueryChatInputGuideResponse>(url, data);
export const queryChatInputGuideList = (data: QueryChatInputGuideProps, url?: string) => {
return GET<QueryChatInputGuideResponse>(url ?? `/core/chat/inputGuide/query`, data, {
withCredentials: !url
});
};
export const postChatInputGuides = (data: createInputGuideBody) =>
POST<createInputGuideResponse>(`/core/chat/inputGuide/create`, data);

View File

@@ -428,7 +428,7 @@ export const v1Workflow2V2 = (
pluginId,
pluginType: node.pluginType,
parentId: node.parentId,
version: 'v2.0',
version: '481',
inputs,
outputs

View File

@@ -157,7 +157,7 @@ export const computedNodeInputReference = ({
return sourceNodes;
};
export const getReferenceDataValueType = ({
export const getRefData = ({
variable,
nodeList,
chatConfig,
@@ -168,16 +168,34 @@ export const getReferenceDataValueType = ({
chatConfig: AppChatConfigType;
t: TFunction;
}) => {
if (!variable) return WorkflowIOValueTypeEnum.any;
if (!variable)
return {
valueType: WorkflowIOValueTypeEnum.any,
required: false
};
const node = nodeList.find((node) => node.nodeId === variable[0]);
const systemVariables = getWorkflowGlobalVariables({ nodes: nodeList, chatConfig, t });
if (!node) return systemVariables.find((item) => item.key === variable?.[1])?.valueType;
if (!node) {
const globalVariable = systemVariables.find((item) => item.key === variable?.[1]);
return {
valueType: globalVariable?.valueType || WorkflowIOValueTypeEnum.any,
required: !!globalVariable?.required
};
}
const output = node.outputs.find((item) => item.id === variable[1]);
if (!output) return WorkflowIOValueTypeEnum.any;
return output.valueType;
if (!output)
return {
valueType: WorkflowIOValueTypeEnum.any,
required: false
};
return {
valueType: output.valueType,
required: !!output.required
};
};
/* Connection rules */