@nice2dev/icons-tech 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +187 -0
- package/dist/index.cjs +11448 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2051 -0
- package/dist/index.mjs +11448 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/createTechIcon.tsx","../src/devtools.tsx","../src/cloud.tsx","../src/infrastructure.tsx","../src/development.tsx","../src/security.tsx","../src/ai-ml.tsx","../src/frameworks.tsx","../src/web.tsx","../src/mobile.tsx","../src/testing.tsx","../src/devops.tsx","../src/database-ext.tsx","../src/networking.tsx","../src/architecture.tsx","../src/tools.tsx","../src/index.ts"],"sourcesContent":["/**\r\n * @file createTechIcon.tsx\r\n * @description Factory function for creating animated tech icons\r\n */\r\n\r\nimport React, { forwardRef } from 'react';\r\n\r\nimport type { TechIconProps, TechIconAnimation, CreateTechIconOptions } from './types';\r\n\r\n/* ─── Animation Helpers ─── */\r\n\r\nconst DURATION_MAP = {\r\n slow: '2s',\r\n normal: '1s',\r\n fast: '0.5s',\r\n};\r\n\r\nexport function getTechAnimation(animation: TechIconAnimation, duration: string): React.ReactNode {\r\n switch (animation) {\r\n case 'pulse':\r\n return (\r\n <animate attributeName=\"opacity\" values=\"1;0.6;1\" dur={duration} repeatCount=\"indefinite\" />\r\n );\r\n case 'grow':\r\n return (\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"scale\"\r\n values=\"1;1.1;1\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n );\r\n case 'shake':\r\n return (\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"translate\"\r\n values=\"0 0;-1 0;1 0;0 0\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n );\r\n case 'spin':\r\n return (\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"rotate\"\r\n values=\"0 12 12;360 12 12\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n );\r\n case 'bounce':\r\n return (\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"translate\"\r\n values=\"0 0;0 -2;0 0\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n );\r\n case 'fade':\r\n return (\r\n <animate attributeName=\"opacity\" values=\"1;0;1\" dur={duration} repeatCount=\"indefinite\" />\r\n );\r\n case 'flip':\r\n return (\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"scale\"\r\n values=\"1 1;-1 1;1 1\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n );\r\n case 'slide':\r\n return (\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"translate\"\r\n values=\"-2 0;2 0;-2 0\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n );\r\n case 'glow':\r\n return (\r\n <>\r\n <animate\r\n attributeName=\"opacity\"\r\n values=\"1;0.7;1\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n <animate\r\n attributeName=\"filter\"\r\n values=\"drop-shadow(0 0 0px currentColor);drop-shadow(0 0 3px currentColor);drop-shadow(0 0 0px currentColor)\"\r\n dur={duration}\r\n repeatCount=\"indefinite\"\r\n />\r\n </>\r\n );\r\n case 'none':\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\n/* ─── Icon Factory ─── */\r\n\r\nexport function createTechIcon(\r\n renderIcon: (props: TechIconProps) => React.ReactNode,\r\n options: CreateTechIconOptions,\r\n) {\r\n const {\r\n displayName,\r\n viewBox = '0 0 24 24',\r\n defaultSize = 24,\r\n defaultColor = 'currentColor',\r\n defaultAccentColor,\r\n defaultVariant = 'filled',\r\n } = options;\r\n\r\n const Icon = forwardRef<SVGSVGElement, TechIconProps>((props, ref) => {\r\n const {\r\n size = defaultSize,\r\n color = defaultColor,\r\n accentColor = defaultAccentColor,\r\n animation = 'none',\r\n animationDuration = 'normal',\r\n animate = true,\r\n title,\r\n className,\r\n style,\r\n strokeWidth = 2,\r\n variant = defaultVariant,\r\n ...svgProps\r\n } = props;\r\n\r\n const computedSize = typeof size === 'number' ? `${size}px` : size;\r\n const duration = DURATION_MAP[animationDuration];\r\n\r\n const animationElement =\r\n animate && animation !== 'none' ? getTechAnimation(animation, duration) : null;\r\n\r\n return (\r\n <svg\r\n ref={ref}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox={viewBox}\r\n width={computedSize}\r\n height={computedSize}\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={variant === 'outlined' ? color : 'none'}\r\n strokeWidth={variant === 'outlined' ? strokeWidth : 0}\r\n className={className}\r\n style={\r\n {\r\n ...style,\r\n color,\r\n '--accent-color': accentColor || color,\r\n } as React.CSSProperties\r\n }\r\n role=\"img\"\r\n aria-label={title}\r\n aria-hidden={!title}\r\n {...svgProps}\r\n >\r\n {title && <title>{title}</title>}\r\n <g>\r\n {renderIcon({ color, accentColor, variant, strokeWidth, ...props })}\r\n {animationElement}\r\n </g>\r\n </svg>\r\n );\r\n });\r\n\r\n Icon.displayName = displayName;\r\n return Icon;\r\n}\r\n\r\n/* ─── Default exports ─── */\r\nexport const iconDefaults = {\r\n size: 24,\r\n color: 'currentColor',\r\n variant: 'filled' as const,\r\n animation: 'none' as const,\r\n animationDuration: 'normal' as const,\r\n};\r\n","/**\r\n * @file devtools.tsx\r\n * @description Developer tools and coding icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ─── Terminal Icon ─── */\r\nexport const TerminalIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 15l3-3-3-3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M13 15h4\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TerminalIcon' },\r\n);\r\n\r\n/* ─── Code Icon ─── */\r\nexport const CodeIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M16 18l6-6-6-6\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M8 6l-6 6 6 6\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CodeIcon' },\r\n);\r\n\r\n/* ─── Git Branch Icon ─── */\r\nexport const GitBranchIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"6\"\r\n cy=\"6\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"18\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"6\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M6 9v6M18 15V9c0-3-2-3-6-3H6\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'GitBranchIcon' },\r\n);\r\n\r\n/* ─── Git Commit Icon ─── */\r\nexport const GitCommitIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path d=\"M1.05 12H8M16 12h6.95\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'GitCommitIcon' },\r\n);\r\n\r\n/* ─── Git Merge Icon ─── */\r\nexport const GitMergeIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"7\"\r\n cy=\"7\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"7\"\r\n cy=\"17\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"17\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 10v4M14 12H7c0-2.5 2-5 7-5\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'GitMergeIcon' },\r\n);\r\n\r\n/* ─── Bug Icon ─── */\r\nexport const BugIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path d=\"M8 8V5a4 4 0 118 0v3\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"14\"\r\n rx=\"6\"\r\n ry=\"7\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M3 10l3 2M21 10l-3 2M3 18l3-2M21 18l-3-2\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M12 8v4M9 12h6\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BugIcon' },\r\n);\r\n\r\n/* ─── Debug Icon ─── */\r\nexport const DebugIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 8v8M8 12h8\"\r\n stroke={variant === 'filled' ? accentColor || '#fff' : color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DebugIcon' },\r\n);\r\n\r\n/* ─── Console Icon ─── */\r\nexport const ConsoleIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"20\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M6 12l3-2-3-2M11 14h4\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ConsoleIcon' },\r\n);\r\n\r\n/* ─── API Icon ─── */\r\nexport const APIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 17L9.5 7h2L14 17M8 13h4\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <circle cx=\"17\" cy=\"17\" r=\"2\" fill={accentColor || (variant === 'filled' ? '#fff' : color)} />\r\n </>\r\n ),\r\n { displayName: 'APIIcon' },\r\n);\r\n\r\n/* ─── JSON Icon ─── */\r\nexport const JSONIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M8 3H6a2 2 0 00-2 2v3c0 1.1-.9 2-2 2 1.1 0 2 .9 2 2v3a2 2 0 002 2h2\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M16 3h2a2 2 0 012 2v3c0 1.1.9 2 2 2-1.1 0-2 .9-2 2v3a2 2 0 01-2 2h-2\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'JSONIcon' },\r\n);\r\n\r\n/* ─── Regex Icon ─── */\r\nexport const RegexIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M12 4v16M4 8l8 8 8-8\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <circle\r\n cx=\"4\"\r\n cy=\"12\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"20\"\r\n cy=\"12\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'RegexIcon' },\r\n);\r\n\r\n/* ─── NPM Icon ─── */\r\nexport const NPMIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"20\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#cb3837'}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M5 16V8h4v8M11 8h2v5h2V8h2v8\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NPMIcon' },\r\n);\r\n\r\n/* ─── Package Icon ─── */\r\nexport const PackageIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M16.5 9.4l-9-5.19M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M3.27 6.96L12 12.01l8.73-5.05M12 22.08V12\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PackageIcon' },\r\n);\r\n\r\n/* ─── Build Icon ─── */\r\nexport const BuildIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M14.7 6.3a1 1 0 000 1.4l1.6 1.6a1 1 0 001.4 0l3.77-3.77a6 6 0 01-7.94 7.94l-6.91 6.91a2.12 2.12 0 01-3-3l6.91-6.91a6 6 0 017.94-7.94l-3.76 3.76z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BuildIcon' },\r\n);\r\n\r\n/* ─── Test Icon ─── */\r\nexport const TestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M9 12l2 2 4-4\"\r\n stroke={accentColor || (variant === 'filled' ? '#4ade80' : color)}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TestIcon' },\r\n);\r\n","/**\r\n * @file cloud.tsx\r\n * @description Cloud computing and serverless icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ─── Cloud Icon ─── */\r\nexport const CloudIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <path\r\n d=\"M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n ),\r\n { displayName: 'CloudIcon' },\r\n);\r\n\r\n/* ─── Cloud Upload Icon ─── */\r\nexport const CloudUploadIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 12v6M9 15l3-3 3 3\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CloudUploadIcon' },\r\n);\r\n\r\n/* ─── Cloud Download Icon ─── */\r\nexport const CloudDownloadIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 12v6M9 15l3 3 3-3\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CloudDownloadIcon' },\r\n);\r\n\r\n/* ─── Server Icon ─── */\r\nexport const ServerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"2\"\r\n width=\"20\"\r\n height=\"8\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"2\"\r\n y=\"14\"\r\n width=\"20\"\r\n height=\"8\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"6\"\r\n cy=\"6\"\r\n r=\"1\"\r\n fill={accentColor || (variant === 'filled' ? '#4ade80' : color)}\r\n />\r\n <circle\r\n cx=\"6\"\r\n cy=\"18\"\r\n r=\"1\"\r\n fill={accentColor || (variant === 'filled' ? '#4ade80' : color)}\r\n />\r\n <path\r\n d=\"M10 6h8M10 18h8\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ServerIcon' },\r\n);\r\n\r\n/* ─── Serverless Icon ─── */\r\nexport const ServerlessIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path d=\"M4 4l16 16M20 4L4 20\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M8 12h8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ServerlessIcon' },\r\n);\r\n\r\n/* ─── CDN Icon ─── */\r\nexport const CDNIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"9\"\r\n ry=\"4\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M12 3v18\" stroke={variant === 'filled' ? '#fff' : color} strokeWidth=\"1.5\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={accentColor || (variant === 'filled' ? '#fff' : color)} />\r\n </>\r\n ),\r\n { displayName: 'CDNIcon' },\r\n);\r\n\r\n/* ─── Lambda Icon ─── */\r\nexport const LambdaIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"3\"\r\n width=\"20\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#ff9900'}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 18l5-13 5 13M8.5 13h7\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'LambdaIcon' },\r\n);\r\n\r\n/* ─── S3 Bucket Icon ─── */\r\nexport const S3BucketIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M4 6c0-1.1 3.6-2 8-2s8 .9 8 2v12c0 1.1-3.6 2-8 2s-8-.9-8-2V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <ellipse cx=\"12\" cy=\"6\" rx=\"8\" ry=\"2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path\r\n d=\"M4 12c0 1.1 3.6 2 8 2s8-.9 8-2\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'S3BucketIcon' },\r\n);\r\n\r\n/* ─── Kubernetes Icon ─── */\r\nexport const KubernetesIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#326ce5'}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 6v12M6 9l6 3 6-3M6 15l6-3 6 3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'KubernetesIcon' },\r\n);\r\n\r\n/* ─── Docker Icon ─── */\r\nexport const DockerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M1 12c0-1 8-6 13-6h8c1 0 1 1 0 3s-3 4-8 4H4c-2 0-3-1-3-1z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#2496ed'}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect x=\"4\" y=\"6\" width=\"3\" height=\"3\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"8\" y=\"6\" width=\"3\" height=\"3\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"12\" y=\"6\" width=\"3\" height=\"3\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"8\" y=\"2\" width=\"3\" height=\"3\" fill={variant === 'filled' ? '#fff' : color} />\r\n </>\r\n ),\r\n { displayName: 'DockerIcon' },\r\n);\r\n\r\n/* ─── Container Icon ─── */\r\nexport const ContainerIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"4\"\r\n width=\"18\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M3 10h18M8 10v10M16 10v10\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ContainerIcon' },\r\n);\r\n\r\n/* ─── Microservice Icon ─── */\r\nexport const MicroserviceIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"15\"\r\n y=\"3\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"3\"\r\n y=\"15\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"15\"\r\n y=\"15\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M9 6h6M9 18h6M6 9v6M18 9v6\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MicroserviceIcon' },\r\n);\r\n\r\n/* ─── Load Balancer Icon ─── */\r\nexport const LoadBalancerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"4\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"5\"\r\n cy=\"20\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"19\"\r\n cy=\"20\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 7v4M12 11l-7 6M12 11l7 6\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'LoadBalancerIcon' },\r\n);\r\n\r\n/* ─── Firewall Icon ─── */\r\nexport const FirewallIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M3 9h18M3 15h18M9 3v18M15 3v18\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"2\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : '#ff4444')}\r\n />\r\n </>\r\n ),\r\n { displayName: 'FirewallIcon' },\r\n);\r\n\r\n/* ─── VPC Icon ─── */\r\nexport const VPCIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"2\"\r\n width=\"20\"\r\n height=\"20\"\r\n rx=\"2\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeDasharray=\"4 2\"\r\n />\r\n <rect\r\n x=\"5\"\r\n y=\"5\"\r\n width=\"14\"\r\n height=\"14\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M9 9h6v6H9z\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : 'none')}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'VPCIcon' },\r\n);\r\n","/**\r\n * @file infrastructure.tsx\r\n * @description DevOps and infrastructure icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ─── Database Icon ─── */\r\nexport const DatabaseIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"5\"\r\n rx=\"8\"\r\n ry=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DatabaseIcon' },\r\n);\r\n\r\n/* ─── Redis Icon ─── */\r\nexport const RedisIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M21 12l-9 5-9-5 9-5 9 5z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#dc382d'}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path d=\"M3 12v4l9 5 9-5v-4\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M3 8v4l9 5 9-5V8\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'RedisIcon' },\r\n);\r\n\r\n/* ─── Queue Icon ─── */\r\nexport const QueueIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"6\"\r\n width=\"6\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"9\"\r\n y=\"6\"\r\n width=\"6\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"16\"\r\n y=\"6\"\r\n width=\"6\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M8 12h1M15 12h1\"\r\n stroke={accentColor || (variant === 'filled' ? '#fff' : color)}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'QueueIcon' },\r\n);\r\n\r\n/* ─── Cache Icon ─── */\r\nexport const CacheIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 7v5l3 3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path d=\"M8 3h8\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'CacheIcon' },\r\n);\r\n\r\n/* ─── Cluster Icon ─── */\r\nexport const ClusterIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"6\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"6\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"18\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 9v3M12 12l-4.5 3.5M12 12l4.5 3.5\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ClusterIcon' },\r\n);\r\n\r\n/* ─── Node Icon ─── */\r\nexport const NodeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={accentColor || (variant === 'filled' ? '#fff' : color)} />\r\n <path\r\n d=\"M12 3v3M12 18v3M3 12h3M18 12h3\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NodeIcon' },\r\n);\r\n\r\n/* ─── Network Icon ─── */\r\nexport const NetworkIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"5\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"5\"\r\n cy=\"19\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"19\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"19\"\r\n cy=\"19\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path d=\"M12 8v8M5 16l7-8M19 16l-7-8\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'NetworkIcon' },\r\n);\r\n\r\n/* ─── DNS Icon ─── */\r\nexport const DNSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <text\r\n x=\"12\"\r\n y=\"16\"\r\n fontSize=\"9\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"monospace\"\r\n textAnchor=\"middle\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n @\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'DNSIcon' },\r\n);\r\n\r\n/* ─── SSL Icon ─── */\r\nexport const SSLIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"11\"\r\n width=\"18\"\r\n height=\"10\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 11V7a5 5 0 0110 0v4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"16\"\r\n r=\"2\"\r\n fill={accentColor || (variant === 'filled' ? '#4ade80' : color)}\r\n />\r\n </>\r\n ),\r\n { displayName: 'SSLIcon' },\r\n);\r\n\r\n/* ─── Monitoring Icon ─── */\r\nexport const MonitoringIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"3\"\r\n width=\"20\"\r\n height=\"14\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M6 13l3-4 3 2 4-4 2 2\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || '#4ade80'}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path d=\"M8 21h8M12 17v4\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'MonitoringIcon' },\r\n);\r\n\r\n/* ─── Logs Icon ─── */\r\nexport const LogsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 7h10M7 11h8M7 15h10\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'LogsIcon' },\r\n);\r\n\r\n/* ─── Metrics Icon ─── */\r\nexport const MetricsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"12\"\r\n width=\"4\"\r\n height=\"9\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"10\"\r\n y=\"8\"\r\n width=\"4\"\r\n height=\"13\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"17\"\r\n y=\"3\"\r\n width=\"4\"\r\n height=\"18\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MetricsIcon' },\r\n);\r\n\r\n/* ─── Backup Icon ─── */\r\nexport const BackupIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M12 3v12M7 10l5 5 5-5\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BackupIcon' },\r\n);\r\n\r\n/* ─── Disaster Recovery Icon ─── */\r\nexport const DisasterRecoveryIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M3 12a9 9 0 1018 0 9 9 0 00-18 0z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 8v4l3 3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path d=\"M1 4l3 3M20 4l3-0\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'DisasterRecoveryIcon' },\r\n);\r\n\r\n/* ─── CI/CD Icon ─── */\r\nexport const CICDIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"5\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"19\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path d=\"M8 12h8\" stroke={accentColor || color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n <path\r\n d=\"M14 9l3 3-3 3\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M5 6v-2M5 18v2M19 6v-2M19 18v2\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CICDIcon' },\r\n);\r\n","/**\r\n * @file development.tsx\r\n * @description Programming concepts and development icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ─── Variable Icon ─── */\r\nexport const VariableIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <text\r\n x=\"12\"\r\n y=\"16\"\r\n fontSize=\"12\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"monospace\"\r\n textAnchor=\"middle\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n x\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'VariableIcon' },\r\n);\r\n\r\n/* ─── Function Dev Icon ─── */\r\nexport const FunctionDevIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"20\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <text\r\n x=\"12\"\r\n y=\"16\"\r\n fontSize=\"10\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"monospace\"\r\n textAnchor=\"middle\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || '#dcdcaa'}\r\n >\r\n fn\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'FunctionDevIcon' },\r\n);\r\n\r\n/* ─── Class Icon ─── */\r\nexport const ClassIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#4ec9b0'}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <text\r\n x=\"12\"\r\n y=\"16\"\r\n fontSize=\"10\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"monospace\"\r\n textAnchor=\"middle\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n >\r\n C\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'ClassIcon' },\r\n);\r\n\r\n/* ─── Interface Icon ─── */\r\nexport const InterfaceIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeDasharray=\"4 2\"\r\n />\r\n <text\r\n x=\"12\"\r\n y=\"16\"\r\n fontSize=\"10\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"monospace\"\r\n textAnchor=\"middle\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || '#4ec9b0'}\r\n >\r\n I\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'InterfaceIcon' },\r\n);\r\n\r\n/* ─── Module Icon ─── */\r\nexport const ModuleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M3 9h18M9 9v12\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"6\" cy=\"6\" r=\"1\" fill={accentColor || (variant === 'filled' ? '#fff' : color)} />\r\n </>\r\n ),\r\n { displayName: 'ModuleIcon' },\r\n);\r\n\r\n/* ─── Component Icon ─── */\r\nexport const ComponentIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"7\"\r\n y=\"7\"\r\n width=\"4\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : color)}\r\n />\r\n <rect\r\n x=\"13\"\r\n y=\"7\"\r\n width=\"4\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : color)}\r\n />\r\n <rect\r\n x=\"7\"\r\n y=\"13\"\r\n width=\"4\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : color)}\r\n />\r\n <rect\r\n x=\"13\"\r\n y=\"13\"\r\n width=\"4\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : color)}\r\n />\r\n </>\r\n ),\r\n { displayName: 'ComponentIcon' },\r\n);\r\n\r\n/* ─── Hook Icon ─── */\r\nexport const HookIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M12 3v7c0 3-2 5-5 5a5 5 0 01-5-5\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"3\"\r\n r=\"2\"\r\n fill={accentColor || (variant === 'filled' ? color : color)}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M16 14l4-4-4-4\"\r\n stroke={variant === 'outlined' ? color : accentColor || '#61dafb'}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'HookIcon' },\r\n);\r\n\r\n/* ─── State Icon ─── */\r\nexport const StateIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : color)}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M12 3v2M12 19v2M3 12h2M19 12h2\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'StateIcon' },\r\n);\r\n\r\n/* ─── Props Icon ─── */\r\nexport const PropsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path d=\"M4 6h16M4 12h16M4 18h16\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n <circle cx=\"8\" cy=\"6\" r=\"2\" fill={accentColor || (variant === 'filled' ? color : color)} />\r\n <circle cx=\"14\" cy=\"12\" r=\"2\" fill={accentColor || (variant === 'filled' ? color : color)} />\r\n <circle cx=\"10\" cy=\"18\" r=\"2\" fill={accentColor || (variant === 'filled' ? color : color)} />\r\n </>\r\n ),\r\n { displayName: 'PropsIcon' },\r\n);\r\n\r\n/* ─── Event Icon ─── */\r\nexport const EventIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <polygon\r\n points=\"12,2 22,9 18,9 18,20 6,20 6,9 2,9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M12 10v6M12 16l-2-2M12 16l2-2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'EventIcon' },\r\n);\r\n\r\n/* ─── Async Icon ─── */\r\nexport const AsyncIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 6v6l-4 2\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path d=\"M16 8l2-2M18 10l2-1\" stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'AsyncIcon' },\r\n);\r\n\r\n/* ─── Promise Icon ─── */\r\nexport const PromiseIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"6\"\r\n width=\"18\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 12h4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M13 12l2 2 4-4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || '#4ade80'}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PromiseIcon' },\r\n);\r\n\r\n/* ─── Stream Icon ─── */\r\nexport const StreamIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M2 6c4 0 4 6 8 6s4-6 8-6 4 6 8 6\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M2 12c4 0 4 6 8 6s4-6 8-6 4 6 8 6\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M2 18c4 0 4 6 8 6s4-6 8-6 4 6 8 6\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n opacity=\"0.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'StreamIcon' },\r\n);\r\n\r\n/* ─── Type Icon ─── */\r\nexport const TypeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#3178c6'}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <text\r\n x=\"12\"\r\n y=\"16\"\r\n fontSize=\"12\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"monospace\"\r\n textAnchor=\"middle\"\r\n fill={variant === 'filled' ? '#fff' : '#fff'}\r\n >\r\n T\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'TypeIcon' },\r\n);\r\n\r\n/* ─── Enum Icon ─── */\r\nexport const EnumIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 8h10M7 12h7M7 16h10\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n <circle\r\n cx=\"17\"\r\n cy=\"12\"\r\n r=\"1.5\"\r\n fill={accentColor || (variant === 'filled' ? '#fff' : color)}\r\n />\r\n </>\r\n ),\r\n { displayName: 'EnumIcon' },\r\n);\r\n","/**\r\n * @file security.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Security, authentication, and cybersecurity icons (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Authentication Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Lock/security icon */\r\nexport const LockIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"5\"\r\n y=\"11\"\r\n width=\"14\"\r\n height=\"10\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path d=\"M8 11V7a4 4 0 118 0v4\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"12\" cy=\"16\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'LockIcon' },\r\n);\r\n\r\n/** Unlock icon */\r\nexport const UnlockIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"5\"\r\n y=\"11\"\r\n width=\"14\"\r\n height=\"10\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path d=\"M8 11V7a4 4 0 017.83-1\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"12\" cy=\"16\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'UnlockIcon' },\r\n);\r\n\r\n/** Shield icon */\r\nexport const ShieldIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M12 2l9 4v6c0 5.25-3.82 10.12-9 11-5.18-.88-9-5.75-9-11V6l9-4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ShieldIcon' },\r\n);\r\n\r\n/** Shield check icon */\r\nexport const ShieldCheckIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M12 2l9 4v6c0 5.25-3.82 10.12-9 11-5.18-.88-9-5.75-9-11V6l9-4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M9 12l2 2 4-4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ShieldCheckIcon' },\r\n);\r\n\r\n/** Key icon */\r\nexport const KeyIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"8\"\r\n cy=\"8\"\r\n r=\"5\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 12l9 9M18 18l3 3M15 21l3-3\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'KeyIcon' },\r\n);\r\n\r\n/** Fingerprint icon */\r\nexport const FingerprintIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <path d=\"M2 12a10 10 0 0110-10\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n <path d=\"M4 16a8 8 0 018-8\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n <path d=\"M6 20a6 6 0 016-6\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n <path d=\"M22 12a10 10 0 00-10 10\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n <path d=\"M20 16a8 8 0 00-8 8\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'FingerprintIcon' },\r\n);\r\n\r\n/** Two-factor auth (2FA) icon */\r\nexport const TwoFactorIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"8\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"8\"\r\n width=\"8\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <text x=\"4\" y=\"12\" fontSize=\"6\" fill={variant === 'filled' ? '#fff' : color}>\r\n 2\r\n </text>\r\n <text x=\"16\" y=\"16\" fontSize=\"6\" fill={variant === 'filled' ? '#fff' : color}>\r\n FA\r\n </text>\r\n <path d=\"M10 10L14 10\" stroke={color} strokeWidth=\"1.5\" strokeDasharray=\"2 1\" />\r\n </>\r\n ),\r\n { displayName: 'TwoFactorIcon' },\r\n);\r\n\r\n/** OAuth icon */\r\nexport const OAuthIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"4\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n <path d=\"M12 4v4M12 16v4M4 12h4M16 12h4\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'OAuthIcon' },\r\n);\r\n\r\n/** JWT Token icon */\r\nexport const JWTIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect x=\"3\" y=\"6\" width=\"18\" height=\"4\" fill={color} opacity=\"0.6\" />\r\n <rect x=\"3\" y=\"10\" width=\"18\" height=\"4\" fill={accentColor || color} opacity=\"0.4\" />\r\n <rect x=\"3\" y=\"14\" width=\"18\" height=\"4\" fill={color} opacity=\"0.6\" />\r\n <rect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'JWTIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Encryption Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Encryption icon */\r\nexport const EncryptionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path\r\n d=\"M8 8l2 2-2 2M8 14l2-2-2-2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M14 8l2 2-2 2M14 14l2-2-2-2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'EncryptionIcon' },\r\n);\r\n\r\n/** SSL/TLS Certificate icon */\r\nexport const CertificateIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <circle cx=\"12\" cy=\"10\" r=\"3\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n <path\r\n d=\"M12 13v5M10 20l2-2 2 2\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n <line\r\n x1=\"6\"\r\n y1=\"6\"\r\n x2=\"10\"\r\n y2=\"6\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"0.5\"\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CertificateIcon' },\r\n);\r\n\r\n/** Hash icon */\r\nexport const HashIcon = createTechIcon(\r\n ({ color, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M4 9h16M4 15h16M10 3v18M14 3v18\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'HashIcon' },\r\n);\r\n\r\n/** Private key icon */\r\nexport const PrivateKeyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"8\"\r\n cy=\"8\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill={accentColor || color} />\r\n <path d=\"M11 11l9 9\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M17 14l3 3-3 3\" stroke={color} strokeWidth=\"2\" fill=\"none\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'PrivateKeyIcon' },\r\n);\r\n\r\n/** Public key icon */\r\nexport const PublicKeyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle cx=\"8\" cy=\"8\" r=\"4\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill={color} />\r\n <path d=\"M11 11l9 9\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"18\" cy=\"18\" r=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'PublicKeyIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Threat Protection Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Malware icon */\r\nexport const MalwareIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <text\r\n x=\"7\"\r\n y=\"16\"\r\n fontSize=\"10\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || '#a00'}\r\n >\r\n !\r\n </text>\r\n <path d=\"M5 5l14 14M5 19L19 5\" stroke={accentColor || '#a00'} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'MalwareIcon' },\r\n);\r\n\r\n/** Virus icon */\r\nexport const VirusIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"5\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M12 3v4M12 17v4M3 12h4M17 12h4M6.34 6.34l2.83 2.83M14.83 14.83l2.83 2.83M6.34 17.66l2.83-2.83M14.83 9.17l2.83-2.83\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'VirusIcon' },\r\n);\r\n\r\n/** Phishing icon */\r\nexport const PhishingIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hook shape */}\r\n <path d=\"M12 2v10\" stroke={color} strokeWidth=\"2\" />\r\n <path\r\n d=\"M8 16c0 2.21 1.79 4 4 4s4-1.79 4-4-4-4-4-4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Fish */}\r\n <path\r\n d=\"M4 18c2-2 3-1 4 0s2 2 4 0\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PhishingIcon' },\r\n);\r\n\r\n/** DDoS attack icon */\r\nexport const DDoSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Server/target */}\r\n <rect\r\n x=\"9\"\r\n y=\"9\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Attack arrows */}\r\n <path\r\n d=\"M2 4l5 5M22 4l-5 5M2 20l5-5M22 20l-5-5\"\r\n stroke={accentColor || '#a00'}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n <circle cx=\"2\" cy=\"4\" r=\"1.5\" fill={accentColor || '#a00'} />\r\n <circle cx=\"22\" cy=\"4\" r=\"1.5\" fill={accentColor || '#a00'} />\r\n <circle cx=\"2\" cy=\"20\" r=\"1.5\" fill={accentColor || '#a00'} />\r\n <circle cx=\"22\" cy=\"20\" r=\"1.5\" fill={accentColor || '#a00'} />\r\n </>\r\n ),\r\n { displayName: 'DDoSIcon' },\r\n);\r\n\r\n/** Firewall icon */\r\nexport const FirewallSecIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"3\"\r\n y=\"3\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Brick pattern */}\r\n <line\r\n x1=\"3\"\r\n y1=\"9\"\r\n x2=\"21\"\r\n y2=\"9\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n <line\r\n x1=\"3\"\r\n y1=\"15\"\r\n x2=\"21\"\r\n y2=\"15\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"3\"\r\n x2=\"8\"\r\n y2=\"9\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n <line\r\n x1=\"16\"\r\n y1=\"3\"\r\n x2=\"16\"\r\n y2=\"9\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n <line\r\n x1=\"12\"\r\n y1=\"9\"\r\n x2=\"12\"\r\n y2=\"15\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"15\"\r\n x2=\"8\"\r\n y2=\"21\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n <line\r\n x1=\"16\"\r\n y1=\"15\"\r\n x2=\"16\"\r\n y2=\"21\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'FirewallSecIcon' },\r\n);\r\n\r\n/** Intrusion detection icon */\r\nexport const IntrusionDetectionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle cx=\"12\" cy=\"12\" r=\"9\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"5\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"1\" fill={accentColor || '#a00'} />\r\n <path d=\"M12 3v4M12 17v4M3 12h4M17 12h4\" stroke={color} strokeWidth=\"1\" />\r\n <path d=\"M18 6l-3 3\" stroke={accentColor || '#a00'} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'IntrusionDetectionIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Access Control Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Role-based access icon */\r\nexport const RBACIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Users */}\r\n <circle cx=\"6\" cy=\"6\" r=\"2\" fill={color} />\r\n <circle cx=\"12\" cy=\"6\" r=\"2\" fill={color} />\r\n <circle cx=\"18\" cy=\"6\" r=\"2\" fill={color} />\r\n {/* Roles */}\r\n <rect x=\"4\" y=\"12\" width=\"4\" height=\"4\" rx=\"0.5\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"10\" y=\"12\" width=\"4\" height=\"4\" rx=\"0.5\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"16\" y=\"12\" width=\"4\" height=\"4\" rx=\"0.5\" fill={accentColor || color} opacity=\"0.6\" />\r\n {/* Connections */}\r\n <path d=\"M6 8v4M12 8v4M18 8v4\" stroke={color} strokeWidth=\"1\" />\r\n {/* Permissions */}\r\n <rect x=\"8\" y=\"18\" width=\"8\" height=\"3\" rx=\"0.5\" fill={color} opacity=\"0.4\" />\r\n <path d=\"M10 16v2M14 16v2\" stroke={color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'RBACIcon' },\r\n);\r\n\r\n/** Permission icon */\r\nexport const PermissionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeDasharray=\"2 1\"\r\n />\r\n <path d=\"M16 16l4 4M20 16l-4 4\" stroke={accentColor || '#a00'} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'PermissionIcon' },\r\n);\r\n\r\n/** Session icon */\r\nexport const SessionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"8\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path d=\"M4 20v-2a8 8 0 0116 0v2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"18\" cy=\"16\" r=\"3\" fill={accentColor || '#0a0'} />\r\n <path d=\"M17 16l1 1 2-2\" stroke=\"#fff\" strokeWidth=\"1\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'SessionIcon' },\r\n);\r\n\r\n/** Audit log icon */\r\nexport const AuditLogIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"8\"\r\n x2=\"16\"\r\n y2=\"8\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"11\"\r\n x2=\"16\"\r\n y2=\"11\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"14\"\r\n x2=\"14\"\r\n y2=\"14\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"17\"\r\n x2=\"12\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* Magnifier */}\r\n <circle\r\n cx=\"18\"\r\n cy=\"18\"\r\n r=\"4\"\r\n fill={accentColor || '#fff'}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M20 20l2 2\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'AuditLogIcon' },\r\n);\r\n\r\n/** VPN icon */\r\nexport const VPNIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M12 2l9 4v6c0 5.25-3.82 10.12-9 11-5.18-.88-9-5.75-9-11V6l9-4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <text\r\n x=\"7\"\r\n y=\"15\"\r\n fontSize=\"7\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n VPN\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'VPNIcon' },\r\n);\r\n\r\n/** Zero trust icon */\r\nexport const ZeroTrustIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle cx=\"12\" cy=\"12\" r=\"9\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <text x=\"6\" y=\"16\" fontSize=\"10\" fontWeight=\"bold\" fill={color}>\r\n 0\r\n </text>\r\n <path d=\"M14 8l4 4-4 4\" stroke={accentColor || color} strokeWidth=\"2\" fill=\"none\" />\r\n <line x1=\"8\" y1=\"12\" x2=\"18\" y2=\"12\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'ZeroTrustIcon' },\r\n);\r\n\r\n/** Secret manager icon */\r\nexport const SecretManagerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path d=\"M8 8V6a4 4 0 118 0v2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <text x=\"8\" y=\"16\" fontSize=\"6\" fill={variant === 'filled' ? '#fff' : accentColor || color}>\r\n ***\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'SecretManagerIcon' },\r\n);\r\n\r\n// Export type for security icon names\r\nexport type SecurityIconName =\r\n | 'Lock'\r\n | 'Unlock'\r\n | 'Shield'\r\n | 'ShieldCheck'\r\n | 'Key'\r\n | 'Fingerprint'\r\n | 'TwoFactor'\r\n | 'OAuth'\r\n | 'JWT'\r\n | 'Encryption'\r\n | 'Certificate'\r\n | 'Hash'\r\n | 'PrivateKey'\r\n | 'PublicKey'\r\n | 'Malware'\r\n | 'Virus'\r\n | 'Phishing'\r\n | 'DDoS'\r\n | 'FirewallSec'\r\n | 'IntrusionDetection'\r\n | 'RBAC'\r\n | 'Permission'\r\n | 'Session'\r\n | 'AuditLog'\r\n | 'VPN'\r\n | 'ZeroTrust'\r\n | 'SecretManager';\r\n","/**\r\n * @file ai-ml.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description AI, Machine Learning, and Data Science icons (~35 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Neural Networks & Deep Learning\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Neural network icon */\r\nexport const NeuralNetworkIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Input layer */}\r\n <circle cx=\"4\" cy=\"6\" r=\"2\" fill={color} />\r\n <circle cx=\"4\" cy=\"12\" r=\"2\" fill={color} />\r\n <circle cx=\"4\" cy=\"18\" r=\"2\" fill={color} />\r\n {/* Hidden layer */}\r\n <circle cx=\"12\" cy=\"4\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"12\" cy=\"10\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"12\" cy=\"16\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"12\" cy=\"22\" r=\"2\" fill={accentColor || color} />\r\n {/* Output layer */}\r\n <circle cx=\"20\" cy=\"9\" r=\"2\" fill={color} />\r\n <circle cx=\"20\" cy=\"15\" r=\"2\" fill={color} />\r\n {/* Connections (simplified) */}\r\n <path\r\n d=\"M6 6l4-1M6 6l4 3M6 6l4 9M6 12l4-7M6 12l4-1M6 12l4 3M6 12l4 9M6 18l4-13M6 18l4-7M6 18l4-2M6 18l4 3M14 4l4 4M14 10l4-2M14 10l4 4M14 16l4-8M14 16l4-2M14 22l4-14M14 22l4-8\"\r\n stroke={color}\r\n strokeWidth=\"0.5\"\r\n opacity=\"0.4\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NeuralNetworkIcon' },\r\n);\r\n\r\n/** Deep learning icon */\r\nexport const DeepLearningIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Multiple layers representation */}\r\n <rect x=\"2\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\" fill={color} opacity=\"0.4\" />\r\n <rect x=\"7\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\" fill={color} opacity=\"0.5\" />\r\n <rect x=\"12\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"17\" y=\"4\" width=\"4\" height=\"16\" rx=\"1\" fill={color} opacity=\"0.7\" />\r\n {/* Connections */}\r\n <path d=\"M6 8h1M11 10h1M16 12h1\" stroke={color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'DeepLearningIcon' },\r\n);\r\n\r\n/** Transformer/Attention icon */\r\nexport const TransformerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Attention arrows */}\r\n <path\r\n d=\"M10 7h4M10 17h4M7 10v4M17 10v4\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n markerEnd=\"url(#arrow)\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TransformerIcon' },\r\n);\r\n\r\n/** CNN icon */\r\nexport const CNNIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Convolutional filter representation */}\r\n <rect x=\"2\" y=\"6\" width=\"8\" height=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <rect x=\"4\" y=\"8\" width=\"3\" height=\"3\" fill={accentColor || color} opacity=\"0.6\" />\r\n {/* Feature maps */}\r\n <rect x=\"12\" y=\"4\" width=\"4\" height=\"4\" fill={color} opacity=\"0.4\" />\r\n <rect x=\"17\" y=\"4\" width=\"4\" height=\"4\" fill={color} opacity=\"0.5\" />\r\n <rect x=\"12\" y=\"9\" width=\"4\" height=\"4\" fill={color} opacity=\"0.5\" />\r\n <rect x=\"17\" y=\"9\" width=\"4\" height=\"4\" fill={color} opacity=\"0.6\" />\r\n {/* Arrow */}\r\n <path d=\"M10 10h2\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Output */}\r\n <rect x=\"14\" y=\"16\" width=\"6\" height=\"4\" fill={accentColor || color} rx=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'CNNIcon' },\r\n);\r\n\r\n/** RNN/LSTM icon */\r\nexport const RNNIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Recurrent cells */}\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Recurrent connection */}\r\n <path d=\"M10 11h4M7 8V4h10v4\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <path d=\"M7 14v4M17 14v4\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'RNNIcon' },\r\n);\r\n\r\n/** GAN icon */\r\nexport const GANIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Generator */}\r\n <rect\r\n x=\"2\"\r\n y=\"10\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <text x=\"3\" y=\"15\" fontSize=\"5\" fill={variant === 'filled' ? '#fff' : color}>\r\n G\r\n </text>\r\n {/* Discriminator */}\r\n <rect\r\n x=\"16\"\r\n y=\"10\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n <text x=\"17\" y=\"15\" fontSize=\"5\" fill={variant === 'filled' ? '#fff' : color}>\r\n D\r\n </text>\r\n {/* Flow */}\r\n <path d=\"M8 13h3M13 13h3\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Generated image */}\r\n <rect x=\"10\" y=\"8\" width=\"4\" height=\"4\" fill={color} opacity=\"0.4\" />\r\n {/* Feedback */}\r\n <path d=\"M12 16v3h-6v-6\" fill=\"none\" stroke={color} strokeWidth=\"1\" strokeDasharray=\"2 1\" />\r\n </>\r\n ),\r\n { displayName: 'GANIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Machine Learning Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Decision tree icon */\r\nexport const DecisionTreeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Root */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"4\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Branches */}\r\n <path d=\"M12 7v3l-6 4M12 10l6 4\" stroke={color} strokeWidth=\"2\" />\r\n {/* Leaf nodes */}\r\n <rect x=\"3\" y=\"15\" width=\"4\" height=\"4\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"10\" y=\"17\" width=\"4\" height=\"4\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"18\" y=\"15\" width=\"4\" height=\"4\" fill={accentColor || color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'DecisionTreeIcon' },\r\n);\r\n\r\n/** Random forest icon */\r\nexport const RandomForestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Multiple trees */}\r\n <path d=\"M6 12L6 8L4 10L6 6L8 10L6 8\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n <rect x=\"5\" y=\"12\" width=\"2\" height=\"4\" fill={color} />\r\n <path\r\n d=\"M12 10L12 6L10 8L12 4L14 8L12 6\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n <rect x=\"11\" y=\"10\" width=\"2\" height=\"6\" fill={accentColor || color} />\r\n <path d=\"M18 12L18 8L16 10L18 6L20 10L18 8\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n <rect x=\"17\" y=\"12\" width=\"2\" height=\"4\" fill={color} />\r\n {/* Ground */}\r\n <path d=\"M2 18h20\" stroke={color} strokeWidth=\"1\" opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'RandomForestIcon' },\r\n);\r\n\r\n/** Clustering icon */\r\nexport const ClusteringIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Cluster 1 */}\r\n <circle cx=\"6\" cy=\"8\" r=\"1.5\" fill={color} />\r\n <circle cx=\"8\" cy=\"6\" r=\"1.5\" fill={color} />\r\n <circle cx=\"5\" cy=\"5\" r=\"1.5\" fill={color} />\r\n <circle cx=\"7\" cy=\"9\" r=\"1\" fill={color} opacity=\"0.7\" />\r\n {/* Cluster 2 */}\r\n <circle cx=\"17\" cy=\"7\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"19\" cy=\"9\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"18\" cy=\"5\" r=\"1\" fill={accentColor || color} opacity=\"0.7\" />\r\n {/* Cluster 3 */}\r\n <circle cx=\"12\" cy=\"16\" r=\"1.5\" fill={color} />\r\n <circle cx=\"14\" cy=\"18\" r=\"1.5\" fill={color} />\r\n <circle cx=\"10\" cy=\"18\" r=\"1.5\" fill={color} />\r\n <circle cx=\"12\" cy=\"19\" r=\"1\" fill={color} opacity=\"0.7\" />\r\n </>\r\n ),\r\n { displayName: 'ClusteringIcon' },\r\n);\r\n\r\n/** Regression icon */\r\nexport const RegressionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Axes */}\r\n <path d=\"M4 20V4M4 20h16\" stroke={color} strokeWidth=\"2\" />\r\n {/* Data points */}\r\n <circle cx=\"6\" cy=\"16\" r=\"1.5\" fill={color} />\r\n <circle cx=\"9\" cy=\"14\" r=\"1.5\" fill={color} />\r\n <circle cx=\"12\" cy=\"11\" r=\"1.5\" fill={color} />\r\n <circle cx=\"15\" cy=\"9\" r=\"1.5\" fill={color} />\r\n <circle cx=\"18\" cy=\"6\" r=\"1.5\" fill={color} />\r\n {/* Regression line */}\r\n <path d=\"M5 17l14-12\" stroke={accentColor || color} strokeWidth=\"2\" strokeDasharray=\"4 2\" />\r\n </>\r\n ),\r\n { displayName: 'RegressionIcon' },\r\n);\r\n\r\n/** Classification icon */\r\nexport const ClassificationIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Grid/decision boundary */}\r\n <path\r\n d=\"M12 2v20M2 12h20\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeDasharray=\"2 2\"\r\n opacity=\"0.5\"\r\n />\r\n {/* Class A (circles) */}\r\n <circle cx=\"6\" cy=\"6\" r=\"2\" fill={color} />\r\n <circle cx=\"8\" cy=\"9\" r=\"2\" fill={color} />\r\n <circle cx=\"5\" cy=\"10\" r=\"1.5\" fill={color} opacity=\"0.7\" />\r\n {/* Class B (squares) */}\r\n <rect x=\"15\" y=\"15\" width=\"3\" height=\"3\" fill={accentColor || color} />\r\n <rect x=\"17\" y=\"18\" width=\"3\" height=\"3\" fill={accentColor || color} />\r\n <rect x=\"14\" y=\"17\" width=\"2\" height=\"2\" fill={accentColor || color} opacity=\"0.7\" />\r\n </>\r\n ),\r\n { displayName: 'ClassificationIcon' },\r\n);\r\n\r\n/** K-means icon */\r\nexport const KMeansIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Centroids */}\r\n <circle cx=\"6\" cy=\"8\" r=\"2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"18\" cy=\"8\" r=\"2\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n <circle cx=\"12\" cy=\"18\" r=\"2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Data points around centroids */}\r\n <circle cx=\"4\" cy=\"6\" r=\"1\" fill={color} />\r\n <circle cx=\"8\" cy=\"10\" r=\"1\" fill={color} />\r\n <circle cx=\"16\" cy=\"6\" r=\"1\" fill={accentColor || color} />\r\n <circle cx=\"20\" cy=\"10\" r=\"1\" fill={accentColor || color} />\r\n <circle cx=\"10\" cy=\"17\" r=\"1\" fill={color} />\r\n <circle cx=\"14\" cy=\"19\" r=\"1\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'KMeansIcon' },\r\n);\r\n\r\n/** SVM icon */\r\nexport const SVMIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hyperplane */}\r\n <path d=\"M20 4L4 20\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n {/* Margins */}\r\n <path\r\n d=\"M22 6L6 22M18 2L2 18\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeDasharray=\"2 2\"\r\n opacity=\"0.5\"\r\n />\r\n {/* Support vectors */}\r\n <circle cx=\"6\" cy=\"14\" r=\"2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"14\" cy=\"6\" r=\"2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Other points */}\r\n <circle cx=\"4\" cy=\"8\" r=\"1.5\" fill={color} />\r\n <circle cx=\"8\" cy=\"18\" r=\"1.5\" fill={color} />\r\n <circle cx=\"18\" cy=\"4\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"16\" cy=\"10\" r=\"1.5\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'SVMIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n AI Applications Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** AI Brain icon */\r\nexport const AIBrainIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Brain outline */}\r\n <path\r\n d=\"M12 4Q6 4 5 9Q4 13 6 15Q5 17 6 19Q8 22 12 22Q16 22 18 19Q19 17 18 15Q20 13 19 9Q18 4 12 4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Circuit patterns */}\r\n <circle cx=\"9\" cy=\"10\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"15\" cy=\"10\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"12\" cy=\"14\" r=\"1.5\" fill={accentColor || color} />\r\n <path\r\n d=\"M9 10h6M12 10v4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'AIBrainIcon' },\r\n);\r\n\r\n/** Chatbot icon */\r\nexport const ChatbotIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Robot face */}\r\n <circle cx=\"9\" cy=\"10\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"15\" cy=\"10\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n {/* Antenna */}\r\n <path d=\"M12 4V2M10 2h4\" stroke={color} strokeWidth=\"2\" />\r\n {/* Chat bubble */}\r\n <path d=\"M8 16l4 4 4-4\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'ChatbotIcon' },\r\n);\r\n\r\n/** LLM icon */\r\nexport const LLMIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Document/text representation */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Text lines becoming AI */}\r\n <line\r\n x1=\"6\"\r\n y1=\"7\"\r\n x2=\"14\"\r\n y2=\"7\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"6\"\r\n y1=\"10\"\r\n x2=\"18\"\r\n y2=\"10\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"6\"\r\n y1=\"13\"\r\n x2=\"16\"\r\n y2=\"13\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* AI symbol */}\r\n <circle cx=\"16\" cy=\"16\" r=\"3\" fill={accentColor || color} />\r\n <text x=\"14\" y=\"18\" fontSize=\"4\" fontWeight=\"bold\" fill=\"#fff\">\r\n AI\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'LLMIcon' },\r\n);\r\n\r\n/** Computer vision icon */\r\nexport const ComputerVisionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Camera/eye */}\r\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={accentColor || color} />\r\n {/* Detection brackets */}\r\n <path\r\n d=\"M4 8V4h4M20 8V4h-4M4 16v4h4M20 16v4h-4\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ComputerVisionIcon' },\r\n);\r\n\r\n/** NLP icon */\r\nexport const NLPIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Speech bubble */}\r\n <path\r\n d=\"M4 4h16v12H8l-4 4v-4H4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Text with highlights */}\r\n <line\r\n x1=\"7\"\r\n y1=\"8\"\r\n x2=\"17\"\r\n y2=\"8\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <rect x=\"7\" y=\"11\" width=\"4\" height=\"2\" fill={accentColor || color} opacity=\"0.7\" />\r\n <line\r\n x1=\"12\"\r\n y1=\"12\"\r\n x2=\"17\"\r\n y2=\"12\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NLPIcon' },\r\n);\r\n\r\n/** Model training icon */\r\nexport const ModelTrainingIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Data going in */}\r\n <rect x=\"2\" y=\"8\" width=\"4\" height=\"8\" fill={color} opacity=\"0.5\" />\r\n {/* Model box */}\r\n <rect\r\n x=\"8\"\r\n y=\"6\"\r\n width=\"8\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Gear/training symbol */}\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"1\" fill={accentColor || color} />\r\n {/* Output */}\r\n <rect x=\"18\" y=\"10\" width=\"4\" height=\"4\" fill={accentColor || color} />\r\n {/* Arrows */}\r\n <path d=\"M6 12h2M16 12h2\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'ModelTrainingIcon' },\r\n);\r\n\r\n/** Inference icon */\r\nexport const InferenceIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Input */}\r\n <circle cx=\"6\" cy=\"12\" r=\"3\" fill={color} opacity=\"0.5\" />\r\n {/* Model */}\r\n <rect\r\n x=\"11\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Arrow */}\r\n <path d=\"M9 12h2M17 12h3\" stroke={color} strokeWidth=\"2\" />\r\n {/* Output/prediction */}\r\n <path d=\"M20 12l-2-2v4z\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'InferenceIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Data Science Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Dataset icon */\r\nexport const DatasetIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Table representation */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Header row */}\r\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"4\" fill={accentColor || color} opacity=\"0.5\" />\r\n {/* Grid lines */}\r\n <path\r\n d=\"M4 8h16M4 12h16M4 16h16M10 4v16M16 4v16\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"0.5\"\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DatasetIcon' },\r\n);\r\n\r\n/** Feature engineering icon */\r\nexport const FeatureEngineeringIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Raw data */}\r\n <rect x=\"2\" y=\"8\" width=\"6\" height=\"8\" fill={color} opacity=\"0.4\" />\r\n {/* Transformation */}\r\n <path d=\"M8 12h3l2-4l2 8l2-4h3\" stroke={accentColor || color} strokeWidth=\"2\" fill=\"none\" />\r\n {/* Feature output */}\r\n <rect x=\"16\" y=\"8\" width=\"6\" height=\"8\" fill={accentColor || color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'FeatureEngineeringIcon' },\r\n);\r\n\r\n/** Hyperparameter tuning icon */\r\nexport const HyperparameterIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Sliders */}\r\n <path d=\"M4 6h16\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"8\" cy=\"6\" r=\"2\" fill={accentColor || color} />\r\n <path d=\"M4 12h16\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"14\" cy=\"12\" r=\"2\" fill={accentColor || color} />\r\n <path d=\"M4 18h16\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"10\" cy=\"18\" r=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'HyperparameterIcon' },\r\n);\r\n\r\n/** Cross-validation icon */\r\nexport const CrossValidationIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Folds */}\r\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"3\" fill={accentColor || color} />\r\n <rect x=\"4\" y=\"8\" width=\"16\" height=\"3\" fill={color} opacity=\"0.7\" />\r\n <rect x=\"4\" y=\"12\" width=\"16\" height=\"3\" fill={color} opacity=\"0.5\" />\r\n <rect x=\"4\" y=\"16\" width=\"16\" height=\"3\" fill={color} opacity=\"0.3\" />\r\n {/* Rotation arrow */}\r\n <path d=\"M22 10c0-4-3-7-7-7M15 1l2 2-2 2\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'CrossValidationIcon' },\r\n);\r\n\r\n/** Embedding icon */\r\nexport const EmbeddingIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* High-dimensional to low-dimensional */}\r\n <circle cx=\"6\" cy=\"6\" r=\"1.5\" fill={color} />\r\n <circle cx=\"6\" cy=\"12\" r=\"1.5\" fill={color} />\r\n <circle cx=\"6\" cy=\"18\" r=\"1.5\" fill={color} />\r\n {/* Arrow */}\r\n <path d=\"M8 12h6\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M14 12l-2-2v4z\" fill={color} />\r\n {/* Embedded space */}\r\n <circle cx=\"18\" cy=\"10\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"18\" cy=\"14\" r=\"1.5\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'EmbeddingIcon' },\r\n);\r\n\r\n/** Tensor icon */\r\nexport const TensorIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* 3D cube representation */}\r\n <path\r\n d=\"M4 8l8-4 8 4v8l-8 4-8-4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path\r\n d=\"M4 8l8 4 8-4M12 12v8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TensorIcon' },\r\n);\r\n\r\n/** GPU/TPU icon */\r\nexport const GPUIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"6\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Cores grid */}\r\n <rect x=\"6\" y=\"8\" width=\"3\" height=\"3\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"10\" y=\"8\" width=\"3\" height=\"3\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"14\" y=\"8\" width=\"4\" height=\"3\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"6\" y=\"12\" width=\"3\" height=\"3\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"10\" y=\"12\" width=\"3\" height=\"3\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"14\" y=\"12\" width=\"4\" height=\"3\" fill={accentColor || color} opacity=\"0.6\" />\r\n {/* Fan */}\r\n <circle cx=\"19\" cy=\"11\" r=\"0.5\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'GPUIcon' },\r\n);\r\n\r\n// Export type for AI/ML icon names\r\nexport type AIMLIconName =\r\n | 'NeuralNetwork'\r\n | 'DeepLearning'\r\n | 'Transformer'\r\n | 'CNN'\r\n | 'RNN'\r\n | 'GAN'\r\n | 'DecisionTree'\r\n | 'RandomForest'\r\n | 'Clustering'\r\n | 'Regression'\r\n | 'Classification'\r\n | 'KMeans'\r\n | 'SVM'\r\n | 'AIBrain'\r\n | 'Chatbot'\r\n | 'LLM'\r\n | 'ComputerVision'\r\n | 'NLP'\r\n | 'ModelTraining'\r\n | 'Inference'\r\n | 'Dataset'\r\n | 'FeatureEngineering'\r\n | 'Hyperparameter'\r\n | 'CrossValidation'\r\n | 'Embedding'\r\n | 'Tensor'\r\n | 'GPU';\r\n","/**\r\n * @file frameworks.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Popular frameworks and libraries icons (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Frontend Frameworks\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** React icon */\r\nexport const ReactIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Atom-like structure */}\r\n <circle cx=\"12\" cy=\"12\" r=\"2.5\" fill={accentColor || color} />\r\n <ellipse cx=\"12\" cy=\"12\" rx=\"9\" ry=\"4\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"9\"\r\n ry=\"4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n transform=\"rotate(60 12 12)\"\r\n />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"9\"\r\n ry=\"4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n transform=\"rotate(120 12 12)\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ReactIcon' },\r\n);\r\n\r\n/** Angular icon */\r\nexport const AngularIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Shield shape */}\r\n <path\r\n d=\"M12 2L3 6v5c0 5 3.5 9.5 9 11 5.5-1.5 9-6 9-11V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* A letter */}\r\n <path\r\n d=\"M12 7l4 10h-2l-.8-2H10.8l-.8 2H8z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n <path d=\"M11 12h2\" stroke={variant === 'filled' ? '#fff' : color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'AngularIcon' },\r\n);\r\n\r\n/** Vue icon */\r\nexport const VueIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Outer V */}\r\n <path\r\n d=\"M2 4h4l6 10 6-10h4L12 22z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Inner V */}\r\n <path d=\"M6 4l6 10 6-10\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'VueIcon' },\r\n);\r\n\r\n/** Svelte icon */\r\nexport const SvelteIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* S-shaped flame */}\r\n <path\r\n d=\"M17 4C13 2 9 4 8 7c-1 2 0 5 3 6l4 2c2 1 3 3 2 5-1 2-4 3-7 2\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M7 20c4 2 8 0 9-3 1-2 0-5-3-6l-4-2c-2-1-3-3-2-5 1-2 4-3 7-2\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SvelteIcon' },\r\n);\r\n\r\n/** Next.js icon */\r\nexport const NextJSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* N shape */}\r\n <path\r\n d=\"M8 16V8l8 10V8\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NextJSIcon' },\r\n);\r\n\r\n/** Nuxt icon */\r\nexport const NuxtIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Mountains */}\r\n <path\r\n d=\"M12 6l7 12H5z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <path\r\n d=\"M16 10l5 8H11z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NuxtIcon' },\r\n);\r\n\r\n/** Gatsby icon */\r\nexport const GatsbyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* G shape */}\r\n <path\r\n d=\"M5 12h7v4c-3 0-6-1-7-4v4c2 3 6 4 10 2 2-1 4-4 4-7s-2-6-5-7l-2 2c2 0 4 2 4 5 0 2-1 4-3 5h-4v-4h3l1-3H9c-2 0-4 2-4 4z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'GatsbyIcon' },\r\n);\r\n\r\n/** Solid icon */\r\nexport const SolidJSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* S shape with sharp edges */}\r\n <path d=\"M6 8c0-2 2-4 6-4 3 0 5 1 6 3l-6 3-6-2z\" fill={accentColor || color} opacity=\"0.7\" />\r\n <path d=\"M6 16c0 2 2 4 6 4 3 0 5-1 6-3l-6-3-6 2z\" fill={color} opacity=\"0.9\" />\r\n <path d=\"M18 8l-6 4 6 4\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'SolidJSIcon' },\r\n);\r\n\r\n/** Astro icon */\r\nexport const AstroIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Rocket/spaceship shape */}\r\n <path\r\n d=\"M12 2c-2 4-4 8-4 14h2c0-2 1-4 2-5 1 1 2 3 2 5h2c0-6-2-10-4-14z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Stars */}\r\n <circle cx=\"6\" cy=\"8\" r=\"1\" fill={accentColor || color} />\r\n <circle cx=\"18\" cy=\"10\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"4\" cy=\"14\" r=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'AstroIcon' },\r\n);\r\n\r\n/** Remix icon */\r\nexport const RemixIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* R shape */}\r\n <path\r\n d=\"M8 16V8h4c2 0 3 1 3 3s-1 2-2 2l3 3h-3l-2-3H11v3z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'RemixIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Backend Frameworks\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Node.js icon */\r\nexport const NodeJSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hexagonal shape */}\r\n <path\r\n d=\"M12 2l8 4v8l-8 4-8-4V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* JS text */}\r\n <text\r\n x=\"7\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n JS\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'NodeJSIcon' },\r\n);\r\n\r\n/** Express icon */\r\nexport const ExpressIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"6\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* e letter */}\r\n <path\r\n d=\"M8 12h6c0-2-1-3-3-3s-3 1-3 3 1 3 3 3c1 0 2-.5 2.5-1\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ExpressIcon' },\r\n);\r\n\r\n/** FastAPI icon */\r\nexport const FastAPIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Lightning bolt */}\r\n <path\r\n d=\"M13 4l-4 8h3l-1 8 5-10h-4z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'FastAPIIcon' },\r\n);\r\n\r\n/** Django icon */\r\nexport const DjangoIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* D letter */}\r\n <path\r\n d=\"M9 8v8h2c3 0 5-1.5 5-4s-2-4-5-4z\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DjangoIcon' },\r\n);\r\n\r\n/** Flask icon */\r\nexport const FlaskIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Flask shape */}\r\n <path\r\n d=\"M9 4h6v4l4 10c0 2-3 4-7 4s-7-2-7-4l4-10V4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Liquid */}\r\n <path d=\"M6 14h12\" stroke={accentColor || color} strokeWidth=\"1\" />\r\n <ellipse cx=\"12\" cy=\"16\" rx=\"5\" ry=\"2\" fill={accentColor || color} opacity=\"0.4\" />\r\n </>\r\n ),\r\n { displayName: 'FlaskIcon' },\r\n);\r\n\r\n/** Spring icon */\r\nexport const SpringIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Leaf shape */}\r\n <path\r\n d=\"M6 16c2-4 6-8 12-10-2 6-6 10-10 12z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n <path\r\n d=\"M6 16c4-2 8-6 10-12\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? color : '#fff'}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SpringIcon' },\r\n);\r\n\r\n/** .NET icon */\r\nexport const DotNetIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* .NET text */}\r\n <circle cx=\"7\" cy=\"15\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <text\r\n x=\"9\"\r\n y=\"16\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n NET\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'DotNetIcon' },\r\n);\r\n\r\n/** Laravel icon */\r\nexport const LaravelIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* L shape stylized */}\r\n <path\r\n d=\"M4 4v14h8M4 18l5-6 4 4 7-10\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <circle cx=\"18\" cy=\"8\" r=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'LaravelIcon' },\r\n);\r\n\r\n/** Rails icon */\r\nexport const RailsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Rails/tracks */}\r\n <rect\r\n x=\"6\"\r\n y=\"8\"\r\n width=\"12\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path d=\"M4 20h16M6 16v4M18 16v4\" stroke={color} strokeWidth=\"2\" />\r\n {/* Wheels */}\r\n <circle cx=\"8\" cy=\"20\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"16\" cy=\"20\" r=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'RailsIcon' },\r\n);\r\n\r\n/** Go/Gin icon */\r\nexport const GoIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Go text */}\r\n <text\r\n x=\"6\"\r\n y=\"15\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n Go\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'GoIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n CSS & UI Frameworks\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Tailwind CSS icon */\r\nexport const TailwindIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Wave pattern */}\r\n <path\r\n d=\"M6 12c1-4 4-4 6-2 2 2 5 2 6-2\"\r\n stroke={color}\r\n strokeWidth=\"2.5\"\r\n fill=\"none\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M6 16c1-4 4-4 6-2 2 2 5 2 6-2\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2.5\"\r\n fill=\"none\"\r\n strokeLinecap=\"round\"\r\n opacity=\"0.7\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TailwindIcon' },\r\n);\r\n\r\n/** Bootstrap icon */\r\nexport const BootstrapIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* B letter */}\r\n <path\r\n d=\"M9 8h4c1.5 0 2.5 1 2.5 2s-1 2-2 2h-1c1.5 0 3 1 3 2.5S14 17 12 17H9z\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BootstrapIcon' },\r\n);\r\n\r\n/** Material UI icon */\r\nexport const MaterialUIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* M shape */}\r\n <path d=\"M4 4l8 14 8-14v16\" fill=\"none\" stroke={color} strokeWidth=\"2\" opacity=\"0.8\" />\r\n <path\r\n d=\"M4 4l8 8 8-8\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MaterialUIIcon' },\r\n);\r\n\r\n/** Chakra UI icon */\r\nexport const ChakraUIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Chakra symbol */}\r\n <path d=\"M12 6v4l4 2-8 4 4-10z\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'ChakraUIIcon' },\r\n);\r\n\r\n/** Ant Design icon */\r\nexport const AntDesignIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* A shape */}\r\n <path\r\n d=\"M12 4l8 16H4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path\r\n d=\"M8 14h8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Dot */}\r\n <circle cx=\"12\" cy=\"11\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'AntDesignIcon' },\r\n);\r\n\r\n/** Styled Components icon */\r\nexport const StyledComponentsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Nail polish style */}\r\n <ellipse cx=\"12\" cy=\"8\" rx=\"4\" ry=\"3\" fill={accentColor || color} />\r\n <rect\r\n x=\"10\"\r\n y=\"10\"\r\n width=\"4\"\r\n height=\"10\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Drip */}\r\n <path d=\"M10 14c-2 1-2 4 0 4s2-3 0-4\" fill={accentColor || color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'StyledComponentsIcon' },\r\n);\r\n\r\n// Export type for framework icon names\r\nexport type FrameworkIconName =\r\n | 'React'\r\n | 'Angular'\r\n | 'Vue'\r\n | 'Svelte'\r\n | 'NextJS'\r\n | 'Nuxt'\r\n | 'Gatsby'\r\n | 'SolidJS'\r\n | 'Astro'\r\n | 'Remix'\r\n | 'NodeJS'\r\n | 'Express'\r\n | 'FastAPI'\r\n | 'Django'\r\n | 'Flask'\r\n | 'Spring'\r\n | 'DotNet'\r\n | 'Laravel'\r\n | 'Rails'\r\n | 'Go'\r\n | 'Tailwind'\r\n | 'Bootstrap'\r\n | 'MaterialUI'\r\n | 'ChakraUI'\r\n | 'AntDesign'\r\n | 'StyledComponents';\r\n","/**\r\n * @file web.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Web development, frontend, and backend icons (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Frontend Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** HTML5 icon */\r\nexport const HTML5Icon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M4 2l1.5 18L12 22l6.5-2L20 2z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M16 6H8l.5 4h7l-.5 5-3 1-3-1-.25-2\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'HTML5Icon' },\r\n);\r\n\r\n/** CSS3 icon */\r\nexport const CSS3Icon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M4 2l1.5 18L12 22l6.5-2L20 2z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M16 6H8l.25 2.5h7l-.5 5-2.75.8-2.75-.8-.2-2\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CSS3Icon' },\r\n);\r\n\r\n/** JavaScript icon */\r\nexport const JavaScriptIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"8\"\r\n y=\"16\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n JS\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'JavaScriptIcon' },\r\n);\r\n\r\n/** TypeScript icon */\r\nexport const TypeScriptIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"7\"\r\n y=\"16\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n TS\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'TypeScriptIcon' },\r\n);\r\n\r\n/** Responsive design icon */\r\nexport const ResponsiveIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Desktop */}\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"10\"\r\n height=\"7\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <path d=\"M5 11v2h4v-2\" stroke={color} strokeWidth=\"1\" />\r\n {/* Tablet */}\r\n <rect\r\n x=\"13\"\r\n y=\"6\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Mobile */}\r\n <rect\r\n x=\"8\"\r\n y=\"15\"\r\n width=\"5\"\r\n height=\"7\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <circle cx=\"10.5\" cy=\"20\" r=\"0.5\" fill={variant === 'filled' ? '#fff' : color} />\r\n </>\r\n ),\r\n { displayName: 'ResponsiveIcon' },\r\n);\r\n\r\n/** DOM icon */\r\nexport const DOMIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Tree structure */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"4\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M12 7v3M12 10L6 14M12 10l6 4\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle\r\n cx=\"6\"\r\n cy=\"16\"\r\n r=\"2.5\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"18\"\r\n cy=\"16\"\r\n r=\"2.5\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M6 18.5v2M18 18.5v2\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle cx=\"4\" cy=\"22\" r=\"1.5\" fill={color} />\r\n <circle cx=\"8\" cy=\"22\" r=\"1.5\" fill={color} />\r\n <circle cx=\"16\" cy=\"22\" r=\"1.5\" fill={color} />\r\n <circle cx=\"20\" cy=\"22\" r=\"1.5\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'DOMIcon' },\r\n);\r\n\r\n/** Component icon */\r\nexport const ComponentIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Inner component boxes */}\r\n <rect x=\"6\" y=\"6\" width=\"5\" height=\"5\" fill={accentColor || color} opacity=\"0.5\" />\r\n <rect x=\"13\" y=\"6\" width=\"5\" height=\"5\" fill={accentColor || color} opacity=\"0.5\" />\r\n <rect x=\"6\" y=\"13\" width=\"12\" height=\"5\" fill={accentColor || color} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'ComponentIcon' },\r\n);\r\n\r\n/** State management icon */\r\nexport const StateIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Central store */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"5\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* State symbol */}\r\n <text\r\n x=\"9\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n S\r\n </text>\r\n {/* Connections */}\r\n <path\r\n d=\"M12 7V3M12 17v4M7 12H3M17 12h4M8 8L5 5M16 8l3-3M8 16l-3 3M16 16l3 3\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'StateIcon' },\r\n);\r\n\r\n/** CSS Grid icon */\r\nexport const CSSGridIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M4 10h16M4 16h16M10 4v16M16 4v16\" stroke={color} strokeWidth=\"1\" />\r\n <rect x=\"4\" y=\"4\" width=\"6\" height=\"6\" fill={accentColor || color} opacity=\"0.4\" />\r\n <rect x=\"10\" y=\"10\" width=\"6\" height=\"6\" fill={accentColor || color} opacity=\"0.4\" />\r\n </>\r\n ),\r\n { displayName: 'CSSGridIcon' },\r\n);\r\n\r\n/** Flexbox icon */\r\nexport const FlexboxIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect x=\"4\" y=\"6\" width=\"16\" height=\"12\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Flex items */}\r\n <rect x=\"6\" y=\"8\" width=\"3\" height=\"8\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"10\" y=\"10\" width=\"3\" height=\"4\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"14\" y=\"8\" width=\"4\" height=\"8\" fill={accentColor || color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'FlexboxIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Backend Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Server icon */\r\nexport const ServerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"2\"\r\n width=\"16\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"9\"\r\n width=\"16\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"16\"\r\n width=\"16\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Status lights */}\r\n <circle cx=\"7\" cy=\"5\" r=\"1\" fill={accentColor || '#22c55e'} />\r\n <circle cx=\"7\" cy=\"12\" r=\"1\" fill={accentColor || '#22c55e'} />\r\n <circle cx=\"7\" cy=\"19\" r=\"1\" fill={accentColor || '#22c55e'} />\r\n </>\r\n ),\r\n { displayName: 'ServerIcon' },\r\n);\r\n\r\n/** REST API icon */\r\nexport const RestAPIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* HTTP methods */}\r\n <text\r\n x=\"6\"\r\n y=\"10\"\r\n fontSize=\"4\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : '#22c55e'}\r\n >\r\n GET\r\n </text>\r\n <text\r\n x=\"6\"\r\n y=\"15\"\r\n fontSize=\"4\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : '#3b82f6'}\r\n >\r\n POST\r\n </text>\r\n {/* Arrow */}\r\n <path d=\"M14 12h4\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <path d=\"M18 12l-2-2v4z\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'RestAPIIcon' },\r\n);\r\n\r\n/** GraphQL icon */\r\nexport const GraphQLIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hexagonal shape */}\r\n <path\r\n d=\"M12 2l8 4v8l-8 4-8-4V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Inner nodes */}\r\n <circle cx=\"12\" cy=\"8\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"8\" cy=\"14\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"16\" cy=\"14\" r=\"2\" fill={accentColor || color} />\r\n {/* Connections */}\r\n <path\r\n d=\"M12 8l-4 6M12 8l4 6M8 14h8\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'GraphQLIcon' },\r\n);\r\n\r\n/** WebSocket icon */\r\nexport const WebSocketIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Bidirectional arrows */}\r\n <rect\r\n x=\"2\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"16\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Arrows */}\r\n <path d=\"M8 10h8M8 14h8\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <path\r\n d=\"M14 8l2 2-2 2M10 16l-2-2 2-2\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'WebSocketIcon' },\r\n);\r\n\r\n/** Middleware icon */\r\nexport const MiddlewareIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Pipeline */}\r\n <circle cx=\"4\" cy=\"12\" r=\"3\" fill={color} opacity=\"0.5\" />\r\n <rect\r\n x=\"9\"\r\n y=\"9\"\r\n width=\"6\"\r\n height=\"6\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"20\" cy=\"12\" r=\"3\" fill={color} opacity=\"0.5\" />\r\n {/* Arrows */}\r\n <path d=\"M7 12h2M15 12h2\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'MiddlewareIcon' },\r\n);\r\n\r\n/** Authentication icon */\r\nexport const AuthIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"8\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path\r\n d=\"M4 20v-2c0-3 3-5 8-5s8 2 8 5v2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.6\"\r\n />\r\n {/* Checkmark badge */}\r\n <circle cx=\"17\" cy=\"7\" r=\"4\" fill={accentColor || '#22c55e'} />\r\n <path d=\"M15 7l1.5 1.5 3-3\" fill=\"none\" stroke=\"#fff\" strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'AuthIcon' },\r\n);\r\n\r\n/** Session icon */\r\nexport const SessionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Session ID representation */}\r\n <path\r\n d=\"M8 8h8M8 12h6M8 16h4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Clock */}\r\n <circle cx=\"18\" cy=\"18\" r=\"4\" fill={accentColor || color} />\r\n <path d=\"M18 16v2h2\" stroke=\"#fff\" strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'SessionIcon' },\r\n);\r\n\r\n/** Cookie icon */\r\nexport const CookieIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Chocolate chips */}\r\n <circle cx=\"9\" cy=\"9\" r=\"1.5\" fill={accentColor || color} opacity=\"0.6\" />\r\n <circle cx=\"14\" cy=\"8\" r=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <circle cx=\"8\" cy=\"14\" r=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill={accentColor || color} opacity=\"0.6\" />\r\n <circle cx=\"15\" cy=\"16\" r=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'CookieIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Web Performance & Tools\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Performance/Lighthouse icon */\r\nexport const PerformanceIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle cx=\"12\" cy=\"12\" r=\"9\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Score segments */}\r\n <path\r\n d=\"M12 3a9 9 0 0 1 0 18\"\r\n fill=\"none\"\r\n stroke={accentColor || '#22c55e'}\r\n strokeWidth=\"3\"\r\n />\r\n {/* Needle */}\r\n <path d=\"M12 12l4-6\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'PerformanceIcon' },\r\n);\r\n\r\n/** PWA icon */\r\nexport const PWAIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone outline */}\r\n <rect\r\n x=\"6\"\r\n y=\"2\"\r\n width=\"12\"\r\n height=\"20\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* App badge */}\r\n <rect x=\"9\" y=\"7\" width=\"6\" height=\"6\" rx=\"1\" fill={accentColor || color} />\r\n {/* Install arrow */}\r\n <path\r\n d=\"M12 14v4M10 16l2 2 2-2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PWAIcon' },\r\n);\r\n\r\n/** Cache icon */\r\nexport const CacheIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Stacked boxes */}\r\n <rect\r\n x=\"4\"\r\n y=\"14\"\r\n width=\"16\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"6\"\r\n y=\"10\"\r\n width=\"12\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.6\"\r\n />\r\n <rect\r\n x=\"8\"\r\n y=\"6\"\r\n width=\"8\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.4\"\r\n />\r\n {/* Lightning bolt for speed */}\r\n <path d=\"M12 9l-2 3h4l-2 4\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'CacheIcon' },\r\n);\r\n\r\n/** CDN icon */\r\nexport const CDNIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Globe */}\r\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"3\"\r\n ry=\"8\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n <path d=\"M4 12h16\" stroke={color} strokeWidth=\"1\" opacity=\"0.6\" />\r\n {/* Distribution nodes */}\r\n <circle cx=\"6\" cy=\"6\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"18\" cy=\"6\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"12\" cy=\"18\" r=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'CDNIcon' },\r\n);\r\n\r\n/** SEO icon */\r\nexport const SEOIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Search magnifier */}\r\n <circle cx=\"10\" cy=\"10\" r=\"6\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M14 14l6 6\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n {/* Chart going up */}\r\n <path d=\"M6 12l3-4 2 2 3-4\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'SEOIcon' },\r\n);\r\n\r\n/** Accessibility icon */\r\nexport const AccessibilityIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Person icon */}\r\n <circle cx=\"12\" cy=\"8\" r=\"2\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <path\r\n d=\"M12 10v4M12 14l-3 4M12 14l3 4M8 12h8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'AccessibilityIcon' },\r\n);\r\n\r\n/** Bundle icon */\r\nexport const BundleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Package */}\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Ribbon */}\r\n <path d=\"M12 4l-4 4h8z\" fill={accentColor || color} />\r\n <path\r\n d=\"M12 4v16\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BundleIcon' },\r\n);\r\n\r\n/** Minify icon */\r\nexport const MinifyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Large block shrinking */}\r\n <rect x=\"2\" y=\"6\" width=\"8\" height=\"12\" fill={color} opacity=\"0.3\" />\r\n <path d=\"M10 12h4\" stroke={color} strokeWidth=\"1.5\" />\r\n <path d=\"M12 10l2 2-2 2\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Small result */}\r\n <rect x=\"16\" y=\"9\" width=\"4\" height=\"6\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'MinifyIcon' },\r\n);\r\n\r\n/** SSR (Server Side Rendering) icon */\r\nexport const SSRIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Server */}\r\n <rect\r\n x=\"2\"\r\n y=\"6\"\r\n width=\"8\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <circle cx=\"5\" cy=\"9\" r=\"1\" fill={accentColor || '#22c55e'} />\r\n {/* Arrow */}\r\n <path d=\"M10 12h4\" stroke={color} strokeWidth=\"1.5\" />\r\n <path d=\"M14 12l-2-2v4z\" fill={color} />\r\n {/* Browser */}\r\n <rect\r\n x=\"14\"\r\n y=\"6\"\r\n width=\"8\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <path d=\"M14 10h8\" stroke={color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'SSRIcon' },\r\n);\r\n\r\n/** Static Site icon */\r\nexport const StaticSiteIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Stack of pages */}\r\n <rect\r\n x=\"8\"\r\n y=\"2\"\r\n width=\"12\"\r\n height=\"14\"\r\n rx=\"1\"\r\n fill={color}\r\n opacity=\"0.3\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n />\r\n <rect\r\n x=\"6\"\r\n y=\"4\"\r\n width=\"12\"\r\n height=\"14\"\r\n rx=\"1\"\r\n fill={color}\r\n opacity=\"0.5\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"6\"\r\n width=\"12\"\r\n height=\"14\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Content lines */}\r\n <path\r\n d=\"M6 10h8M6 13h6M6 16h4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'StaticSiteIcon' },\r\n);\r\n\r\n// Export type for web icon names\r\nexport type WebIconName =\r\n | 'HTML5'\r\n | 'CSS3'\r\n | 'JavaScript'\r\n | 'TypeScript'\r\n | 'Responsive'\r\n | 'DOM'\r\n | 'Component'\r\n | 'State'\r\n | 'CSSGrid'\r\n | 'Flexbox'\r\n | 'Server'\r\n | 'RestAPI'\r\n | 'GraphQL'\r\n | 'WebSocket'\r\n | 'Middleware'\r\n | 'Auth'\r\n | 'Session'\r\n | 'Cookie'\r\n | 'Performance'\r\n | 'PWA'\r\n | 'Cache'\r\n | 'CDN'\r\n | 'SEO'\r\n | 'Accessibility'\r\n | 'Bundle'\r\n | 'Minify'\r\n | 'SSR'\r\n | 'StaticSite';\r\n","/**\r\n * @file mobile.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Mobile development icons - iOS, Android, cross-platform (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Mobile Platforms\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** iOS/Apple icon */\r\nexport const iOSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Apple shape */}\r\n <path\r\n d=\"M18 16c0 3-2 5-5 5-1 0-1-.5-1-.5s0 .5-1 .5c-3 0-5-2-5-5 0-4 3-6 4-6 0 0 1 .5 2 .5s2-.5 2-.5c1 0 4 2 4 6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Leaf */}\r\n <path d=\"M13 3c2 0 3 2 3 3-2 0-3-2-3-3z\" fill={accentColor || color} />\r\n {/* Stem */}\r\n <path d=\"M12 3v3\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'iOSIcon' },\r\n);\r\n\r\n/** Android icon */\r\nexport const AndroidIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Head */}\r\n <path\r\n d=\"M4 11a8 5 0 0 1 16 0\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Eyes */}\r\n <circle cx=\"8\" cy=\"9\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"16\" cy=\"9\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n {/* Antenna */}\r\n <path d=\"M7 4l2 3M17 4l-2 3\" stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" />\r\n {/* Body */}\r\n <rect\r\n x=\"4\"\r\n y=\"11\"\r\n width=\"16\"\r\n height=\"9\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Arms */}\r\n <rect x=\"1\" y=\"12\" width=\"2\" height=\"6\" rx=\"1\" fill={color} />\r\n <rect x=\"21\" y=\"12\" width=\"2\" height=\"6\" rx=\"1\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'AndroidIcon' },\r\n);\r\n\r\n/** Swift icon */\r\nexport const SwiftIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Swift bird shape */}\r\n <path\r\n d=\"M17 7c-3 3-7 5-10 4 2-1 4-3 5-5 0 2 1 4 3 5-2-2-3-5-2-7 3 3 6 4 8 3-1 0-3 0-4 0z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'SwiftIcon' },\r\n);\r\n\r\n/** Kotlin icon */\r\nexport const KotlinIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* K shape gradient representation */}\r\n <polygon\r\n points=\"4,4 20,4 12,12 20,20 4,20\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n <polygon points=\"4,4 12,12 4,20\" fill={accentColor || color} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'KotlinIcon' },\r\n);\r\n\r\n/** Flutter icon */\r\nexport const FlutterIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Flutter bird/diamond shapes */}\r\n <path d=\"M14 2L4 12l4 4 10-10z\" fill={color} opacity=\"0.9\" />\r\n <path d=\"M14 12L4 22l4-4 10 0z\" fill={accentColor || color} opacity=\"0.8\" />\r\n <path d=\"M8 16l6-4-6 10z\" fill={color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'FlutterIcon' },\r\n);\r\n\r\n/** React Native icon */\r\nexport const ReactNativeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone outline */}\r\n <rect\r\n x=\"6\"\r\n y=\"2\"\r\n width=\"12\"\r\n height=\"20\"\r\n rx=\"2\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.5\"\r\n />\r\n {/* React atom inside */}\r\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill={accentColor || color} />\r\n <ellipse cx=\"12\" cy=\"12\" rx=\"6\" ry=\"2.5\" fill=\"none\" stroke={color} strokeWidth=\"1\" />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"6\"\r\n ry=\"2.5\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n transform=\"rotate(60 12 12)\"\r\n />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"6\"\r\n ry=\"2.5\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n transform=\"rotate(120 12 12)\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ReactNativeIcon' },\r\n);\r\n\r\n/** Xamarin icon */\r\nexport const XamarinIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hexagon */}\r\n <path\r\n d=\"M12 2l8 4v8l-8 4-8-4V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* X shape */}\r\n <path\r\n d=\"M8 8l8 8M16 8l-8 8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'XamarinIcon' },\r\n);\r\n\r\n/** Ionic icon */\r\nexport const IonicIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* i shape */}\r\n <circle cx=\"12\" cy=\"8\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <rect\r\n x=\"10\"\r\n y=\"11\"\r\n width=\"4\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'IonicIcon' },\r\n);\r\n\r\n/** Capacitor icon */\r\nexport const CapacitorIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Lightning bolt in circle */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M13 5l-4 7h3l-1 7 5-8h-4z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'CapacitorIcon' },\r\n);\r\n\r\n/** Cordova icon */\r\nexport const CordovaIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Robot/tool shape */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"10\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M9 16h6M10 13v3M14 13v3\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CordovaIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Mobile UI & Features\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Smartphone icon */\r\nexport const SmartphoneIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"6\"\r\n y=\"2\"\r\n width=\"12\"\r\n height=\"20\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Screen */}\r\n <rect\r\n x=\"8\"\r\n y=\"5\"\r\n width=\"8\"\r\n height=\"12\"\r\n fill={variant === 'filled' ? 'rgba(255,255,255,0.2)' : accentColor || color}\r\n opacity=\"0.2\"\r\n />\r\n {/* Home button */}\r\n <circle cx=\"12\" cy=\"19\" r=\"1\" fill={variant === 'filled' ? '#fff' : color} />\r\n </>\r\n ),\r\n { displayName: 'SmartphoneIcon' },\r\n);\r\n\r\n/** Tablet icon */\r\nexport const TabletIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Screen */}\r\n <rect\r\n x=\"6\"\r\n y=\"6\"\r\n width=\"12\"\r\n height=\"10\"\r\n fill={variant === 'filled' ? 'rgba(255,255,255,0.2)' : accentColor || color}\r\n opacity=\"0.2\"\r\n />\r\n {/* Home button */}\r\n <circle cx=\"12\" cy=\"18\" r=\"1\" fill={variant === 'filled' ? '#fff' : color} />\r\n </>\r\n ),\r\n { displayName: 'TabletIcon' },\r\n);\r\n\r\n/** Smartwatch icon */\r\nexport const SmartwatchIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Band top */}\r\n <path d=\"M9 4h6v3H9z\" fill={color} opacity=\"0.6\" />\r\n {/* Watch body */}\r\n <rect\r\n x=\"7\"\r\n y=\"7\"\r\n width=\"10\"\r\n height=\"10\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Screen */}\r\n <rect\r\n x=\"9\"\r\n y=\"9\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'filled' ? 'rgba(255,255,255,0.2)' : accentColor || color}\r\n opacity=\"0.3\"\r\n />\r\n {/* Band bottom */}\r\n <path d=\"M9 17h6v3H9z\" fill={color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'SmartwatchIcon' },\r\n);\r\n\r\n/** App Store icon */\r\nexport const AppStoreIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* A shape */}\r\n <path\r\n d=\"M12 8l4 8h-2l-.5-1h-3l-.5 1H8z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n <path d=\"M10.5 13h3\" stroke={variant === 'filled' ? color : '#fff'} strokeWidth=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'AppStoreIcon' },\r\n);\r\n\r\n/** Play Store icon */\r\nexport const PlayStoreIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Play triangle with segments */}\r\n <path\r\n d=\"M6 4l12 8-12 8z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n <path d=\"M6 4l8 8-8 8\" fill={accentColor || color} opacity=\"0.5\" />\r\n <path d=\"M14 12l-8 8 12-8z\" fill={accentColor || color} opacity=\"0.3\" />\r\n </>\r\n ),\r\n { displayName: 'PlayStoreIcon' },\r\n);\r\n\r\n/** Push notification icon */\r\nexport const PushNotificationIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone */}\r\n <rect\r\n x=\"6\"\r\n y=\"4\"\r\n width=\"12\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* Notification bubble */}\r\n <circle cx=\"17\" cy=\"7\" r=\"4\" fill={accentColor || '#ef4444'} />\r\n <text x=\"15\" y=\"9\" fontSize=\"5\" fill=\"#fff\" fontWeight=\"bold\">\r\n !\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'PushNotificationIcon' },\r\n);\r\n\r\n/** Mobile gestures icon */\r\nexport const GesturesIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hand with finger */}\r\n <path\r\n d=\"M12 18v-8c0-1-1-2-2-2s-2 1-2 2v5l-1-2c-.5-1-2-1-2.5 0s0 2 .5 3l3 4h8v-6c0-1-1-2-2-2s-2 1-2 2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Swipe arrows */}\r\n <path\r\n d=\"M18 6h-4M18 6l-2-2M18 6l-2 2\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'GesturesIcon' },\r\n);\r\n\r\n/** Touch ID icon */\r\nexport const TouchIDIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Fingerprint */}\r\n <path d=\"M12 6c-3 0-6 2-6 6s3 6 6 6\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <path d=\"M12 8c-2 0-4 1.5-4 4s2 4 4 4\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <path\r\n d=\"M12 10c-1 0-2 .8-2 2s1 2 2 2\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M12 6c3 0 6 2 6 6s-3 6-6 6\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <path d=\"M12 8c2 0 4 1.5 4 4s-2 4-4 4\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'TouchIDIcon' },\r\n);\r\n\r\n/** Face ID icon */\r\nexport const FaceIDIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Face outline corners */}\r\n <path\r\n d=\"M4 8V4h4M20 8V4h-4M4 16v4h4M20 16v4h-4\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n {/* Face elements */}\r\n <circle cx=\"9\" cy=\"10\" r=\"1\" fill={accentColor || color} />\r\n <circle cx=\"15\" cy=\"10\" r=\"1\" fill={accentColor || color} />\r\n <path\r\n d=\"M9 15c1.5 1 4.5 1 6 0\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'FaceIDIcon' },\r\n);\r\n\r\n/** Mobile payment icon */\r\nexport const MobilePaymentIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"10\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Contactless waves */}\r\n <path\r\n d=\"M16 8c2 1 3 3 3 4s-1 3-3 4M18 10c1 .5 2 1.5 2 2s-1 1.5-2 2\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MobilePaymentIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Mobile Development Tools & Concepts\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Deep linking icon */\r\nexport const DeepLinkingIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"10\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Link chain */}\r\n <path\r\n d=\"M16 10l2-2c1-1 3-1 4 0s1 3 0 4l-2 2M18 14l-4-4\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DeepLinkingIcon' },\r\n);\r\n\r\n/** Offline mode icon */\r\nexport const OfflineModeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone */}\r\n <rect\r\n x=\"6\"\r\n y=\"2\"\r\n width=\"12\"\r\n height=\"20\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* No signal */}\r\n <path\r\n d=\"M9 9l6 6M15 9l-6 6\"\r\n stroke={accentColor || '#ef4444'}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'OfflineModeIcon' },\r\n);\r\n\r\n/** App icon placeholder */\r\nexport const AppIconIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Generic app symbol */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"10\"\r\n r=\"3\"\r\n fill={variant === 'filled' ? 'rgba(255,255,255,0.3)' : accentColor || color}\r\n opacity=\"0.6\"\r\n />\r\n <path\r\n d=\"M8 16h8\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'AppIconIcon' },\r\n);\r\n\r\n/** App analytics icon */\r\nexport const AppAnalyticsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone */}\r\n <rect\r\n x=\"4\"\r\n y=\"2\"\r\n width=\"10\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* Chart */}\r\n <path\r\n d=\"M16 8v10M19 12v6M22 6v12\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'AppAnalyticsIcon' },\r\n);\r\n\r\n/** Responsive layout icon */\r\nexport const ResponsiveLayoutIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Desktop */}\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n {/* Tablet */}\r\n <rect\r\n x=\"11\"\r\n y=\"5\"\r\n width=\"5\"\r\n height=\"7\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Phone */}\r\n <rect\r\n x=\"17\"\r\n y=\"6\"\r\n width=\"4\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n {/* Arrows */}\r\n <path\r\n d=\"M6 14l-2 2 2 2M12 14v4M18 14l2 2-2 2\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ResponsiveLayoutIcon' },\r\n);\r\n\r\n/** In-app purchase icon */\r\nexport const InAppPurchaseIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Phone */}\r\n <rect\r\n x=\"4\"\r\n y=\"2\"\r\n width=\"12\"\r\n height=\"18\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Dollar sign */}\r\n <text\r\n x=\"8\"\r\n y=\"14\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n $\r\n </text>\r\n {/* Cart badge */}\r\n <circle cx=\"17\" cy=\"6\" r=\"4\" fill={accentColor || '#22c55e'} />\r\n <path d=\"M15 6h4M17 4v4\" stroke=\"#fff\" strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'InAppPurchaseIcon' },\r\n);\r\n\r\n/** SDK icon */\r\nexport const SDKIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* SDK text */}\r\n <text\r\n x=\"5\"\r\n y=\"15\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n SDK\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'SDKIcon' },\r\n);\r\n\r\n/** Emulator icon */\r\nexport const EmulatorIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Screen/monitor */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Phone inside */}\r\n <rect\r\n x=\"9\"\r\n y=\"6\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* Stand */}\r\n <path d=\"M8 16v4h8v-4\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'EmulatorIcon' },\r\n);\r\n\r\n/** Simulator icon */\r\nexport const SimulatorIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Desktop with iOS device */}\r\n <rect\r\n x=\"2\"\r\n y=\"2\"\r\n width=\"14\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* iPhone inside */}\r\n <rect\r\n x=\"5\"\r\n y=\"4\"\r\n width=\"8\"\r\n height=\"8\"\r\n rx=\"2\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* Xcode-like toolbar */}\r\n <rect x=\"16\" y=\"4\" width=\"6\" height=\"8\" rx=\"1\" fill={color} opacity=\"0.4\" />\r\n <path d=\"M17 6h4M17 9h4\" stroke=\"#fff\" strokeWidth=\"1\" opacity=\"0.6\" />\r\n {/* Stand */}\r\n <path d=\"M6 14v4h6v-4\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'SimulatorIcon' },\r\n);\r\n\r\n/** APK icon */\r\nexport const APKIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Package box */}\r\n <path\r\n d=\"M12 2L4 6v6c0 5 3 9 8 10 5-1 8-5 8-10V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Android robot face */}\r\n <circle cx=\"10\" cy=\"11\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"14\" cy=\"11\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <path\r\n d=\"M9 8l1 1.5M15 8l-1 1.5\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'APKIcon' },\r\n);\r\n\r\n/** IPA icon */\r\nexport const IPAIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Package box */}\r\n <path\r\n d=\"M12 2L4 6v6c0 5 3 9 8 10 5-1 8-5 8-10V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Apple logo simplified */}\r\n <path\r\n d=\"M12 8c-1 0-2 1-2 2 0 2 1 3 2 4 1-1 2-2 2-4 0-1-1-2-2-2z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n <path\r\n d=\"M12 7c.5-1 1.5-1 1.5-1\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'IPAIcon' },\r\n);\r\n\r\n// Export type for mobile icon names\r\nexport type MobileIconName =\r\n | 'iOS'\r\n | 'Android'\r\n | 'Swift'\r\n | 'Kotlin'\r\n | 'Flutter'\r\n | 'ReactNative'\r\n | 'Xamarin'\r\n | 'Ionic'\r\n | 'Capacitor'\r\n | 'Cordova'\r\n | 'Smartphone'\r\n | 'Tablet'\r\n | 'Smartwatch'\r\n | 'AppStore'\r\n | 'PlayStore'\r\n | 'PushNotification'\r\n | 'Gestures'\r\n | 'TouchID'\r\n | 'FaceID'\r\n | 'MobilePayment'\r\n | 'DeepLinking'\r\n | 'OfflineMode'\r\n | 'AppIcon'\r\n | 'AppAnalytics'\r\n | 'ResponsiveLayout'\r\n | 'InAppPurchase'\r\n | 'SDK'\r\n | 'Emulator'\r\n | 'Simulator'\r\n | 'APK'\r\n | 'IPA';\r\n","/**\r\n * @file testing.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Testing, QA, and automation icons (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Test Status Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Test passed icon */\r\nexport const TestPassedIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : '#22c55e'}\r\n stroke=\"#22c55e\"\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M8 12l3 3 5-6\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : '#22c55e'}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TestPassedIcon' },\r\n);\r\n\r\n/** Test failed icon */\r\nexport const TestFailedIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : '#ef4444'}\r\n stroke=\"#ef4444\"\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M8 8l8 8M16 8l-8 8\"\r\n stroke={variant === 'filled' ? '#fff' : '#ef4444'}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TestFailedIcon' },\r\n);\r\n\r\n/** Test skipped icon */\r\nexport const TestSkippedIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : '#f59e0b'}\r\n stroke=\"#f59e0b\"\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M8 12h8\"\r\n stroke={variant === 'filled' ? '#fff' : '#f59e0b'}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TestSkippedIcon' },\r\n);\r\n\r\n/** Test pending icon */\r\nexport const TestPendingIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : '#6b7280'}\r\n stroke=\"#6b7280\"\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <circle cx=\"8\" cy=\"12\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : '#6b7280'} />\r\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : '#6b7280'} />\r\n <circle cx=\"16\" cy=\"12\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : '#6b7280'} />\r\n </>\r\n ),\r\n { displayName: 'TestPendingIcon' },\r\n);\r\n\r\n/** Test flaky icon */\r\nexport const TestFlakyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : '#f59e0b'}\r\n stroke=\"#f59e0b\"\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M12 6v6M12 15v2\"\r\n stroke={variant === 'filled' ? '#fff' : '#f59e0b'}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n <path\r\n d=\"M8 9l1 1M15 9l1 1\"\r\n stroke={variant === 'filled' ? '#fff' : '#f59e0b'}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TestFlakyIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Test Types\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Unit test icon */\r\nexport const UnitTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Single unit box */}\r\n <rect\r\n x=\"8\"\r\n y=\"8\"\r\n width=\"8\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M10 12l2 2 3-4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || '#22c55e'}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n {/* UT label */}\r\n <text x=\"4\" y=\"8\" fontSize=\"5\" fill={color} fontWeight=\"bold\">\r\n UT\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'UnitTestIcon' },\r\n);\r\n\r\n/** Integration test icon */\r\nexport const IntegrationTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Two connected boxes */}\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Connection */}\r\n <path d=\"M10 11h4\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n {/* Checkmark */}\r\n <path d=\"M9 18l2 2 4-4\" stroke={accentColor || '#22c55e'} strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'IntegrationTestIcon' },\r\n);\r\n\r\n/** E2E test icon */\r\nexport const E2ETestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Flow from start to end */}\r\n <circle cx=\"4\" cy=\"12\" r=\"2\" fill={accentColor || color} />\r\n <rect x=\"8\" y=\"10\" width=\"3\" height=\"4\" fill={color} opacity=\"0.6\" />\r\n <rect x=\"13\" y=\"10\" width=\"3\" height=\"4\" fill={color} opacity=\"0.6\" />\r\n <circle cx=\"20\" cy=\"12\" r=\"2\" fill={accentColor || '#22c55e'} />\r\n {/* Arrows */}\r\n <path d=\"M6 12h2M11 12h2M16 12h2\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* E2E label */}\r\n <text x=\"8\" y=\"20\" fontSize=\"5\" fill={color} fontWeight=\"bold\">\r\n E2E\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'E2ETestIcon' },\r\n);\r\n\r\n/** Performance test icon */\r\nexport const PerformanceTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Speedometer */}\r\n <path d=\"M2 14a10 10 0 0 1 20 0\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Needle */}\r\n <path d=\"M12 14l4-6\" stroke={accentColor || color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n <circle cx=\"12\" cy=\"14\" r=\"2\" fill={color} />\r\n {/* Speed marks */}\r\n <path\r\n d=\"M4 14h2M18 14h2M6 8l1.5 1M17 8l-1.5 1M12 5v2\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PerformanceTestIcon' },\r\n);\r\n\r\n/** Load test icon */\r\nexport const LoadTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Server with pressure */}\r\n <rect\r\n x=\"8\"\r\n y=\"6\"\r\n width=\"8\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Pressure waves */}\r\n <path\r\n d=\"M4 8c-1 2 1 4 0 6M20 8c1 2-1 4 0 6\"\r\n stroke={accentColor || '#ef4444'}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Load indicator */}\r\n <rect x=\"10\" y=\"8\" width=\"4\" height=\"8\" fill={accentColor || '#ef4444'} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'LoadTestIcon' },\r\n);\r\n\r\n/** Security test icon */\r\nexport const SecurityTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Shield with scan */}\r\n <path\r\n d=\"M12 2L4 6v5c0 5 3 9 8 10 5-1 8-5 8-10V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Scan line */}\r\n <path d=\"M8 12h8\" stroke={accentColor || '#22c55e'} strokeWidth=\"2\" />\r\n {/* Check or bug */}\r\n <path\r\n d=\"M12 8v3M12 14v2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SecurityTestIcon' },\r\n);\r\n\r\n/** Accessibility test icon */\r\nexport const A11yTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Accessibility person */}\r\n <circle cx=\"12\" cy=\"8\" r=\"2\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <path\r\n d=\"M12 10v4M12 14l-2 4M12 14l2 4M8 12h8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'A11yTestIcon' },\r\n);\r\n\r\n/** Visual regression icon */\r\nexport const VisualRegressionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Two overlapping frames */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"10\"\r\n height=\"10\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.6\"\r\n />\r\n <rect\r\n x=\"10\"\r\n y=\"10\"\r\n width=\"10\"\r\n height=\"10\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.6\"\r\n />\r\n {/* Diff highlight */}\r\n <rect x=\"10\" y=\"10\" width=\"4\" height=\"4\" fill={accentColor || '#ef4444'} opacity=\"0.5\" />\r\n {/* Eye */}\r\n <circle cx=\"18\" cy=\"6\" r=\"3\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <circle cx=\"18\" cy=\"6\" r=\"1\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'VisualRegressionIcon' },\r\n);\r\n\r\n/** Smoke test icon */\r\nexport const SmokeTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Smoke/cloud */}\r\n <path\r\n d=\"M8 16c-2 0-4-1-4-3s2-3 4-3c0-2 2-4 4-4s4 2 4 4c2 0 4 1 4 3s-2 3-4 3z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* Fire underneath */}\r\n <path\r\n d=\"M10 18c0 2 1 3 2 3s2-1 2-3c0-1-.5-2-1-2.5.5.5 1.5 1 1.5 2.5 0 1-.5 2-1.5 2.5\"\r\n fill=\"none\"\r\n stroke={accentColor || '#f59e0b'}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SmokeTestIcon' },\r\n);\r\n\r\n/** Regression test icon */\r\nexport const RegressionTestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Arrow going back */}\r\n <path\r\n d=\"M20 12H6M6 12l4-4M6 12l4 4\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n fill=\"none\"\r\n />\r\n {/* Checkmark */}\r\n <path d=\"M14 16l2 2 4-4\" stroke={accentColor || '#22c55e'} strokeWidth=\"2\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'RegressionTestIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Testing Frameworks & Tools\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Jest icon */\r\nexport const JestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* J with jester hat */}\r\n <path\r\n d=\"M14 8v6c0 2-1 3-3 3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Hat bells */}\r\n <circle cx=\"8\" cy=\"6\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"16\" cy=\"6\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'JestIcon' },\r\n);\r\n\r\n/** Cypress icon */\r\nexport const CypressIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* C shape */}\r\n <path\r\n d=\"M16 8c-2-2-6-2-8 0s-2 6 0 8 6 2 8 0\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CypressIcon' },\r\n);\r\n\r\n/** Playwright icon */\r\nexport const PlaywrightIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Play button */}\r\n <path d=\"M10 8l6 4-6 4z\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'PlaywrightIcon' },\r\n);\r\n\r\n/** Selenium icon */\r\nexport const SeleniumIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Se periodic table style */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"7\"\r\n y=\"15\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n Se\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'SeleniumIcon' },\r\n);\r\n\r\n/** Mocha icon */\r\nexport const MochaIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Coffee cup */}\r\n <path\r\n d=\"M6 8h10v8c0 2-2 4-5 4s-5-2-5-4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Handle */}\r\n <path d=\"M16 10h2c1 0 2 1 2 2s-1 2-2 2h-2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Steam */}\r\n <path\r\n d=\"M9 4c0-1 1-2 1-2M12 4c0-1 1-2 1-2\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MochaIcon' },\r\n);\r\n\r\n/** Vitest icon */\r\nexport const VitestIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* V shape with lightning */}\r\n <path d=\"M4 6l8 12 8-12\" fill=\"none\" stroke={color} strokeWidth=\"2.5\" />\r\n {/* Inner checkmark */}\r\n <path d=\"M10 10l2 3 4-5\" stroke={accentColor || '#22c55e'} strokeWidth=\"2\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'VitestIcon' },\r\n);\r\n\r\n/** Testing Library icon */\r\nexport const TestingLibraryIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Octopus-like shape */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"10\"\r\n r=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Eyes */}\r\n <circle cx=\"10\" cy=\"9\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"14\" cy=\"9\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n {/* Tentacles */}\r\n <path\r\n d=\"M6 14c-1 2-1 4 0 5M10 15c0 2 0 4 1 5M14 15c0 2 0 4-1 5M18 14c1 2 1 4 0 5\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TestingLibraryIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n QA & Testing Concepts\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Test coverage icon */\r\nexport const TestCoverageIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Pie chart */}\r\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M12 4a8 8 0 0 1 8 8h-8z\" fill={accentColor || '#22c55e'} />\r\n {/* Percentage */}\r\n <text x=\"8\" y=\"20\" fontSize=\"5\" fill={color}>\r\n 85%\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'TestCoverageIcon' },\r\n);\r\n\r\n/** Test report icon */\r\nexport const TestReportIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Document */}\r\n <rect\r\n x=\"4\"\r\n y=\"2\"\r\n width=\"16\"\r\n height=\"20\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Results */}\r\n <path\r\n d=\"M8 6l2 2 3-3\"\r\n stroke={variant === 'filled' ? '#fff' : '#22c55e'}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n <path\r\n d=\"M8 11h8M8 14h6\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.6\"\r\n />\r\n {/* Stats */}\r\n <rect x=\"8\" y=\"17\" width=\"2\" height=\"3\" fill={accentColor || '#22c55e'} />\r\n <rect x=\"11\" y=\"16\" width=\"2\" height=\"4\" fill={accentColor || '#22c55e'} />\r\n <rect x=\"14\" y=\"18\" width=\"2\" height=\"2\" fill={accentColor || '#ef4444'} />\r\n </>\r\n ),\r\n { displayName: 'TestReportIcon' },\r\n);\r\n\r\n/** Bug icon */\r\nexport const BugIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Bug body */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"14\"\r\n rx=\"5\"\r\n ry=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Head */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"7\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Antenna */}\r\n <path d=\"M10 4l-2-2M14 4l2-2\" stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" />\r\n {/* Legs */}\r\n <path\r\n d=\"M7 11l-3-1M7 14H4M7 17l-3 1M17 11l3-1M17 14h3M17 17l3 1\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BugIcon' },\r\n);\r\n\r\n/** Debug icon */\r\nexport const DebugIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Bug with magnifier */}\r\n <ellipse\r\n cx=\"10\"\r\n cy=\"14\"\r\n rx=\"4\"\r\n ry=\"5\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <circle\r\n cx=\"10\"\r\n cy=\"8\"\r\n r=\"2.5\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Magnifier */}\r\n <circle cx=\"16\" cy=\"10\" r=\"4\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n <path d=\"M19 13l3 3\" stroke={accentColor || color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'DebugIcon' },\r\n);\r\n\r\n/** Assertion icon */\r\nexport const AssertionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Equals sign in box */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path\r\n d=\"M8 10h8M8 14h8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'AssertionIcon' },\r\n);\r\n\r\n/** Mock icon */\r\nexport const MockIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Theater mask */}\r\n <path\r\n d=\"M4 8c0-3 4-5 8-5s8 2 8 5c0 6-4 11-8 11s-8-5-8-11z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Eyes */}\r\n <circle cx=\"9\" cy=\"10\" r=\"2\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"15\" cy=\"10\" r=\"2\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n {/* Smile */}\r\n <path\r\n d=\"M9 15c1.5 1 4.5 1 6 0\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MockIcon' },\r\n);\r\n\r\n/** Spy/Stub icon */\r\nexport const SpyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Eye with magnifier */}\r\n <ellipse cx=\"12\" cy=\"12\" rx=\"8\" ry=\"5\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill={accentColor || color} />\r\n {/* Recording dot */}\r\n <circle cx=\"18\" cy=\"6\" r=\"2\" fill=\"#ef4444\" />\r\n </>\r\n ),\r\n { displayName: 'SpyIcon' },\r\n);\r\n\r\n/** Fixture icon */\r\nexport const FixtureIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Data fixture */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* JSON-like brackets */}\r\n <path\r\n d=\"M8 8v8M16 8v8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n <path\r\n d=\"M8 8c-2 0-2 4 0 4s0 4 0 4M16 8c2 0 2 4 0 4s0 4 0 4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'FixtureIcon' },\r\n);\r\n\r\n/** Snapshot icon */\r\nexport const SnapshotIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Camera */}\r\n <rect\r\n x=\"4\"\r\n y=\"6\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Flash */}\r\n <rect x=\"9\" y=\"4\" width=\"6\" height=\"2\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'SnapshotIcon' },\r\n);\r\n\r\n/** Test runner icon */\r\nexport const TestRunnerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Play button */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <path d=\"M10 8l6 4-6 4z\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'TestRunnerIcon' },\r\n);\r\n\r\n// Export type for testing icon names\r\nexport type TestingIconName =\r\n | 'TestPassed'\r\n | 'TestFailed'\r\n | 'TestSkipped'\r\n | 'TestPending'\r\n | 'TestFlaky'\r\n | 'UnitTest'\r\n | 'IntegrationTest'\r\n | 'E2ETest'\r\n | 'PerformanceTest'\r\n | 'LoadTest'\r\n | 'SecurityTest'\r\n | 'A11yTest'\r\n | 'VisualRegression'\r\n | 'SmokeTest'\r\n | 'RegressionTest'\r\n | 'Jest'\r\n | 'Cypress'\r\n | 'Playwright'\r\n | 'Selenium'\r\n | 'Mocha'\r\n | 'Vitest'\r\n | 'TestingLibrary'\r\n | 'TestCoverage'\r\n | 'TestReport'\r\n | 'Bug'\r\n | 'Debug'\r\n | 'Assertion'\r\n | 'Mock'\r\n | 'Spy'\r\n | 'Fixture'\r\n | 'Snapshot'\r\n | 'TestRunner';\r\n","/**\r\n * @file devops.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Extended DevOps, CI/CD, and deployment icons (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n CI/CD Pipeline Icons\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Pipeline icon */\r\nexport const PipelineIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Pipeline stages */}\r\n <circle cx=\"4\" cy=\"12\" r=\"2\" fill={accentColor || '#22c55e'} />\r\n <rect x=\"8\" y=\"10\" width=\"4\" height=\"4\" fill={color} opacity=\"0.8\" />\r\n <rect x=\"14\" y=\"10\" width=\"4\" height=\"4\" fill={color} opacity=\"0.8\" />\r\n <circle cx=\"22\" cy=\"12\" r=\"2\" fill={accentColor || '#22c55e'} />\r\n {/* Connections */}\r\n <path d=\"M6 12h2M12 12h2M18 12h2\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'PipelineIcon' },\r\n);\r\n\r\n/** Build icon */\r\nexport const BuildIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hammer */}\r\n <path\r\n d=\"M14 6l4 4-8 8-4-4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path d=\"M18 2l4 4-2 2-4-4z\" fill={accentColor || color} />\r\n {/* Handle */}\r\n <path d=\"M10 14L4 20\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'BuildIcon' },\r\n);\r\n\r\n/** Deploy icon */\r\nexport const DeployIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Rocket */}\r\n <path\r\n d=\"M12 2c-3 3-4 7-4 10 0 2 1 4 2 5l2-3 2 3c1-1 2-3 2-5 0-3-1-7-4-10z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Flames */}\r\n <path d=\"M10 17l-2 4c0 1 1 2 2 1l2-2 2 2c1 1 2 0 2-1l-2-4\" fill={accentColor || '#f59e0b'} />\r\n {/* Window */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"9\"\r\n r=\"2\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DeployIcon' },\r\n);\r\n\r\n/** Release icon */\r\nexport const ReleaseIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Tag */}\r\n <path\r\n d=\"M4 4h8l8 8-8 8-8-8z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Dot */}\r\n <circle cx=\"8\" cy=\"8\" r=\"2\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n {/* Version */}\r\n <text x=\"10\" y=\"14\" fontSize=\"5\" fill={variant === 'filled' ? '#fff' : color}>\r\n v1\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'ReleaseIcon' },\r\n);\r\n\r\n/** Rollback icon */\r\nexport const RollbackIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Circular arrow */}\r\n <path d=\"M4 12a8 8 0 1 1 2 5\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M4 12V6M4 12h6\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n {/* Back version */}\r\n <text x=\"10\" y=\"14\" fontSize=\"5\" fill={accentColor || color}>\r\n v0\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'RollbackIcon' },\r\n);\r\n\r\n/** Staging icon */\r\nexport const StagingIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Stage platform */}\r\n <rect\r\n x=\"4\"\r\n y=\"14\"\r\n width=\"16\"\r\n height=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Curtains */}\r\n <path d=\"M4 4v10M20 4v10\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M4 4c4 2 4 6 0 8M20 4c-4 2-4 6 0 8\" fill={accentColor || color} opacity=\"0.4\" />\r\n </>\r\n ),\r\n { displayName: 'StagingIcon' },\r\n);\r\n\r\n/** Production icon */\r\nexport const ProductionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Server stack */}\r\n <rect\r\n x=\"4\"\r\n y=\"2\"\r\n width=\"16\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"9\"\r\n width=\"16\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"16\"\r\n width=\"16\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Status lights */}\r\n <circle cx=\"7\" cy=\"4.5\" r=\"1\" fill=\"#22c55e\" />\r\n <circle cx=\"7\" cy=\"11.5\" r=\"1\" fill=\"#22c55e\" />\r\n <circle cx=\"7\" cy=\"18.5\" r=\"1\" fill=\"#22c55e\" />\r\n </>\r\n ),\r\n { displayName: 'ProductionIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n CI/CD Tools\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** GitHub Actions icon */\r\nexport const GitHubActionsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Workflow diamond */}\r\n <path\r\n d=\"M12 6l4 6-4 6-4-6z\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'GitHubActionsIcon' },\r\n);\r\n\r\n/** GitLab CI icon */\r\nexport const GitLabCIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Fox-like shape */}\r\n <path\r\n d=\"M12 3L8 9l-6 1 4 8 6 3 6-3 4-8-6-1z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n <path d=\"M12 3l4 6h-8z\" fill={accentColor || color} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'GitLabCIIcon' },\r\n);\r\n\r\n/** Jenkins icon */\r\nexport const JenkinsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Butler head */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"10\"\r\n r=\"8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Hair/mohawk */}\r\n <path d=\"M8 4c2-2 4-2 6 0\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n {/* Eyes */}\r\n <circle cx=\"10\" cy=\"10\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"14\" cy=\"10\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n {/* Bowtie */}\r\n <path d=\"M9 18l3-2 3 2-3 2z\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'JenkinsIcon' },\r\n);\r\n\r\n/** Azure DevOps icon */\r\nexport const AzureDevOpsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Infinity-like symbol */}\r\n <path\r\n d=\"M8 12c0-2 1-3 2-3s2 1 2 2-1 2-2 2-2-1-2-2 1-2 2-2 2 1 2 3M14 12c0-2 1-3 2-3s2 1 2 2-1 2-2 2-2-1-2-2 1-2 2-2 2 1 2 3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'AzureDevOpsIcon' },\r\n);\r\n\r\n/** CircleCI icon */\r\nexport const CircleCIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"5\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'CircleCIIcon' },\r\n);\r\n\r\n/** Travis CI icon */\r\nexport const TravisCIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* T shape with mascot feel */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M8 8h8M12 8v8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'TravisCIIcon' },\r\n);\r\n\r\n/** Drone CI icon */\r\nexport const DroneCIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Drone shape */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"8\"\r\n ry=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Propellers */}\r\n <circle cx=\"6\" cy=\"8\" r=\"3\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle cx=\"18\" cy=\"8\" r=\"3\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle cx=\"6\" cy=\"16\" r=\"3\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <circle cx=\"18\" cy=\"16\" r=\"3\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'DroneCIIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Infrastructure & Orchestration\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Terraform icon */\r\nexport const TerraformIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* T-shaped blocks */}\r\n <rect x=\"4\" y=\"4\" width=\"6\" height=\"6\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"4\" y=\"12\" width=\"6\" height=\"6\" fill={color} opacity=\"0.8\" />\r\n <rect x=\"12\" y=\"8\" width=\"6\" height=\"6\" fill={color} opacity=\"0.9\" />\r\n </>\r\n ),\r\n { displayName: 'TerraformIcon' },\r\n);\r\n\r\n/** Ansible icon */\r\nexport const AnsibleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* A shape */}\r\n <path\r\n d=\"M12 6l5 10h-2l-3-5-3 3-2-1z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'AnsibleIcon' },\r\n);\r\n\r\n/** Pulumi icon */\r\nexport const PulumiIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Stacked cubes */}\r\n <path\r\n d=\"M12 4l6 3v6l-6 3-6-3V7z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <path d=\"M12 10v6\" stroke={color} strokeWidth=\"1\" />\r\n <path d=\"M6 7l6 3 6-3\" stroke={color} strokeWidth=\"1\" fill=\"none\" />\r\n {/* Bottom layer */}\r\n <path d=\"M12 13l6 3v4l-6 3-6-3v-4z\" fill={accentColor || color} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'PulumiIcon' },\r\n);\r\n\r\n/** Helm icon */\r\nexport const HelmIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Ship wheel */}\r\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Spokes */}\r\n <path\r\n d=\"M12 4v5M12 15v5M4 12h5M15 12h5M6 6l3.5 3.5M14.5 14.5L18 18M6 18l3.5-3.5M14.5 9.5L18 6\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'HelmIcon' },\r\n);\r\n\r\n/** ArgoCD icon */\r\nexport const ArgoCDIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Octopus-like */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"10\"\r\n r=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Eyes */}\r\n <circle cx=\"10\" cy=\"9\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"14\" cy=\"9\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n {/* Tentacles */}\r\n <path\r\n d=\"M6 14c-2 2-2 4-1 5M10 15c-1 2-1 4 0 5M14 15c1 2 1 4 0 5M18 14c2 2 2 4 1 5\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ArgoCDIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Monitoring & Observability\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Prometheus icon */\r\nexport const PrometheusIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Flame shape */}\r\n <path\r\n d=\"M12 2c-2 4-4 6-4 10 0 3 2 6 4 6s4-3 4-6c0-4-2-6-4-10z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Inner flame */}\r\n <path\r\n d=\"M12 8c-1 2-2 3-2 5 0 1.5 1 3 2 3s2-1.5 2-3c0-2-1-3-2-5z\"\r\n fill={accentColor || color}\r\n opacity=\"0.5\"\r\n />\r\n {/* Base */}\r\n <path d=\"M6 20h12\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'PrometheusIcon' },\r\n);\r\n\r\n/** Grafana icon */\r\nexport const GrafanaIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Eye */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"5\"\r\n ry=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'GrafanaIcon' },\r\n);\r\n\r\n/** Datadog icon */\r\nexport const DatadogIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Dog silhouette */}\r\n <path\r\n d=\"M5 15c-1-3 1-6 4-7 0-2 2-4 4-4s3 1 3 2c2 0 4 2 4 5 0 4-3 7-6 7-2 0-3-1-4-2-2 0-4-1-5-1z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Eye */}\r\n <circle cx=\"14\" cy=\"10\" r=\"1\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'DatadogIcon' },\r\n);\r\n\r\n/** NewRelic icon */\r\nexport const NewRelicIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* NR letters */}\r\n <text\r\n x=\"5\"\r\n y=\"15\"\r\n fontSize=\"7\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n NR\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'NewRelicIcon' },\r\n);\r\n\r\n/** Sentry icon */\r\nexport const SentryIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Eye/shield shape */}\r\n <path d=\"M4 18L12 4l8 14\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M8 18L12 10l4 8\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n <circle cx=\"12\" cy=\"14\" r=\"2\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'SentryIcon' },\r\n);\r\n\r\n/** ELK Stack icon */\r\nexport const ELKIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Stacked layers */}\r\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"4\" rx=\"1\" fill={color} opacity=\"0.5\" />\r\n <rect x=\"4\" y=\"10\" width=\"16\" height=\"4\" rx=\"1\" fill={color} opacity=\"0.7\" />\r\n <rect x=\"4\" y=\"16\" width=\"16\" height=\"4\" rx=\"1\" fill={accentColor || color} opacity=\"0.9\" />\r\n {/* Labels */}\r\n <text x=\"6\" y=\"8\" fontSize=\"3\" fill=\"#fff\">\r\n E\r\n </text>\r\n <text x=\"6\" y=\"14\" fontSize=\"3\" fill=\"#fff\">\r\n L\r\n </text>\r\n <text x=\"6\" y=\"20\" fontSize=\"3\" fill=\"#fff\">\r\n K\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'ELKIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n DevOps Concepts\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** GitOps icon */\r\nexport const GitOpsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Git symbol */}\r\n <circle\r\n cx=\"8\"\r\n cy=\"8\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"16\"\r\n cy=\"16\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M10 10l4 4\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Ops gear */}\r\n <circle cx=\"16\" cy=\"8\" r=\"3\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <path\r\n d=\"M16 5v1M16 10v1M13 8h1M18 8h1M14 6l.5.5M17.5 9.5l.5.5M14 10l.5-.5M17.5 6.5l.5-.5\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'GitOpsIcon' },\r\n);\r\n\r\n/** Infrastructure as Code icon */\r\nexport const IaCIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Code brackets */}\r\n <path d=\"M8 6L4 12l4 6M16 6l4 6-4 6\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n {/* Server icon inside */}\r\n <rect x=\"10\" y=\"9\" width=\"4\" height=\"6\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <circle cx=\"12\" cy=\"11\" r=\"0.5\" fill=\"#fff\" />\r\n </>\r\n ),\r\n { displayName: 'IaCIcon' },\r\n);\r\n\r\n/** Blue-Green Deployment icon */\r\nexport const BlueGreenIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Blue environment */}\r\n <rect x=\"4\" y=\"6\" width=\"6\" height=\"12\" rx=\"1\" fill=\"#3b82f6\" opacity=\"0.8\" />\r\n {/* Green environment */}\r\n <rect x=\"14\" y=\"6\" width=\"6\" height=\"12\" rx=\"1\" fill=\"#22c55e\" opacity=\"0.8\" />\r\n {/* Switch arrow */}\r\n <path d=\"M10 10h4M14 10l-2-2M14 10l-2 2\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n <path d=\"M14 14h-4M10 14l2 2M10 14l2-2\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'BlueGreenIcon' },\r\n);\r\n\r\n/** Canary Deployment icon */\r\nexport const CanaryIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Main deployment */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"12\"\r\n height=\"14\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* Canary (small) */}\r\n <rect x=\"17\" y=\"10\" width=\"4\" height=\"8\" rx=\"1\" fill={accentColor || '#f59e0b'} />\r\n {/* Percentage */}\r\n <text x=\"6\" y=\"14\" fontSize=\"5\" fill={variant === 'filled' ? '#fff' : color}>\r\n 90%\r\n </text>\r\n <text x=\"17\" y=\"16\" fontSize=\"3\" fill=\"#fff\">\r\n 10%\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'CanaryIcon' },\r\n);\r\n\r\n/** Feature flag icon */\r\nexport const FeatureFlagIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Flag */}\r\n <path d=\"M6 4v16\" stroke={color} strokeWidth=\"2\" />\r\n <path\r\n d=\"M6 4h12l-3 4 3 4H6\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Toggle */}\r\n <circle cx=\"18\" cy=\"16\" r=\"3\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle cx=\"19\" cy=\"16\" r=\"1.5\" fill=\"#22c55e\" />\r\n </>\r\n ),\r\n { displayName: 'FeatureFlagIcon' },\r\n);\r\n\r\n/** Service mesh icon */\r\nexport const ServiceMeshIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Interconnected nodes */}\r\n <circle cx=\"6\" cy=\"6\" r=\"2\" fill={color} />\r\n <circle cx=\"18\" cy=\"6\" r=\"2\" fill={color} />\r\n <circle cx=\"6\" cy=\"18\" r=\"2\" fill={color} />\r\n <circle cx=\"18\" cy=\"18\" r=\"2\" fill={color} />\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" fill={accentColor || color} />\r\n {/* Connections */}\r\n <path\r\n d=\"M6 8v8M18 8v8M8 6h8M8 18h8M8 8l2 2M14 8l-2 2M8 16l2-2M14 16l-2-2\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ServiceMeshIcon' },\r\n);\r\n\r\n// Export type for DevOps icon names\r\nexport type DevOpsIconName =\r\n | 'Pipeline'\r\n | 'Build'\r\n | 'Deploy'\r\n | 'Release'\r\n | 'Rollback'\r\n | 'Staging'\r\n | 'Production'\r\n | 'GitHubActions'\r\n | 'GitLabCI'\r\n | 'Jenkins'\r\n | 'AzureDevOps'\r\n | 'CircleCI'\r\n | 'TravisCI'\r\n | 'DroneCI'\r\n | 'Terraform'\r\n | 'Ansible'\r\n | 'Pulumi'\r\n | 'Helm'\r\n | 'ArgoCD'\r\n | 'Prometheus'\r\n | 'Grafana'\r\n | 'Datadog'\r\n | 'NewRelic'\r\n | 'Sentry'\r\n | 'ELK'\r\n | 'GitOps'\r\n | 'IaC'\r\n | 'BlueGreen'\r\n | 'Canary'\r\n | 'FeatureFlag'\r\n | 'ServiceMesh';\r\n","/**\r\n * @file database-ext.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Extended database, data storage, and data management icons (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n SQL Databases\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** PostgreSQL icon */\r\nexport const PostgreSQLIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Elephant head shape */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"8\"\r\n ry=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Trunk */}\r\n <path d=\"M16 14c2 0 3 2 3 4\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n {/* Eye */}\r\n <circle cx=\"10\" cy=\"10\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'PostgreSQLIcon' },\r\n);\r\n\r\n/** MySQL icon */\r\nexport const MySQLIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Dolphin-like shape */}\r\n <path\r\n d=\"M4 12c0-4 4-8 8-8s8 4 8 8c0 2-1 4-3 5l-2-1c2-1 3-2 3-4 0-3-3-6-6-6s-6 3-6 6 3 6 6 6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Fin */}\r\n <path d=\"M14 6c2 0 3 2 2 4\" stroke={accentColor || color} strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'MySQLIcon' },\r\n);\r\n\r\n/** SQL Server icon */\r\nexport const SQLServerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* SQL text */}\r\n <text\r\n x=\"5\"\r\n y=\"15\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n SQL\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'SQLServerIcon' },\r\n);\r\n\r\n/** Oracle icon */\r\nexport const OracleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* O shape */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"8\"\r\n ry=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"4\"\r\n ry=\"3\"\r\n fill={variant === 'filled' ? 'rgba(255,255,255,0.3)' : accentColor || color}\r\n opacity=\"0.3\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'OracleIcon' },\r\n);\r\n\r\n/** SQLite icon */\r\nexport const SQLiteIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Feather/quill */}\r\n <path\r\n d=\"M20 4L8 16l-4 4 2-6L18 2z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Feather detail */}\r\n <path\r\n d=\"M16 6l-6 6M14 8l-4 4M18 4l-2 2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"0.5\"\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SQLiteIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n NoSQL Databases\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** MongoDB icon */\r\nexport const MongoDBIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Leaf shape */}\r\n <path\r\n d=\"M12 2c-1 4-3 8-3 14 0 2 1 4 3 4s3-2 3-4c0-6-2-10-3-14z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Center vein */}\r\n <path\r\n d=\"M12 4v14\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MongoDBIcon' },\r\n);\r\n\r\n/** Redis icon */\r\nexport const RedisIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Diamond/cube shape */}\r\n <path\r\n d=\"M12 2l10 6v8l-10 6-10-6V8z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n <path d=\"M12 8l6 3v5l-6 3-6-3v-5z\" fill={accentColor || color} opacity=\"0.4\" />\r\n <path d=\"M12 2v6M2 8l10 6M22 8l-10 6\" stroke={color} strokeWidth=\"1\" opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'RedisIcon' },\r\n);\r\n\r\n/** Cassandra icon */\r\nexport const CassandraIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Eye shape */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"10\"\r\n ry=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : color} />\r\n </>\r\n ),\r\n { displayName: 'CassandraIcon' },\r\n);\r\n\r\n/** DynamoDB icon */\r\nexport const DynamoDBIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Key-value pairs */}\r\n <path\r\n d=\"M8 8h3M13 8h3M8 12h2M12 12h4M8 16h4M14 16h2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DynamoDBIcon' },\r\n);\r\n\r\n/** CouchDB icon */\r\nexport const CouchDBIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Couch shape */}\r\n <path d=\"M4 16h16v2H4z\" fill={color} />\r\n <path\r\n d=\"M6 10h12v6H6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Armrests */}\r\n <path d=\"M4 10c0-2 1-4 3-4M20 10c0-2-1-4-3-4\" stroke={color} strokeWidth=\"2\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'CouchDBIcon' },\r\n);\r\n\r\n/** Neo4j icon */\r\nexport const Neo4jIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Graph nodes */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"6\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"6\"\r\n cy=\"16\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"18\"\r\n cy=\"16\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Edges */}\r\n <path d=\"M12 9v2l-4 3M12 11l4 3\" stroke={color} strokeWidth=\"1.5\" />\r\n <path d=\"M9 16h6\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'Neo4jIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Cloud Databases\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Firebase icon */\r\nexport const FirebaseIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Flame shape */}\r\n <path\r\n d=\"M6 18l2-12 4 6 4-4 2 10z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n <path d=\"M8 6l4 6-4 6\" fill={accentColor || color} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'FirebaseIcon' },\r\n);\r\n\r\n/** Supabase icon */\r\nexport const SupabaseIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Lightning bolt in database */}\r\n <path\r\n d=\"M12 2c-5 0-8 3-8 7v6c0 4 3 7 8 7s8-3 8-7V9c0-4-3-7-8-7z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <path\r\n d=\"M13 6l-4 6h3l-1 6 5-8h-4z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'SupabaseIcon' },\r\n);\r\n\r\n/** PlanetScale icon */\r\nexport const PlanetScaleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Planet with ring */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"10\"\r\n ry=\"3\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n transform=\"rotate(-20 12 12)\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PlanetScaleIcon' },\r\n);\r\n\r\n/** Fauna icon */\r\nexport const FaunaIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Leaf/nature shape */}\r\n <path\r\n d=\"M12 2c-6 4-8 10-6 16 4-2 10-4 14-10-2 6-6 8-10 10 8-2 10-8 10-14-4 4-8 6-8 6 0-4-2-6 0-8z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.9\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'FaunaIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Data Concepts\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Database schema icon */\r\nexport const SchemaIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Table boxes */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <rect\r\n x=\"9\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Relations */}\r\n <path d=\"M7 12v2h2M17 12v2h-2M12 14v-2\" stroke={color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'SchemaIcon' },\r\n);\r\n\r\n/** Migration icon */\r\nexport const MigrationIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Databases with arrow */}\r\n <ellipse\r\n cx=\"6\"\r\n cy=\"8\"\r\n rx=\"4\"\r\n ry=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M2 8v6c0 1 2 2 4 2s4-1 4-2V8\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <ellipse\r\n cx=\"18\"\r\n cy=\"8\"\r\n rx=\"4\"\r\n ry=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M14 8v6c0 1 2 2 4 2s4-1 4-2V8\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Arrow */}\r\n <path d=\"M10 12h4M14 12l-2-2M14 12l-2 2\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'MigrationIcon' },\r\n);\r\n\r\n/** Backup icon */\r\nexport const BackupIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Database */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"6\"\r\n rx=\"8\"\r\n ry=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <path d=\"M4 6v5c0 1.5 4 3 8 3s8-1.5 8-3V6\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Download arrow */}\r\n <path d=\"M12 12v6M9 16l3 3 3-3\" stroke={accentColor || color} strokeWidth=\"2\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'BackupIcon' },\r\n);\r\n\r\n/** Replication icon */\r\nexport const ReplicationIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Primary */}\r\n <ellipse\r\n cx=\"7\"\r\n cy=\"8\"\r\n rx=\"5\"\r\n ry=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M2 8v4c0 1 2 2 5 2s5-1 5-2V8\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Replica */}\r\n <ellipse\r\n cx=\"17\"\r\n cy=\"12\"\r\n rx=\"5\"\r\n ry=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M12 12v4c0 1 2 2 5 2s5-1 5-2v-4\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Sync arrow */}\r\n <path d=\"M12 6l4 4M16 6v4h-4\" stroke={color} strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'ReplicationIcon' },\r\n);\r\n\r\n/** Sharding icon */\r\nexport const ShardingIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Split database */}\r\n <rect x=\"4\" y=\"4\" width=\"6\" height=\"8\" fill={color} opacity=\"0.6\" />\r\n <rect x=\"10\" y=\"4\" width=\"6\" height=\"8\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"16\" y=\"4\" width=\"4\" height=\"8\" fill={color} opacity=\"0.6\" />\r\n {/* Shard labels */}\r\n <text x=\"5\" y=\"10\" fontSize=\"4\" fill=\"#fff\">\r\n S1\r\n </text>\r\n <text x=\"11\" y=\"10\" fontSize=\"4\" fill=\"#fff\">\r\n S2\r\n </text>\r\n <text x=\"17\" y=\"10\" fontSize=\"3\" fill=\"#fff\">\r\n S3\r\n </text>\r\n {/* Distribution */}\r\n <path d=\"M12 14v4M8 18h8\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'ShardingIcon' },\r\n);\r\n\r\n/** Index icon */\r\nexport const IndexIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Book/index cards */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Index lines */}\r\n <path\r\n d=\"M8 8h8M8 11h6M8 14h4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Tab */}\r\n <rect x=\"16\" y=\"6\" width=\"2\" height=\"4\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'IndexIcon' },\r\n);\r\n\r\n/** Query icon */\r\nexport const QueryIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Search/query symbol */}\r\n <circle cx=\"10\" cy=\"10\" r=\"6\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M14 14l6 6\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n {/* SQL symbol inside */}\r\n <text x=\"7\" y=\"12\" fontSize=\"5\" fill={accentColor || color}>\r\n ?\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'QueryIcon' },\r\n);\r\n\r\n/** Transaction icon */\r\nexport const TransactionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Circular transaction */}\r\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* T symbol */}\r\n <path d=\"M8 8h8M12 8v8\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n {/* Commit check */}\r\n <path d=\"M16 14l2 2 3-4\" stroke=\"#22c55e\" strokeWidth=\"1.5\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'TransactionIcon' },\r\n);\r\n\r\n/** ACID icon */\r\nexport const ACIDIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* ACID letters */}\r\n <text\r\n x=\"4\"\r\n y=\"15\"\r\n fontSize=\"5\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n ACID\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'ACIDIcon' },\r\n);\r\n\r\n/** ORM icon */\r\nexport const ORMIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Object */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Database */}\r\n <ellipse\r\n cx=\"17\"\r\n cy=\"7\"\r\n rx=\"4\"\r\n ry=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M13 7v3c0 1 2 2 4 2s4-1 4-2V7\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Bidirectional arrow */}\r\n <path\r\n d=\"M10 7h3M10 7l-2-2M10 7l-2 2M13 7l2 2M13 7l2-2\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n fill=\"none\"\r\n />\r\n {/* ORM label */}\r\n <text x=\"8\" y=\"18\" fontSize=\"5\" fill={color}>\r\n ORM\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'ORMIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Data Warehousing & Analytics\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Data warehouse icon */\r\nexport const DataWarehouseIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Warehouse building */}\r\n <path\r\n d=\"M4 12l8-8 8 8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"12\"\r\n width=\"16\"\r\n height=\"8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Data rows */}\r\n <path\r\n d=\"M8 14h8M8 17h8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DataWarehouseIcon' },\r\n);\r\n\r\n/** ETL icon */\r\nexport const ETLIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Extract */}\r\n <rect x=\"2\" y=\"8\" width=\"4\" height=\"6\" fill={color} opacity=\"0.6\" />\r\n {/* Transform (gear) */}\r\n <circle cx=\"12\" cy=\"11\" r=\"3\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"1.5\" />\r\n <path\r\n d=\"M12 6v2M12 14v2M6 11h2M16 11h2M8 8l1.5 1.5M14.5 12.5l1.5 1.5M8 14l1.5-1.5M14.5 9.5l1.5-1.5\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* Load */}\r\n <rect x=\"18\" y=\"8\" width=\"4\" height=\"6\" fill={color} opacity=\"0.8\" />\r\n {/* Flow arrows */}\r\n <path d=\"M6 11h2M14 11h2\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'ETLIcon' },\r\n);\r\n\r\n/** Snowflake icon */\r\nexport const SnowflakeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Snowflake pattern */}\r\n <path d=\"M12 2v20M2 12h20M5 5l14 14M19 5L5 19\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Branches */}\r\n <path\r\n d=\"M12 6l-2-2M12 6l2-2M12 18l-2 2M12 18l2 2M6 12l-2-2M6 12l-2 2M18 12l2-2M18 12l2 2\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SnowflakeIcon' },\r\n);\r\n\r\n/** BigQuery icon */\r\nexport const BigQueryIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* BQ text */}\r\n <text\r\n x=\"5\"\r\n y=\"15\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n BQ\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'BigQueryIcon' },\r\n);\r\n\r\n/** Redshift icon */\r\nexport const RedshiftIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Shift/stack pattern */}\r\n <path\r\n d=\"M4 18L12 6l8 12z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.6\"\r\n />\r\n <path\r\n d=\"M6 16L12 8l6 8z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n <path d=\"M8 14L12 10l4 4z\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'RedshiftIcon' },\r\n);\r\n\r\n/** Databricks icon */\r\nexport const DatabricksIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Brick pattern */}\r\n <rect x=\"4\" y=\"4\" width=\"6\" height=\"4\" fill={color} opacity=\"0.6\" />\r\n <rect x=\"12\" y=\"4\" width=\"8\" height=\"4\" fill={color} opacity=\"0.6\" />\r\n <rect x=\"4\" y=\"10\" width=\"8\" height=\"4\" fill={accentColor || color} opacity=\"0.7\" />\r\n <rect x=\"14\" y=\"10\" width=\"6\" height=\"4\" fill={accentColor || color} opacity=\"0.7\" />\r\n <rect x=\"4\" y=\"16\" width=\"5\" height=\"4\" fill={color} opacity=\"0.8\" />\r\n <rect x=\"11\" y=\"16\" width=\"9\" height=\"4\" fill={color} opacity=\"0.8\" />\r\n </>\r\n ),\r\n { displayName: 'DatabricksIcon' },\r\n);\r\n\r\n// Export type for database-ext icon names\r\nexport type DatabaseExtIconName =\r\n | 'PostgreSQL'\r\n | 'MySQL'\r\n | 'SQLServer'\r\n | 'Oracle'\r\n | 'SQLite'\r\n | 'MongoDB'\r\n | 'Redis'\r\n | 'Cassandra'\r\n | 'DynamoDB'\r\n | 'CouchDB'\r\n | 'Neo4j'\r\n | 'Firebase'\r\n | 'Supabase'\r\n | 'PlanetScale'\r\n | 'Fauna'\r\n | 'Schema'\r\n | 'Migration'\r\n | 'Backup'\r\n | 'Replication'\r\n | 'Sharding'\r\n | 'Index'\r\n | 'Query'\r\n | 'Transaction'\r\n | 'ACID'\r\n | 'ORM'\r\n | 'DataWarehouse'\r\n | 'ETL'\r\n | 'Snowflake'\r\n | 'BigQuery'\r\n | 'Redshift'\r\n | 'Databricks';\r\n","/**\r\n * @file networking.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Network protocols, connectivity, and infrastructure icons (~30 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Network Protocols\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** HTTP icon */\r\nexport const HTTPIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"6\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"5\"\r\n y=\"15\"\r\n fontSize=\"5\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n HTTP\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'HTTPIcon' },\r\n);\r\n\r\n/** HTTPS icon */\r\nexport const HTTPSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"4\"\r\n y=\"17\"\r\n fontSize=\"4\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n HTTPS\r\n </text>\r\n {/* Lock */}\r\n <path\r\n d=\"M16 8V6c0-2-1.5-4-4-4S8 4 8 6v2\"\r\n fill=\"none\"\r\n stroke={accentColor || '#22c55e'}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'HTTPSIcon' },\r\n);\r\n\r\n/** TCP icon */\r\nexport const TCPIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"6\"\r\n y=\"15\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n TCP\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'TCPIcon' },\r\n);\r\n\r\n/** UDP icon */\r\nexport const UDPIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"5\"\r\n y=\"15\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n UDP\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'UDPIcon' },\r\n);\r\n\r\n/** FTP icon */\r\nexport const FTPIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Folder with arrow */}\r\n <path\r\n d=\"M4 6h6l2 2h8v10H4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Transfer arrows */}\r\n <path\r\n d=\"M10 11h4M14 11l-2-2M14 11l-2 2M10 15h4M10 15l2 2M10 15l2-2\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'FTPIcon' },\r\n);\r\n\r\n/** SSH icon */\r\nexport const SSHIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Terminal prompt */}\r\n <path\r\n d=\"M8 10l2 2-2 2M12 14h4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SSHIcon' },\r\n);\r\n\r\n/** DNS icon */\r\nexport const DNSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Name to IP */}\r\n <rect\r\n x=\"2\"\r\n y=\"8\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <text x=\"4\" y=\"13\" fontSize=\"4\" fill={variant === 'filled' ? '#fff' : color}>\r\n abc\r\n </text>\r\n {/* Arrow */}\r\n <path d=\"M10 11h4\" stroke={color} strokeWidth=\"1.5\" />\r\n <path d=\"M14 11l-2-2v4z\" fill={color} />\r\n {/* IP */}\r\n <rect\r\n x=\"14\"\r\n y=\"8\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <text x=\"15\" y=\"13\" fontSize=\"3\" fill={variant === 'filled' ? '#fff' : color}>\r\n 1.2.3\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'DNSIcon' },\r\n);\r\n\r\n/** DHCP icon */\r\nexport const DHCPIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Server assigning IP */}\r\n <rect\r\n x=\"8\"\r\n y=\"2\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Clients */}\r\n <rect x=\"2\" y=\"16\" width=\"5\" height=\"5\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"9\" y=\"16\" width=\"5\" height=\"5\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"17\" y=\"16\" width=\"5\" height=\"5\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n {/* Assignment arrows */}\r\n <path d=\"M12 8v4l-7.5 4M12 12l0 0M12 12l7.5 4\" stroke={color} strokeWidth=\"1\" fill=\"none\" />\r\n </>\r\n ),\r\n { displayName: 'DHCPIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Network Infrastructure\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Router icon */\r\nexport const RouterIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"16\"\r\n height=\"8\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Ports */}\r\n <rect x=\"6\" y=\"11\" width=\"2\" height=\"3\" fill={accentColor || color} />\r\n <rect x=\"9\" y=\"11\" width=\"2\" height=\"3\" fill={accentColor || color} />\r\n <rect x=\"12\" y=\"11\" width=\"2\" height=\"3\" fill={accentColor || color} />\r\n {/* Antennas */}\r\n <path d=\"M16 8V4M18 8V5\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'RouterIcon' },\r\n);\r\n\r\n/** Switch icon */\r\nexport const SwitchIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"16\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Many ports */}\r\n <rect x=\"6\" y=\"11\" width=\"1.5\" height=\"2\" fill={accentColor || color} />\r\n <rect x=\"8\" y=\"11\" width=\"1.5\" height=\"2\" fill={accentColor || color} />\r\n <rect x=\"10\" y=\"11\" width=\"1.5\" height=\"2\" fill={accentColor || color} />\r\n <rect x=\"12\" y=\"11\" width=\"1.5\" height=\"2\" fill={accentColor || color} />\r\n <rect x=\"14\" y=\"11\" width=\"1.5\" height=\"2\" fill={accentColor || color} />\r\n <rect x=\"16\" y=\"11\" width=\"1.5\" height=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'SwitchIcon' },\r\n);\r\n\r\n/** Firewall icon */\r\nexport const FirewallIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Brick wall */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Bricks */}\r\n <path\r\n d=\"M4 8h16M4 12h16M4 16h16M8 4v4M14 4v4M6 8v4M12 8v4M18 8v4M8 12v4M14 12v4\"\r\n stroke={variant === 'filled' ? 'rgba(255,255,255,0.3)' : color}\r\n strokeWidth=\"0.5\"\r\n />\r\n {/* Flame */}\r\n <path\r\n d=\"M12 9c-1 2-2 2-2 4 0 1 1 2 2 2s2-1 2-2c0-2-1-2-2-4z\"\r\n fill={accentColor || '#ef4444'}\r\n />\r\n </>\r\n ),\r\n { displayName: 'FirewallIcon' },\r\n);\r\n\r\n/** Load balancer icon */\r\nexport const LoadBalancerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Central node */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"6\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Distribution to servers */}\r\n <rect x=\"2\" y=\"16\" width=\"5\" height=\"5\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"9\" y=\"16\" width=\"5\" height=\"5\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"17\" y=\"16\" width=\"5\" height=\"5\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n {/* Arrows */}\r\n <path\r\n d=\"M12 10v3l-7.5 3M12 13l0 0M12 13l7.5 3\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'LoadBalancerIcon' },\r\n);\r\n\r\n/** Gateway icon */\r\nexport const GatewayIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Gate arch */}\r\n <path d=\"M4 20V8a8 8 0 0 1 16 0v12\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Gate bars */}\r\n <path d=\"M8 20V12M12 20V10M16 20V12\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Keystone */}\r\n <circle cx=\"12\" cy=\"6\" r=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'GatewayIcon' },\r\n);\r\n\r\n/** Proxy icon */\r\nexport const ProxyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Client */}\r\n <circle cx=\"5\" cy=\"12\" r=\"3\" fill={color} opacity=\"0.6\" />\r\n {/* Proxy */}\r\n <rect\r\n x=\"10\"\r\n y=\"9\"\r\n width=\"4\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Server */}\r\n <rect x=\"16\" y=\"9\" width=\"5\" height=\"6\" rx=\"1\" fill={color} opacity=\"0.8\" />\r\n {/* Arrows */}\r\n <path d=\"M8 12h2M14 12h2\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'ProxyIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Wireless & Connectivity\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** WiFi icon */\r\nexport const WiFiIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Signal arcs */}\r\n <path d=\"M12 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\" fill={color} />\r\n <path d=\"M6 14c3-3 9-3 12 0\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M2 10c5-5 15-5 20 0\" fill=\"none\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'WiFiIcon' },\r\n);\r\n\r\n/** Bluetooth icon */\r\nexport const BluetoothIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M6 6l12 12M6 18l6-6V2l6 6-6 6-6-6 6-6\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BluetoothIcon' },\r\n);\r\n\r\n/** Ethernet icon */\r\nexport const EthernetIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* RJ45 connector */}\r\n <rect\r\n x=\"6\"\r\n y=\"4\"\r\n width=\"12\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Pins */}\r\n <path\r\n d=\"M8 8v4M10 8v4M12 8v4M14 8v4M16 8v4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* Clip */}\r\n <path d=\"M10 18h4v2h-4z\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'EthernetIcon' },\r\n);\r\n\r\n/** Cellular/5G icon */\r\nexport const CellularIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Signal bars */}\r\n <rect x=\"4\" y=\"16\" width=\"3\" height=\"4\" fill={color} />\r\n <rect x=\"8\" y=\"12\" width=\"3\" height=\"8\" fill={color} />\r\n <rect x=\"12\" y=\"8\" width=\"3\" height=\"12\" fill={accentColor || color} />\r\n <rect x=\"16\" y=\"4\" width=\"3\" height=\"16\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'CellularIcon' },\r\n);\r\n\r\n/** NFC icon */\r\nexport const NFCIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hand/device */}\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"8\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Waves */}\r\n <path\r\n d=\"M14 10c2 1 3 3 3 4s-1 3-3 4M16 12c1 .5 2 1.5 2 2s-1 1.5-2 2M18 14c1 .5 1 1 1 1s0 .5-1 1\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NFCIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Network Concepts\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** IP Address icon */\r\nexport const IPAddressIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"6\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text x=\"4\" y=\"14\" fontSize=\"4\" fill={variant === 'filled' ? '#fff' : accentColor || color}>\r\n 192.168\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'IPAddressIcon' },\r\n);\r\n\r\n/** Subnet icon */\r\nexport const SubnetIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Network divided */}\r\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M4 12h16M12 4v16\" stroke={color} strokeWidth=\"1\" strokeDasharray=\"2 2\" />\r\n {/* Nodes in subnets */}\r\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"16\" cy=\"8\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"8\" cy=\"16\" r=\"1.5\" fill={color} />\r\n <circle cx=\"16\" cy=\"16\" r=\"1.5\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'SubnetIcon' },\r\n);\r\n\r\n/** Port icon */\r\nexport const PortIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Server with port highlight */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Port number */}\r\n <text x=\"5\" y=\"14\" fontSize=\"5\" fill={variant === 'filled' ? '#fff' : accentColor || color}>\r\n :8080\r\n </text>\r\n {/* Open indicator */}\r\n <circle cx=\"17\" cy=\"7\" r=\"2\" fill=\"#22c55e\" />\r\n </>\r\n ),\r\n { displayName: 'PortIcon' },\r\n);\r\n\r\n/** Bandwidth icon */\r\nexport const BandwidthIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Pipe/tunnel */}\r\n <path\r\n d=\"M2 8h20v8H2z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* Flow inside */}\r\n <path\r\n d=\"M4 10h4M10 10h3M15 10h5M5 14h3M10 14h4M16 14h3\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'BandwidthIcon' },\r\n);\r\n\r\n/** Latency icon */\r\nexport const LatencyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Clock with network */}\r\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n <path d=\"M12 6v6l4 2\" stroke={accentColor || color} strokeWidth=\"2\" strokeLinecap=\"round\" />\r\n {/* ms label */}\r\n <text x=\"8\" y=\"22\" fontSize=\"4\" fill={color}>\r\n ms\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'LatencyIcon' },\r\n);\r\n\r\n/** Packet icon */\r\nexport const PacketIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Data packet */}\r\n <rect\r\n x=\"4\"\r\n y=\"6\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Header */}\r\n <rect x=\"4\" y=\"6\" width=\"16\" height=\"4\" fill={accentColor || color} opacity=\"0.5\" />\r\n {/* Data content */}\r\n <path\r\n d=\"M6 14h8M6 16h4\"\r\n stroke={variant === 'filled' ? 'rgba(255,255,255,0.5)' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PacketIcon' },\r\n);\r\n\r\n/** Network topology icon */\r\nexport const TopologyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Star topology */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"4\" r=\"2\" fill={color} />\r\n <circle cx=\"20\" cy=\"12\" r=\"2\" fill={color} />\r\n <circle cx=\"12\" cy=\"20\" r=\"2\" fill={color} />\r\n <circle cx=\"4\" cy=\"12\" r=\"2\" fill={color} />\r\n {/* Connections */}\r\n <path d=\"M12 9V6M15 12h3M12 15v3M9 12H6\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'TopologyIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n VPN & Security\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** VPN tunnel icon */\r\nexport const VPNTunnelIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Tunnel */}\r\n <path\r\n d=\"M4 8c4 4 12 4 16 0v8c-4 4-12 4-16 0z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Lock inside */}\r\n <rect x=\"9\" y=\"10\" width=\"6\" height=\"5\" rx=\"1\" fill={accentColor || color} />\r\n <path\r\n d=\"M10 10V8c0-1 1-2 2-2s2 1 2 2v2\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'VPNTunnelIcon' },\r\n);\r\n\r\n/** SSL/TLS icon */\r\nexport const SSLIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Certificate with lock */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Lock */}\r\n <rect x=\"9\" y=\"11\" width=\"6\" height=\"5\" rx=\"1\" fill={accentColor || '#22c55e'} />\r\n <path\r\n d=\"M10 11V9c0-1 1-2 2-2s2 1 2 2v2\"\r\n fill=\"none\"\r\n stroke={accentColor || '#22c55e'}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* SSL text */}\r\n <text x=\"7\" y=\"9\" fontSize=\"4\" fill={variant === 'filled' ? '#fff' : color}>\r\n SSL\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'SSLIcon' },\r\n);\r\n\r\n/** API Gateway icon */\r\nexport const APIGatewayIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Gateway shape */}\r\n <path\r\n d=\"M12 4l8 4v8l-8 4-8-4V8z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* API text */}\r\n <text\r\n x=\"7\"\r\n y=\"14\"\r\n fontSize=\"5\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n API\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'APIGatewayIcon' },\r\n);\r\n\r\n/** Network security icon */\r\nexport const NetworkSecurityIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Shield with network */}\r\n <path\r\n d=\"M12 2L4 6v5c0 5 3 9 8 10 5-1 8-5 8-10V6z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Network nodes */}\r\n <circle cx=\"12\" cy=\"9\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <circle cx=\"16\" cy=\"13\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n <path\r\n d=\"M12 9l-4 4M12 9l4 4M8 13h8\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'NetworkSecurityIcon' },\r\n);\r\n\r\n// Export type for networking icon names\r\nexport type NetworkingIconName =\r\n | 'HTTP'\r\n | 'HTTPS'\r\n | 'TCP'\r\n | 'UDP'\r\n | 'FTP'\r\n | 'SSH'\r\n | 'DNS'\r\n | 'DHCP'\r\n | 'Router'\r\n | 'Switch'\r\n | 'Firewall'\r\n | 'LoadBalancer'\r\n | 'Gateway'\r\n | 'Proxy'\r\n | 'WiFi'\r\n | 'Bluetooth'\r\n | 'Ethernet'\r\n | 'Cellular'\r\n | 'NFC'\r\n | 'IPAddress'\r\n | 'Subnet'\r\n | 'Port'\r\n | 'Bandwidth'\r\n | 'Latency'\r\n | 'Packet'\r\n | 'Topology'\r\n | 'VPNTunnel'\r\n | 'SSL'\r\n | 'APIGateway'\r\n | 'NetworkSecurity';\r\n","/**\r\n * @file architecture.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Software architecture, design patterns, and system design icons (~32 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Architecture Patterns\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Microservices icon */\r\nexport const MicroservicesIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Multiple small services */}\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"5\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"9\"\r\n y=\"4\"\r\n width=\"5\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"16\"\r\n y=\"4\"\r\n width=\"5\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"2\"\r\n y=\"14\"\r\n width=\"5\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"9\"\r\n y=\"14\"\r\n width=\"5\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"16\"\r\n y=\"14\"\r\n width=\"5\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Connections */}\r\n <path\r\n d=\"M7 6.5h2M14 6.5h2M4.5 9v5M11.5 9v5M18.5 9v5M7 16.5h2M14 16.5h2\"\r\n stroke={color}\r\n strokeWidth=\"0.5\"\r\n opacity=\"0.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MicroservicesIcon' },\r\n);\r\n\r\n/** Monolith icon */\r\nexport const MonolithIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Large single block */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Internal layers */}\r\n <path\r\n d=\"M4 8h16M4 12h16M4 16h16\"\r\n stroke={variant === 'filled' ? 'rgba(255,255,255,0.3)' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'MonolithIcon' },\r\n);\r\n\r\n/** SOA (Service Oriented Architecture) icon */\r\nexport const SOAIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Services */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* ESB in center */}\r\n <rect\r\n x=\"9\"\r\n y=\"9\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n <text x=\"10\" y=\"13.5\" fontSize=\"3\" fill={variant === 'filled' ? '#fff' : color}>\r\n ESB\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'SOAIcon' },\r\n);\r\n\r\n/** Event-driven architecture icon */\r\nexport const EventDrivenIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Event bus */}\r\n <rect\r\n x=\"4\"\r\n y=\"10\"\r\n width=\"16\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Publishers */}\r\n <path d=\"M6 6v4M10 6v4M14 4v6M18 6v4\" stroke={color} strokeWidth=\"2\" />\r\n <circle cx=\"6\" cy=\"5\" r=\"1.5\" fill={color} />\r\n <circle cx=\"10\" cy=\"5\" r=\"1.5\" fill={color} />\r\n <circle cx=\"14\" cy=\"3\" r=\"1.5\" fill={color} />\r\n <circle cx=\"18\" cy=\"5\" r=\"1.5\" fill={color} />\r\n {/* Subscribers */}\r\n <path d=\"M8 14v4M12 14v4M16 14v6\" stroke={color} strokeWidth=\"2\" />\r\n <rect x=\"6.5\" y=\"18\" width=\"3\" height=\"2\" fill={color} />\r\n <rect x=\"10.5\" y=\"18\" width=\"3\" height=\"2\" fill={color} />\r\n <rect x=\"14.5\" y=\"20\" width=\"3\" height=\"2\" fill={color} />\r\n </>\r\n ),\r\n { displayName: 'EventDrivenIcon' },\r\n);\r\n\r\n/** Serverless icon */\r\nexport const ServerlessIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Lambda/function symbol */}\r\n <path\r\n d=\"M12 4L6 12h4l-2 8 8-10h-4z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n strokeLinejoin=\"round\"\r\n />\r\n {/* No server indicator */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeDasharray=\"4 2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ServerlessIcon' },\r\n);\r\n\r\n/** Hexagonal architecture icon */\r\nexport const HexagonalIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hexagon */}\r\n <path\r\n d=\"M12 2L20 7v10l-8 5-8-5V7z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Inner core */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Ports */}\r\n <circle cx=\"12\" cy=\"4\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"18\" cy=\"8\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"18\" cy=\"16\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"12\" cy=\"20\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"6\" cy=\"16\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"6\" cy=\"8\" r=\"1.5\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'HexagonalIcon' },\r\n);\r\n\r\n/** Clean architecture icon */\r\nexport const CleanArchitectureIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Concentric circles */}\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"7\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Arrow pointing inward */}\r\n <path d=\"M12 2v4M20 12h-4M12 22v-4M4 12h4\" stroke={color} strokeWidth=\"1.5\" opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'CleanArchitectureIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Design Patterns\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Singleton pattern icon */\r\nexport const SingletonIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Single instance */}\r\n <rect\r\n x=\"8\"\r\n y=\"8\"\r\n width=\"8\"\r\n height=\"8\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* \"1\" indicator */}\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n {/* Attempts to create more */}\r\n <path\r\n d=\"M4 4L8 8M20 4L16 8M4 20L8 16M20 20L16 16\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeDasharray=\"2 2\"\r\n opacity=\"0.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SingletonIcon' },\r\n);\r\n\r\n/** Factory pattern icon */\r\nexport const FactoryIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Factory building */}\r\n <path\r\n d=\"M4 20V8l4-4v6L12 6v6l4-4v6l4-4v16z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Products */}\r\n <rect x=\"6\" y=\"15\" width=\"3\" height=\"3\" fill={accentColor || color} />\r\n <rect x=\"10\" y=\"15\" width=\"3\" height=\"3\" fill={accentColor || color} />\r\n <rect x=\"14\" y=\"15\" width=\"3\" height=\"3\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'FactoryIcon' },\r\n);\r\n\r\n/** Observer pattern icon */\r\nexport const ObserverIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Subject */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"8\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Observers */}\r\n <circle\r\n cx=\"6\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"20\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <circle\r\n cx=\"18\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* Notifications */}\r\n <path d=\"M12 12v4M9 11l-3 4M15 11l3 4\" stroke={color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'ObserverIcon' },\r\n);\r\n\r\n/** Strategy pattern icon */\r\nexport const StrategyIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Context */}\r\n <rect\r\n x=\"8\"\r\n y=\"4\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Interface */}\r\n <rect\r\n x=\"8\"\r\n y=\"12\"\r\n width=\"8\"\r\n height=\"4\"\r\n rx=\"1\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeDasharray=\"2 2\"\r\n />\r\n {/* Concrete strategies */}\r\n <rect x=\"2\" y=\"18\" width=\"5\" height=\"4\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n <rect x=\"9\" y=\"18\" width=\"5\" height=\"4\" rx=\"1\" fill={accentColor || color} opacity=\"0.8\" />\r\n <rect x=\"16\" y=\"18\" width=\"5\" height=\"4\" rx=\"1\" fill={accentColor || color} opacity=\"0.6\" />\r\n {/* Connections */}\r\n <path d=\"M12 10v2M12 16v2M4.5 18l3-2M12 18v0M19.5 18l-3-2\" stroke={color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'StrategyIcon' },\r\n);\r\n\r\n/** Adapter pattern icon */\r\nexport const AdapterIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Square plug */}\r\n <rect\r\n x=\"2\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"8\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Adapter */}\r\n <path d=\"M8 8h4v2h-2v4h2v2H8z\" fill={accentColor || color} />\r\n {/* Round socket */}\r\n <circle cx=\"18\" cy=\"12\" r=\"5\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Connection */}\r\n <path d=\"M12 12h8\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'AdapterIcon' },\r\n);\r\n\r\n/** Decorator pattern icon */\r\nexport const DecoratorIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Core component */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Decorators (layers) */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"7\"\r\n fill=\"none\"\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeDasharray=\"3 2\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeDasharray=\"3 2\"\r\n opacity=\"0.6\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'DecoratorIcon' },\r\n);\r\n\r\n/** Command pattern icon */\r\nexport const CommandIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Invoker */}\r\n <rect\r\n x=\"2\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Command */}\r\n <rect x=\"10\" y=\"10\" width=\"4\" height=\"4\" rx=\"1\" fill={accentColor || color} />\r\n {/* Receiver */}\r\n <rect\r\n x=\"16\"\r\n y=\"8\"\r\n width=\"6\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Arrows */}\r\n <path d=\"M8 12h2M14 12h2\" stroke={color} strokeWidth=\"1.5\" />\r\n <path d=\"M11 12l2 0\" stroke=\"#fff\" strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'CommandIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n System Components\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Message queue icon */\r\nexport const MessageQueueIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Queue pipe */}\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"16\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Messages in queue */}\r\n <rect x=\"5\" y=\"10\" width=\"3\" height=\"4\" rx=\"0.5\" fill={accentColor || color} />\r\n <rect x=\"9\" y=\"10\" width=\"3\" height=\"4\" rx=\"0.5\" fill={accentColor || color} opacity=\"0.8\" />\r\n <rect x=\"13\" y=\"10\" width=\"3\" height=\"4\" rx=\"0.5\" fill={accentColor || color} opacity=\"0.6\" />\r\n {/* In/out arrows */}\r\n <path d=\"M2 12h2M20 12h2\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'MessageQueueIcon' },\r\n);\r\n\r\n/** Cache icon */\r\nexport const CacheIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Fast storage box */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Lightning bolt for speed */}\r\n <path\r\n d=\"M13 4l-3 7h4l-2 9 5-10h-4z\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n />\r\n </>\r\n ),\r\n { displayName: 'CacheIcon' },\r\n);\r\n\r\n/** CDN icon */\r\nexport const CDNIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Globe */}\r\n <circle cx=\"12\" cy=\"12\" r=\"9\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <ellipse cx=\"12\" cy=\"12\" rx=\"4\" ry=\"9\" fill=\"none\" stroke={color} strokeWidth=\"1\" />\r\n <path d=\"M3 12h18\" stroke={color} strokeWidth=\"1\" />\r\n {/* Edge locations */}\r\n <circle cx=\"5\" cy=\"7\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"19\" cy=\"7\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"5\" cy=\"17\" r=\"2\" fill={accentColor || color} />\r\n <circle cx=\"19\" cy=\"17\" r=\"2\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'CDNIcon' },\r\n);\r\n\r\n/** API icon */\r\nexport const APIIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"6\"\r\n y=\"15\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n API\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'APIIcon' },\r\n);\r\n\r\n/** SDK icon */\r\nexport const SDKIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Toolbox */}\r\n <rect\r\n x=\"4\"\r\n y=\"8\"\r\n width=\"16\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Handle */}\r\n <path d=\"M8 8V6c0-1 1-2 4-2s4 1 4 2v2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* SDK text */}\r\n <text\r\n x=\"5\"\r\n y=\"17\"\r\n fontSize=\"5\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n SDK\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'SDKIcon' },\r\n);\r\n\r\n/** Webhook icon */\r\nexport const WebhookIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hook shape */}\r\n <path\r\n d=\"M12 4v10c0 2-2 4-4 4s-4-2-4-4M4 14h4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n {/* Outgoing signals */}\r\n <path d=\"M14 8l4-2M14 12l6 0M14 16l4 2\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'WebhookIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n CQRS & DDD\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** CQRS icon */\r\nexport const CQRSIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Command side */}\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"8\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <text x=\"3\" y=\"10\" fontSize=\"3\" fill={variant === 'filled' ? '#fff' : color}>\r\n CMD\r\n </text>\r\n <path d=\"M4 13h4\" stroke={variant === 'filled' ? '#fff' : color} strokeWidth=\"1\" />\r\n {/* Query side */}\r\n <rect\r\n x=\"14\"\r\n y=\"4\"\r\n width=\"8\"\r\n height=\"16\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <text x=\"15\" y=\"10\" fontSize=\"3\" fill={variant === 'filled' ? '#fff' : accentColor || color}>\r\n QRY\r\n </text>\r\n <path\r\n d=\"M16 13h4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* Separation */}\r\n <path d=\"M12 2v20\" stroke={color} strokeWidth=\"1\" strokeDasharray=\"2 2\" />\r\n </>\r\n ),\r\n { displayName: 'CQRSIcon' },\r\n);\r\n\r\n/** Domain-Driven Design icon */\r\nexport const DDDIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Bounded contexts */}\r\n <rect\r\n x=\"2\"\r\n y=\"2\"\r\n width=\"9\"\r\n height=\"9\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <rect\r\n x=\"13\"\r\n y=\"2\"\r\n width=\"9\"\r\n height=\"9\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <rect\r\n x=\"2\"\r\n y=\"13\"\r\n width=\"9\"\r\n height=\"9\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <rect\r\n x=\"13\"\r\n y=\"13\"\r\n width=\"9\"\r\n height=\"9\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {/* Context connections */}\r\n <path d=\"M11 6.5h2M6.5 11v2M17.5 11v2M11 17.5h2\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'DDDIcon' },\r\n);\r\n\r\n/** Aggregate icon */\r\nexport const AggregateIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Root entity */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"10\"\r\n r=\"5\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Child entities */}\r\n <circle\r\n cx=\"6\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.6\"\r\n />\r\n <circle cx=\"12\" cy=\"20\" r=\"2\" fill={color} opacity=\"0.4\" />\r\n <circle\r\n cx=\"18\"\r\n cy=\"18\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.6\"\r\n />\r\n {/* Boundary */}\r\n <path\r\n d=\"M2 4c0 10 4 18 10 18s10-8 10-18\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeDasharray=\"3 2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'AggregateIcon' },\r\n);\r\n\r\n/** Repository pattern icon */\r\nexport const RepositoryPatternIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Repository layer */}\r\n <rect\r\n x=\"8\"\r\n y=\"8\"\r\n width=\"8\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n <text x=\"10\" y=\"14\" fontSize=\"4\" fill={variant === 'filled' ? '#fff' : color}>\r\n R\r\n </text>\r\n {/* Domain layer */}\r\n <rect x=\"4\" y=\"2\" width=\"16\" height=\"5\" rx=\"1\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Data layer */}\r\n <path d=\"M4 18h16M6 20h12M8 22h8\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Arrows */}\r\n <path d=\"M12 7v1M12 16v2\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'RepositoryPatternIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Scalability Patterns\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Horizontal scaling icon */\r\nexport const HorizontalScaleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Multiple instances */}\r\n <rect\r\n x=\"2\"\r\n y=\"8\"\r\n width=\"5\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"9\"\r\n y=\"8\"\r\n width=\"5\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"16\"\r\n y=\"8\"\r\n width=\"5\"\r\n height=\"8\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Horizontal arrows */}\r\n <path d=\"M2 4h20M22 4l-3-2v4z\" fill={color} stroke={color} strokeWidth=\"1\" />\r\n </>\r\n ),\r\n { displayName: 'HorizontalScaleIcon' },\r\n);\r\n\r\n/** Vertical scaling icon */\r\nexport const VerticalScaleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Expanding box */}\r\n <rect\r\n x=\"6\"\r\n y=\"6\"\r\n width=\"12\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Growth indicators */}\r\n <path d=\"M8 12h8M12 8v8\" stroke={accentColor || color} strokeWidth=\"2\" />\r\n {/* Vertical arrows */}\r\n <path\r\n d=\"M12 2v2M12 2l-2 2M12 2l2 2M12 22v-2M12 22l-2-2M12 22l2-2\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'VerticalScaleIcon' },\r\n);\r\n\r\n/** Sharding icon */\r\nexport const ShardingPatternIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Database split into shards */}\r\n <path\r\n d=\"M4 4h4v8H4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M10 4h4v8h-4z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M16 4h4v8h-4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Shard router */}\r\n <path d=\"M6 16l6-2 6 2\" stroke={color} strokeWidth=\"1.5\" />\r\n <rect x=\"9\" y=\"16\" width=\"6\" height=\"4\" rx=\"1\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'ShardingPatternIcon' },\r\n);\r\n\r\n/** Circuit breaker icon */\r\nexport const CircuitBreakerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Circuit */}\r\n <circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\r\n {/* Breaker switch */}\r\n <path d=\"M8 12h3M13 12h3\" stroke={color} strokeWidth=\"2\" />\r\n {/* Open state indicator */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || '#ef4444'}\r\n stroke={accentColor || '#ef4444'}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Break indicator */}\r\n <path\r\n d=\"M11 11l2 2M13 11l-2 2\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'CircuitBreakerIcon' },\r\n);\r\n\r\n// Export type for architecture icon names\r\nexport type ArchitectureIconName =\r\n | 'Microservices'\r\n | 'Monolith'\r\n | 'SOA'\r\n | 'EventDriven'\r\n | 'Serverless'\r\n | 'Hexagonal'\r\n | 'CleanArchitecture'\r\n | 'Singleton'\r\n | 'Factory'\r\n | 'Observer'\r\n | 'Strategy'\r\n | 'Adapter'\r\n | 'Decorator'\r\n | 'Command'\r\n | 'MessageQueue'\r\n | 'Cache'\r\n | 'CDN'\r\n | 'API'\r\n | 'SDK'\r\n | 'Webhook'\r\n | 'CQRS'\r\n | 'DDD'\r\n | 'Aggregate'\r\n | 'RepositoryPattern'\r\n | 'HorizontalScale'\r\n | 'VerticalScale'\r\n | 'ShardingPattern'\r\n | 'CircuitBreaker';\r\n","/**\r\n * @file tools.tsx\r\n * @module @nice2dev/icons-tech\r\n * @description Developer tools, IDEs, utilities, and productivity icons (~35 icons)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport { createTechIcon } from './createTechIcon';\r\nimport type { TechIconProps } from './types';\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Code Editors & IDEs\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** VS Code icon */\r\nexport const VSCodeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <path\r\n d=\"M17 2l5 3v14l-5 3-12-9V8z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <path\r\n d=\"M5 8l7 4-7 4M17 2v20\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'VSCodeIcon' },\r\n);\r\n\r\n/** JetBrains icon */\r\nexport const JetBrainsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* JB logo abstraction */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"6\"\r\n y=\"15\"\r\n fontSize=\"7\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n JB\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'JetBrainsIcon' },\r\n);\r\n\r\n/** Vim icon */\r\nexport const VimIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* V shape */}\r\n <path\r\n d=\"M4 4l8 16 8-16\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n {/* vim text */}\r\n <text x=\"7\" y=\"22\" fontSize=\"4\" fill={accentColor || color}>\r\n vim\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'VimIcon' },\r\n);\r\n\r\n/** Sublime Text icon */\r\nexport const SublimeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* S shape */}\r\n <path\r\n d=\"M6 8c0-3 3-4 6-4s6 1 6 4c0 2-2 3-4 3H8c-2 0-4 2-4 4s3 5 8 5 8-2 8-5\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SublimeIcon' },\r\n);\r\n\r\n/** Atom icon */\r\nexport const AtomIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Nucleus */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Electron orbits */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"10\"\r\n ry=\"4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n transform=\"rotate(60 12 12)\"\r\n />\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"12\"\r\n rx=\"10\"\r\n ry=\"4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n transform=\"rotate(-60 12 12)\"\r\n />\r\n <ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'AtomIcon' },\r\n);\r\n\r\n/** Notepad++ icon */\r\nexport const NotepadPlusIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Notepad */}\r\n <rect\r\n x=\"5\"\r\n y=\"3\"\r\n width=\"14\"\r\n height=\"18\"\r\n rx=\"1\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Lines */}\r\n <path\r\n d=\"M8 8h8M8 12h8M8 16h5\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n {/* ++ */}\r\n <text x=\"14\" y=\"20\" fontSize=\"5\" fontWeight=\"bold\" fill={accentColor || '#22c55e'}>\r\n ++\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'NotepadPlusIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Version Control\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Git icon */\r\nexport const GitIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Git branches */}\r\n <circle\r\n cx=\"6\"\r\n cy=\"6\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"18\"\r\n cy=\"6\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"18\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Connections */}\r\n <path d=\"M6 8v2c0 1 1 2 4 2h4c3 0 4-1 4-2V8M12 14v2\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'GitIcon' },\r\n);\r\n\r\n/** GitHub icon */\r\nexport const GitHubIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Octocat silhouette */}\r\n <path\r\n d=\"M12 2C6.5 2 2 6.5 2 12c0 4.4 2.9 8.2 6.8 9.5.5.1.7-.2.7-.5v-1.7c-2.8.6-3.4-1.3-3.4-1.3-.5-1.1-1.1-1.4-1.1-1.4-.9-.6.1-.6.1-.6 1 .1 1.5 1 1.5 1 .9 1.5 2.3 1.1 2.9.8.1-.7.3-1.1.6-1.3-2.2-.3-4.6-1.1-4.6-5 0-1.1.4-2 1-2.7-.1-.2-.5-1.3.1-2.7 0 0 .8-.3 2.7 1 .8-.2 1.6-.3 2.4-.3s1.6.1 2.4.3c1.9-1.3 2.7-1 2.7-1 .6 1.4.2 2.5.1 2.7.6.7 1 1.6 1 2.7 0 3.9-2.4 4.7-4.6 5 .4.3.7.9.7 1.9v2.8c0 .3.2.6.7.5 4-1.3 6.8-5.1 6.8-9.5C22 6.5 17.5 2 12 2z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"0.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'GitHubIcon' },\r\n);\r\n\r\n/** GitLab icon */\r\nexport const GitLabIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Fox logo */}\r\n <path\r\n d=\"M12 20L2 14l3-10 2 6h10l2-6 3 10z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeLinejoin=\"round\"\r\n opacity=\"0.9\"\r\n />\r\n <path d=\"M7 10l5 10 5-10\" fill={accentColor || color} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'GitLabIcon' },\r\n);\r\n\r\n/** Bitbucket icon */\r\nexport const BitbucketIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Bucket shape */}\r\n <path\r\n d=\"M4 4l2 16h12l2-16z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Inner gradient effect */}\r\n <path d=\"M8 10l4 6 4-6\" fill={accentColor || color} opacity=\"0.6\" />\r\n </>\r\n ),\r\n { displayName: 'BitbucketIcon' },\r\n);\r\n\r\n/** Commit icon */\r\nexport const CommitIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Commit point */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"4\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Timeline */}\r\n <path d=\"M12 2v6M12 16v6\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'CommitIcon' },\r\n);\r\n\r\n/** Branch icon */\r\nexport const BranchIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Main branch */}\r\n <circle\r\n cx=\"6\"\r\n cy=\"6\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"6\"\r\n cy=\"18\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M6 8v8\" stroke={color} strokeWidth=\"2\" />\r\n {/* Branch */}\r\n <circle\r\n cx=\"18\"\r\n cy=\"12\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M6 8c0 3 6 4 10 4\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'BranchIcon' },\r\n);\r\n\r\n/** Merge icon */\r\nexport const MergeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Two branches merging */}\r\n <circle\r\n cx=\"6\"\r\n cy=\"6\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"18\"\r\n cy=\"6\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"18\"\r\n r=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path d=\"M6 8c0 4 3 8 6 8M18 8c0 4-3 8-6 8\" stroke={color} strokeWidth=\"2\" />\r\n </>\r\n ),\r\n { displayName: 'MergeIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Build & Package Tools\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** NPM icon */\r\nexport const NPMIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"6\"\r\n width=\"20\"\r\n height=\"12\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n <text\r\n x=\"4\"\r\n y=\"15\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fill={variant === 'filled' ? '#fff' : accentColor || color}\r\n >\r\n npm\r\n </text>\r\n </>\r\n ),\r\n { displayName: 'NPMIcon' },\r\n);\r\n\r\n/** Yarn icon */\r\nexport const YarnIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Cat/yarn ball */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Yarn strands */}\r\n <path\r\n d=\"M8 8c4 1 4 8 0 8M12 6c0 6-2 10 2 10M16 8c-4 1-4 8 0 8\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'YarnIcon' },\r\n);\r\n\r\n/** PNPM icon */\r\nexport const PNPMIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hexagonal structure representing hard links */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"4\"\r\n width=\"6\"\r\n height=\"6\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"4\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <rect\r\n x=\"14\"\r\n y=\"14\"\r\n width=\"6\"\r\n height=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Links */}\r\n <path\r\n d=\"M10 7h4M7 10v4M17 10v4M10 17h4\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeDasharray=\"2 1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PNPMIcon' },\r\n);\r\n\r\n/** Webpack icon */\r\nexport const WebpackIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Cube */}\r\n <path\r\n d=\"M12 2l9 5v10l-9 5-9-5V7z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Inner structure */}\r\n <path\r\n d=\"M12 7v10M12 7l6 3M12 7l-6 3M12 17l6-3M12 17l-6-3\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'WebpackIcon' },\r\n);\r\n\r\n/** Vite icon */\r\nexport const ViteIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Lightning bolt V */}\r\n <path\r\n d=\"M20 4L8 20h4l2-8 6 2z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path d=\"M4 4l8 16\" stroke={color} strokeWidth=\"2.5\" strokeLinecap=\"round\" />\r\n </>\r\n ),\r\n { displayName: 'ViteIcon' },\r\n);\r\n\r\n/** Rollup icon */\r\nexport const RollupIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Rolled paper */}\r\n <path\r\n d=\"M6 4v16c0 0 4-2 6-2s6 2 6 2V4c0 0-4 2-6 2S6 4 6 4z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Roll effect */}\r\n <ellipse cx=\"12\" cy=\"4\" rx=\"6\" ry=\"2\" fill={accentColor || color} opacity=\"0.5\" />\r\n </>\r\n ),\r\n { displayName: 'RollupIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n API & Documentation Tools\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Postman icon */\r\nexport const PostmanIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Space helmet */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Visor */}\r\n <path\r\n d=\"M6 10c0-3 3-5 6-5s6 2 6 5c0 2-2 4-6 4s-6-2-6-4z\"\r\n fill={accentColor || color}\r\n opacity=\"0.6\"\r\n />\r\n {/* Reflection */}\r\n <path\r\n d=\"M8 9c1-1 3-1.5 4-1\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.8\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'PostmanIcon' },\r\n);\r\n\r\n/** Swagger icon */\r\nexport const SwaggerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* API doc */}\r\n <rect\r\n x=\"4\"\r\n y=\"2\"\r\n width=\"16\"\r\n height=\"20\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Swagger symbol */}\r\n <path\r\n d=\"M8 8h8M8 12h8M8 16h4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || '#22c55e'}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Pet/dog icon (swagger petstore reference) */}\r\n <circle cx=\"16\" cy=\"16\" r=\"2\" fill={accentColor || '#22c55e'} />\r\n </>\r\n ),\r\n { displayName: 'SwaggerIcon' },\r\n);\r\n\r\n/** GraphQL Playground icon */\r\nexport const GraphQLPlaygroundIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* GraphQL logo simplified */}\r\n <path d=\"M12 2L3 7v10l9 5 9-5V7z\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n {/* Play button */}\r\n <path\r\n d=\"M10 8v8l6-4z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'GraphQLPlaygroundIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Linting & Formatting\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** ESLint icon */\r\nexport const ESLintIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Hexagon */}\r\n <path\r\n d=\"M12 2l8 5v10l-8 5-8-5V7z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Check mark */}\r\n <path\r\n d=\"M8 12l2 2 4-4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || '#22c55e'}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ESLintIcon' },\r\n);\r\n\r\n/** Prettier icon */\r\nexport const PrettierIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Layered brackets */}\r\n <path\r\n d=\"M6 4v16M10 4v16M14 4v12M18 4v8\"\r\n stroke={color}\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Decorative dots */}\r\n <circle cx=\"14\" cy=\"18\" r=\"1.5\" fill={accentColor || color} />\r\n <circle cx=\"18\" cy=\"14\" r=\"1.5\" fill={accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'PrettierIcon' },\r\n);\r\n\r\n/** StyleLint icon */\r\nexport const StyleLintIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* CSS-like brackets */}\r\n <path\r\n d=\"M8 4c-3 0-4 2-4 4v4c0 2-2 2-2 2s2 0 2 2v4c0 2 1 4 4 4M16 4c3 0 4 2 4 4v4c0 2 2 2 2 2s-2 0-2 2v4c0 2-1 4-4 4\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n />\r\n {/* Check */}\r\n <path d=\"M9 12l2 2 4-4\" stroke={accentColor || '#22c55e'} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'StyleLintIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Debugging & Profiling\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Debugger icon */\r\nexport const DebuggerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Bug */}\r\n <ellipse\r\n cx=\"12\"\r\n cy=\"14\"\r\n rx=\"5\"\r\n ry=\"6\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Legs */}\r\n <path\r\n d=\"M4 10l3 2M4 14h3M4 18l3-2M20 10l-3 2M20 14h-3M20 18l-3-2\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Head */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"7\"\r\n r=\"3\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Antennae */}\r\n <path d=\"M10 5l-2-3M14 5l2-3\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'DebuggerIcon' },\r\n);\r\n\r\n/** Breakpoint icon */\r\nexport const BreakpointIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Line numbers */}\r\n <text x=\"2\" y=\"8\" fontSize=\"5\" fill={color} opacity=\"0.5\">\r\n 1\r\n </text>\r\n <text x=\"2\" y=\"14\" fontSize=\"5\" fill={color} opacity=\"0.5\">\r\n 2\r\n </text>\r\n <text x=\"2\" y=\"20\" fontSize=\"5\" fill={color} opacity=\"0.5\">\r\n 3\r\n </text>\r\n {/* Breakpoint dot */}\r\n <circle cx=\"10\" cy=\"12\" r=\"4\" fill={accentColor || '#ef4444'} />\r\n {/* Code lines */}\r\n <path d=\"M14 6h6M14 12h6M14 18h4\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'BreakpointIcon' },\r\n);\r\n\r\n/** Profiler icon */\r\nexport const ProfilerIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Flame graph bars */}\r\n <rect x=\"4\" y=\"12\" width=\"3\" height=\"8\" fill={color} />\r\n <rect x=\"7\" y=\"8\" width=\"3\" height=\"12\" fill={accentColor || color} />\r\n <rect x=\"10\" y=\"4\" width=\"3\" height=\"16\" fill={color} />\r\n <rect x=\"13\" y=\"10\" width=\"3\" height=\"10\" fill={accentColor || color} />\r\n <rect x=\"16\" y=\"6\" width=\"3\" height=\"14\" fill={color} />\r\n {/* Timeline */}\r\n <path d=\"M2 20h20\" stroke={color} strokeWidth=\"1.5\" />\r\n </>\r\n ),\r\n { displayName: 'ProfilerIcon' },\r\n);\r\n\r\n/** Console icon */\r\nexport const ConsoleIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n <rect\r\n x=\"2\"\r\n y=\"4\"\r\n width=\"20\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Prompt */}\r\n <path\r\n d=\"M6 10l3 2-3 2M11 14h5\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || '#22c55e'}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ConsoleIcon' },\r\n);\r\n\r\n/* ══════════════════════════════════════════════════════════════════════════════\r\n Productivity & Utilities\r\n ══════════════════════════════════════════════════════════════════════════════ */\r\n\r\n/** Snippet icon */\r\nexport const SnippetIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Code block */}\r\n <rect\r\n x=\"4\"\r\n y=\"4\"\r\n width=\"16\"\r\n height=\"16\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Brackets */}\r\n <path\r\n d=\"M8 8l-2 4 2 4M16 8l2 4-2 4\"\r\n stroke={variant === 'filled' ? '#fff' : accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n {/* Dot */}\r\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : accentColor || color} />\r\n </>\r\n ),\r\n { displayName: 'SnippetIcon' },\r\n);\r\n\r\n/** Keyboard shortcut icon */\r\nexport const KeyboardShortcutIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Keyboard */}\r\n <rect\r\n x=\"2\"\r\n y=\"8\"\r\n width=\"20\"\r\n height=\"12\"\r\n rx=\"2\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n {/* Keys */}\r\n <rect x=\"4\" y=\"10\" width=\"4\" height=\"3\" rx=\"0.5\" fill={accentColor || color} opacity=\"0.7\" />\r\n <rect x=\"9\" y=\"10\" width=\"4\" height=\"3\" rx=\"0.5\" fill={accentColor || color} opacity=\"0.7\" />\r\n <path\r\n d=\"M6 15h12\"\r\n stroke={variant === 'filled' ? 'rgba(255,255,255,0.5)' : color}\r\n strokeWidth=\"2\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'KeyboardShortcutIcon' },\r\n);\r\n\r\n/** Extension/Plugin icon */\r\nexport const ExtensionIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Puzzle piece */}\r\n <path\r\n d=\"M4 8v12h12v-3c0-1 1-2 2-2s2 1 2 2v3h0V8c0 0-1-0-2 0s-2-1-2-2 1-2 2-2 2 0 2 0H4c0 0 0 1 0 2s-1 2-2 2-2-1-2-2 0-2 0-2z\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.9\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'ExtensionIcon' },\r\n);\r\n\r\n/** Theme icon */\r\nexport const ThemeIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Palette */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n fill={variant === 'outlined' ? 'none' : color}\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n opacity=\"0.8\"\r\n />\r\n {/* Color dots */}\r\n <circle cx=\"8\" cy=\"8\" r=\"2\" fill={accentColor || '#3b82f6'} />\r\n <circle cx=\"14\" cy=\"7\" r=\"2\" fill=\"#22c55e\" />\r\n <circle cx=\"17\" cy=\"12\" r=\"2\" fill=\"#eab308\" />\r\n <circle cx=\"14\" cy=\"17\" r=\"2\" fill=\"#ef4444\" />\r\n </>\r\n ),\r\n { displayName: 'ThemeIcon' },\r\n);\r\n\r\n/** Settings/Gear icon */\r\nexport const SettingsIcon = createTechIcon(\r\n ({ color, accentColor, variant }: TechIconProps) => (\r\n <>\r\n {/* Gear */}\r\n <path\r\n d=\"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"\r\n fill={variant === 'outlined' ? 'none' : accentColor || color}\r\n stroke={accentColor || color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n </>\r\n ),\r\n { displayName: 'SettingsIcon' },\r\n);\r\n\r\n// Export type for tools icon names\r\nexport type ToolsIconName =\r\n | 'VSCode'\r\n | 'JetBrains'\r\n | 'Vim'\r\n | 'Sublime'\r\n | 'Atom'\r\n | 'NotepadPlus'\r\n | 'Git'\r\n | 'GitHub'\r\n | 'GitLab'\r\n | 'Bitbucket'\r\n | 'Commit'\r\n | 'Branch'\r\n | 'Merge'\r\n | 'NPM'\r\n | 'Yarn'\r\n | 'PNPM'\r\n | 'Webpack'\r\n | 'Vite'\r\n | 'Rollup'\r\n | 'Postman'\r\n | 'Swagger'\r\n | 'GraphQLPlayground'\r\n | 'ESLint'\r\n | 'Prettier'\r\n | 'StyleLint'\r\n | 'Debugger'\r\n | 'Breakpoint'\r\n | 'Profiler'\r\n | 'Console'\r\n | 'Snippet'\r\n | 'KeyboardShortcut'\r\n | 'Extension'\r\n | 'Theme'\r\n | 'Settings';\r\n","/**\r\n * @nice2dev/icons-tech\r\n * React icon library for developer tools, cloud computing, and technology icons\r\n * PRO-28: Extended with ~350 additional icons across 11 new categories\r\n */\r\n\r\n// Export types\r\nexport type {\r\n TechIconProps,\r\n TechIconAnimation,\r\n DevToolsIconName,\r\n CloudIconName,\r\n InfraIconName,\r\n DevelopmentIconName,\r\n TechIconName,\r\n // Extended icon name types (PRO-28)\r\n SecurityIconName,\r\n AIMLIconName,\r\n WebIconName,\r\n FrameworkIconName,\r\n MobileIconName,\r\n TestingIconName,\r\n DevOpsIconName,\r\n DatabaseExtIconName,\r\n NetworkingIconName,\r\n ArchitectureIconName,\r\n ToolsIconName,\r\n} from './types';\r\n\r\n// Export factory\r\nexport { createTechIcon, getTechAnimation, iconDefaults } from './createTechIcon';\r\n\r\n// Re-export all icons from each category (original - these take priority)\r\nexport * from './devtools';\r\nexport * from './cloud';\r\nexport * from './infrastructure';\r\nexport * from './development';\r\n\r\n// Re-export from PRO-28 extended categories (selective to avoid duplicates)\r\nexport * from './security';\r\nexport * from './ai-ml';\r\nexport * from './frameworks';\r\n\r\n// From ./web - exclude duplicates: ServerIcon, SessionIcon, CacheIcon, CDNIcon, ComponentIcon, StateIcon\r\nexport {\r\n HTML5Icon,\r\n CSS3Icon,\r\n JavaScriptIcon,\r\n TypeScriptIcon,\r\n ResponsiveIcon,\r\n DOMIcon,\r\n CSSGridIcon,\r\n FlexboxIcon,\r\n RestAPIIcon,\r\n GraphQLIcon,\r\n WebSocketIcon,\r\n MiddlewareIcon,\r\n AuthIcon,\r\n CookieIcon,\r\n PerformanceIcon,\r\n PWAIcon,\r\n SEOIcon,\r\n AccessibilityIcon,\r\n BundleIcon,\r\n MinifyIcon,\r\n SSRIcon,\r\n StaticSiteIcon,\r\n} from './web';\r\n\r\n// From ./mobile - exclude duplicate: SDKIcon\r\nexport {\r\n iOSIcon,\r\n AndroidIcon,\r\n SwiftIcon,\r\n KotlinIcon,\r\n FlutterIcon,\r\n ReactNativeIcon,\r\n XamarinIcon,\r\n IonicIcon,\r\n CapacitorIcon,\r\n CordovaIcon,\r\n SmartphoneIcon,\r\n TabletIcon,\r\n SmartwatchIcon,\r\n AppStoreIcon,\r\n PlayStoreIcon,\r\n PushNotificationIcon,\r\n GesturesIcon,\r\n TouchIDIcon,\r\n FaceIDIcon,\r\n MobilePaymentIcon,\r\n DeepLinkingIcon,\r\n OfflineModeIcon,\r\n AppIconIcon,\r\n AppAnalyticsIcon,\r\n ResponsiveLayoutIcon,\r\n InAppPurchaseIcon,\r\n EmulatorIcon,\r\n SimulatorIcon,\r\n APKIcon,\r\n IPAIcon,\r\n} from './mobile';\r\n\r\n// From ./testing - exclude duplicates: BugIcon, DebugIcon\r\nexport {\r\n TestPassedIcon,\r\n TestFailedIcon,\r\n TestSkippedIcon,\r\n TestPendingIcon,\r\n TestFlakyIcon,\r\n UnitTestIcon,\r\n IntegrationTestIcon,\r\n E2ETestIcon,\r\n PerformanceTestIcon,\r\n LoadTestIcon,\r\n SecurityTestIcon,\r\n A11yTestIcon,\r\n VisualRegressionIcon,\r\n SmokeTestIcon,\r\n RegressionTestIcon,\r\n JestIcon,\r\n CypressIcon,\r\n PlaywrightIcon,\r\n SeleniumIcon,\r\n MochaIcon,\r\n VitestIcon,\r\n TestingLibraryIcon,\r\n TestCoverageIcon,\r\n TestReportIcon,\r\n AssertionIcon,\r\n MockIcon,\r\n SpyIcon,\r\n FixtureIcon,\r\n SnapshotIcon,\r\n TestRunnerIcon,\r\n} from './testing';\r\n\r\n// From ./devops - exclude duplicate: BuildIcon\r\nexport {\r\n PipelineIcon,\r\n DeployIcon,\r\n ReleaseIcon,\r\n RollbackIcon,\r\n StagingIcon,\r\n ProductionIcon,\r\n GitHubActionsIcon,\r\n GitLabCIIcon,\r\n JenkinsIcon,\r\n AzureDevOpsIcon,\r\n CircleCIIcon,\r\n TravisCIIcon,\r\n DroneCIIcon,\r\n TerraformIcon,\r\n AnsibleIcon,\r\n PulumiIcon,\r\n HelmIcon,\r\n ArgoCDIcon,\r\n PrometheusIcon,\r\n GrafanaIcon,\r\n DatadogIcon,\r\n NewRelicIcon,\r\n SentryIcon,\r\n ELKIcon,\r\n GitOpsIcon,\r\n IaCIcon,\r\n BlueGreenIcon,\r\n CanaryIcon,\r\n FeatureFlagIcon,\r\n ServiceMeshIcon,\r\n} from './devops';\r\n\r\n// From ./database-ext - exclude duplicates: RedisIcon, BackupIcon\r\nexport {\r\n PostgreSQLIcon,\r\n MySQLIcon,\r\n SQLServerIcon,\r\n OracleIcon,\r\n SQLiteIcon,\r\n MongoDBIcon,\r\n CassandraIcon,\r\n DynamoDBIcon,\r\n CouchDBIcon,\r\n Neo4jIcon,\r\n FirebaseIcon,\r\n SupabaseIcon,\r\n PlanetScaleIcon,\r\n FaunaIcon,\r\n SchemaIcon,\r\n MigrationIcon,\r\n ReplicationIcon,\r\n ShardingIcon,\r\n IndexIcon,\r\n QueryIcon,\r\n TransactionIcon,\r\n ACIDIcon,\r\n ORMIcon,\r\n DataWarehouseIcon,\r\n ETLIcon,\r\n SnowflakeIcon,\r\n BigQueryIcon,\r\n RedshiftIcon,\r\n DatabricksIcon,\r\n} from './database-ext';\r\n\r\n// From ./networking - exclude duplicates: DNSIcon, SSLIcon, FirewallIcon, LoadBalancerIcon\r\nexport {\r\n HTTPIcon,\r\n HTTPSIcon,\r\n TCPIcon,\r\n UDPIcon,\r\n FTPIcon,\r\n SSHIcon,\r\n DHCPIcon,\r\n RouterIcon,\r\n SwitchIcon,\r\n GatewayIcon,\r\n ProxyIcon,\r\n WiFiIcon,\r\n BluetoothIcon,\r\n EthernetIcon,\r\n CellularIcon,\r\n NFCIcon,\r\n IPAddressIcon,\r\n SubnetIcon,\r\n PortIcon,\r\n BandwidthIcon,\r\n LatencyIcon,\r\n PacketIcon,\r\n TopologyIcon,\r\n VPNTunnelIcon,\r\n APIGatewayIcon,\r\n NetworkSecurityIcon,\r\n} from './networking';\r\n\r\n// From ./architecture - exclude duplicates: ServerlessIcon, CacheIcon, CDNIcon, APIIcon, SDKIcon\r\nexport {\r\n MicroservicesIcon,\r\n MonolithIcon,\r\n SOAIcon,\r\n EventDrivenIcon,\r\n HexagonalIcon,\r\n CleanArchitectureIcon,\r\n SingletonIcon,\r\n FactoryIcon,\r\n ObserverIcon,\r\n StrategyIcon,\r\n AdapterIcon,\r\n DecoratorIcon,\r\n CommandIcon,\r\n MessageQueueIcon,\r\n WebhookIcon,\r\n CQRSIcon,\r\n DDDIcon,\r\n AggregateIcon,\r\n RepositoryPatternIcon,\r\n HorizontalScaleIcon,\r\n VerticalScaleIcon,\r\n ShardingPatternIcon,\r\n CircuitBreakerIcon,\r\n} from './architecture';\r\n\r\n// From ./tools - exclude duplicates: NPMIcon, ConsoleIcon\r\nexport {\r\n VSCodeIcon,\r\n JetBrainsIcon,\r\n VimIcon,\r\n SublimeIcon,\r\n AtomIcon,\r\n NotepadPlusIcon,\r\n GitIcon,\r\n GitHubIcon,\r\n GitLabIcon,\r\n BitbucketIcon,\r\n CommitIcon,\r\n BranchIcon,\r\n MergeIcon,\r\n YarnIcon,\r\n PNPMIcon,\r\n WebpackIcon,\r\n ViteIcon,\r\n RollupIcon,\r\n PostmanIcon,\r\n SwaggerIcon,\r\n GraphQLPlaygroundIcon,\r\n ESLintIcon,\r\n PrettierIcon,\r\n StyleLintIcon,\r\n DebuggerIcon,\r\n BreakpointIcon,\r\n ProfilerIcon,\r\n SnippetIcon,\r\n KeyboardShortcutIcon,\r\n ExtensionIcon,\r\n ThemeIcon,\r\n SettingsIcon,\r\n} from './tools';\r\n\r\n// ─── Convenience collections ───\r\nimport * as _AIMLIcons from './ai-ml';\r\nimport * as _ArchitectureIcons from './architecture';\r\nimport * as _CloudIcons from './cloud';\r\nimport * as _DatabaseExtIcons from './database-ext';\r\nimport * as _DevIcons from './development';\r\nimport * as _DevOpsIcons from './devops';\r\nimport * as _DevToolsIcons from './devtools';\r\nimport * as _FrameworksIcons from './frameworks';\r\nimport * as _InfraIcons from './infrastructure';\r\n\r\n// PRO-28 extended icon collections\r\nimport * as _MobileIcons from './mobile';\r\nimport * as _NetworkingIcons from './networking';\r\nimport * as _SecurityIcons from './security';\r\nimport * as _TestingIcons from './testing';\r\nimport * as _ToolsIcons from './tools';\r\nimport * as _WebIcons from './web';\r\n\r\n// Original collections\r\nexport const devToolsIcons = _DevToolsIcons;\r\nexport const cloudIcons = _CloudIcons;\r\nexport const infrastructureIcons = _InfraIcons;\r\nexport const developmentIcons = _DevIcons;\r\n\r\n// PRO-28 extended collections\r\nexport const securityIcons = _SecurityIcons;\r\nexport const aimlIcons = _AIMLIcons;\r\nexport const webIcons = _WebIcons;\r\nexport const frameworksIcons = _FrameworksIcons;\r\nexport const mobileIcons = _MobileIcons;\r\nexport const testingIcons = _TestingIcons;\r\nexport const devopsIcons = _DevOpsIcons;\r\nexport const databaseExtIcons = _DatabaseExtIcons;\r\nexport const networkingIcons = _NetworkingIcons;\r\nexport const architectureIcons = _ArchitectureIcons;\r\nexport const toolsIcons = _ToolsIcons;\r\n\r\nexport const allTechIcons = {\r\n ..._DevToolsIcons,\r\n ..._CloudIcons,\r\n ..._InfraIcons,\r\n ..._DevIcons,\r\n // PRO-28 extended\r\n ..._SecurityIcons,\r\n ..._AIMLIcons,\r\n ..._WebIcons,\r\n ..._FrameworksIcons,\r\n ..._MobileIcons,\r\n ..._TestingIcons,\r\n ..._DevOpsIcons,\r\n ..._DatabaseExtIcons,\r\n ..._NetworkingIcons,\r\n ..._ArchitectureIcons,\r\n ..._ToolsIcons,\r\n} as const;\r\n\r\n// Icon count: ~410 total (60 original + ~350 PRO-28 additions)\r\n"],"names":["jsx","jsxs","Fragment","forwardRef","BugIcon","DebugIcon","ConsoleIcon","APIIcon","NPMIcon","BuildIcon","ServerIcon","ServerlessIcon","CDNIcon","LoadBalancerIcon","FirewallIcon","RedisIcon","CacheIcon","DNSIcon","SSLIcon","BackupIcon","ComponentIcon","StateIcon","SessionIcon","SDKIcon"],"mappings":";;;;AAWA,MAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AACR;AAEO,SAAS,iBAAiB,WAA8B,UAAmC;AAChG,UAAQ,WAAA;AAAA,IACN,KAAK;AACH,aACEA,+BAAC,aAAQ,eAAc,WAAU,QAAO,WAAU,KAAK,UAAU,aAAY,aAAA,CAAa;AAAA,IAE9F,KAAK;AACH,aACEA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,MAAK;AAAA,UACL,QAAO;AAAA,UACP,KAAK;AAAA,UACL,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAGlB,KAAK;AACH,aACEA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,MAAK;AAAA,UACL,QAAO;AAAA,UACP,KAAK;AAAA,UACL,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAGlB,KAAK;AACH,aACEA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,MAAK;AAAA,UACL,QAAO;AAAA,UACP,KAAK;AAAA,UACL,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAGlB,KAAK;AACH,aACEA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,MAAK;AAAA,UACL,QAAO;AAAA,UACP,KAAK;AAAA,UACL,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAGlB,KAAK;AACH,aACEA,+BAAC,aAAQ,eAAc,WAAU,QAAO,SAAQ,KAAK,UAAU,aAAY,aAAA,CAAa;AAAA,IAE5F,KAAK;AACH,aACEA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,MAAK;AAAA,UACL,QAAO;AAAA,UACP,KAAK;AAAA,UACL,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAGlB,KAAK;AACH,aACEA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,eAAc;AAAA,UACd,MAAK;AAAA,UACL,QAAO;AAAA,UACP,KAAK;AAAA,UACL,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAGlB,KAAK;AACH,aACEC,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,QAAAF,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAc;AAAA,YACd,QAAO;AAAA,YACP,KAAK;AAAA,YACL,aAAY;AAAA,UAAA;AAAA,QAAA;AAAA,QAEdA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAc;AAAA,YACd,QAAO;AAAA,YACP,KAAK;AAAA,YACL,aAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MACd,GACF;AAAA,IAEJ,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EAAA;AAEb;AAIO,SAAS,eACd,YACA,SACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,IACV,cAAc;AAAA,IACd,eAAe;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,EAAA,IACf;AAEJ,QAAM,OAAOG,MAAAA,WAAyC,CAAC,OAAO,QAAQ;AACpE,UAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,oBAAoB;AAAA,MACpB,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,UAAU;AAAA,MACV,GAAG;AAAA,IAAA,IACD;AAEJ,UAAM,eAAe,OAAO,SAAS,WAAW,GAAG,IAAI,OAAO;AAC9D,UAAM,WAAW,aAAa,iBAAiB;AAE/C,UAAM,mBACJ,WAAW,cAAc,SAAS,iBAAiB,WAAW,QAAQ,IAAI;AAE5E,WACEF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,OAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ,YAAY,aAAa,QAAQ;AAAA,QACzC,aAAa,YAAY,aAAa,cAAc;AAAA,QACpD;AAAA,QACA,OACE;AAAA,UACE,GAAG;AAAA,UACH;AAAA,UACA,kBAAkB,eAAe;AAAA,QAAA;AAAA,QAGrC,MAAK;AAAA,QACL,cAAY;AAAA,QACZ,eAAa,CAAC;AAAA,QACb,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,SAASD,2BAAAA,IAAC,WAAO,UAAA,MAAA,CAAM;AAAA,0CACvB,KAAA,EACE,UAAA;AAAA,YAAA,WAAW,EAAE,OAAO,aAAa,SAAS,aAAa,GAAG,OAAO;AAAA,YACjE;AAAA,UAAA,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN,CAAC;AAED,OAAK,cAAc;AACnB,SAAO;AACT;AAGO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,mBAAmB;AACrB;ACnLO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,yBAAwB,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,EAAA,GACvF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAMI,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBH,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,wBAAuB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAC1EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAMK,cAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBJ,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,eAAe,SAAS;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAMM,gBAAc;AAAA,EACzB,CAAC,EAAE,OAAO,QAAA,MACRL,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAMO,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBN,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,gBAAgB,YAAY,WAAW,SAAS,OAAA,CAAQ;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,EAAA,GAC/C;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAMQ,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBP,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAMS,cAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBT,2BAAAA,IAAAE,WAAAA,UAAA,EACE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,YAAY,aAAa,SAAS;AAAA,MACxC,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,IAAA;AAAA,EAAA,GAEnB;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,gBAAgB,YAAY,WAAW,YAAY;AAAA,QAC3D,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;;;;;;;;;;;;;;;;;;;ACjaO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,QAAA,MACRA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,YAAY,aAAa,SAAS;AAAA,MACxC,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,IAAA;AAAA,EAAA;AAAA,EAGnB,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAMU,eAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBT,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAE3DA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAE3DA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAMW,mBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBV,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,wBAAuB,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IACpFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAMY,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBX,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,YAAW,QAAQ,YAAY,WAAW,SAAS,OAAO,aAAY,MAAA,CAAM;AAAA,IACpFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,gBAAgB,YAAY,WAAW,SAAS,OAAA,CAAQ;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,KAAI,IAAG,KAAI,IAAG,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACjFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO;AAAA,IACpFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO;AAAA,IACpFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO;AAAA,IACrFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,YAAY,WAAW,SAAS,MAAA,CAAO;AAAA,EAAA,GACtF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAMa,qBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBZ,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAMc,iBAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBb,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACxD,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,IAElBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,QACtD,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;;;;;;;;;;;;;;;;;;;AChbO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAMe,cAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBd,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAK,GAAE,sBAAqB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IACxEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,oBAAmB,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM,SAAQ,MAAA,CAAM;AAAA,EAAA,GACxF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,gBAAgB,YAAY,WAAW,SAAS;AAAA,QACxD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAMgB,cAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBf,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAK,GAAE,UAAS,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,EAAA,GACxE;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,gBAAgB,YAAY,WAAW,SAAS,QAAQ;AAAA,IAC5FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEb,QAAA,EAAK,GAAE,+BAA8B,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACvE;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAMiB,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBhB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,YAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAMkB,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBjB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EAC3D,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,EAAA,GACjF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAMmB,eAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBlB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAK,GAAE,qBAAoB,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,EAAA,GACnF;AAAA,EAEF,EAAE,aAAa,uBAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,WAAU,QAAQ,eAAe,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IACtFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;;;;;;;;;;;;;;;;;;;AC5cO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,YAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,YAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,YAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS;AAAA,QACvC,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,IAElBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,YAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,gBAAgB,YAAY,WAAW,SAAS,OAAA,CAAQ;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAMoB,kBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBnB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAExDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAExDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAExDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACxD,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,QAAQ;AAAA,QACrD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,aAAa,QAAQ,eAAe;AAAA,QACxD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAMqB,cAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBpB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,QACtD,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IACvFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,gBAAgB,YAAY,WAAW,QAAQ,QAAQ;AAAA,IACzFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,gBAAgB,YAAY,WAAW,QAAQ,QAAQ;AAAA,IAC3FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,gBAAgB,YAAY,WAAW,QAAQ,OAAA,CAAQ;AAAA,EAAA,GAC7F;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAK,GAAE,uBAAsB,QAAQ,OAAO,aAAY,OAAM,eAAc,QAAA,CAAQ;AAAA,EAAA,GACvF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,YAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS;AAAA,QACvC,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,gBAAgB,YAAY,WAAW,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACxD,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;;;;;;;;;;;;;;;;;;;ACrbO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,yBAAwB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAC3EA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,0BAAyB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAC5EA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,QAAA,MACRA,2BAAAA,IAAAE,WAAAA,UAAA,EACE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,YAAY,aAAa,SAAS;AAAA,MACxC,QAAQ;AAAA,MACR,aAAY;AAAA,IAAA;AAAA,EAAA,GAEhB;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,QACf,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,QAAA,MACRC,2BAAAA,KAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,yBAAwB,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IAC3EA,2BAAAA,IAAC,UAAK,GAAE,qBAAoB,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IACvEA,2BAAAA,IAAC,UAAK,GAAE,qBAAoB,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IACvEA,2BAAAA,IAAC,UAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IAC7EA,2BAAAA,IAAC,UAAK,GAAE,uBAAsB,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IACzEA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,EAAA,GAC7C;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,KAE7E;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,MAE9E;AAAA,IACAA,2BAAAA,IAAC,UAAK,GAAE,gBAAe,QAAQ,OAAO,aAAY,OAAM,iBAAgB,MAAA,CAAM;AAAA,EAAA,GAChF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,mCACvF,QAAA,EAAK,GAAE,kCAAiC,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC5E;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,MAAK,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACnFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,MAAK,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,mCACnE,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC7F;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAOO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,MAAK;AAAA,QACL,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,MAAK;AAAA,QACL,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IACxFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAEPA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,QAAA,MACRA,2BAAAA,IAAAE,WAAAA,UAAA,EACE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,eAAc;AAAA,IAAA;AAAA,EAAA,GAElB;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,mCACzD,QAAA,EAAK,GAAE,cAAa,QAAQ,OAAO,aAAY,KAAI;AAAA,IACpDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,QAAQ,OAAO,aAAY,KAAI,MAAK,QAAO,eAAc,QAAA,CAAQ;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACvEA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,mCAC1C,QAAA,EAAK,GAAE,cAAa,QAAQ,OAAO,aAAY,KAAI;AAAA,IACpDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAOO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGDA,+BAAC,UAAK,GAAE,wBAAuB,QAAQ,eAAe,QAAQ,aAAY,IAAA,CAAI;AAAA,EAAA,GAChF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI;AAAA,IAClDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,OAAA,CAAQ;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,OAAA,CAAQ;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,OAAA,CAAQ;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,OAAA,CAAQ;AAAA,EAAA,GAC/D;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,yBAAyB;AAAA,EACpC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IAC3EA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,OAAA,CAAQ;AAAA,mCAC1D,QAAA,EAAK,GAAE,kCAAiC,QAAQ,OAAO,aAAY,KAAI;AAAA,IACxEA,+BAAC,UAAK,GAAE,cAAa,QAAQ,eAAe,QAAQ,aAAY,IAAA,CAAI;AAAA,EAAA,GACtE;AAAA,EAEF,EAAE,aAAa,yBAAA;AACjB;AAOO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IACzCA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC1CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,mCAEzC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAC1F,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAC3F,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAE3F,QAAA,EAAK,GAAE,wBAAuB,QAAQ,OAAO,aAAY,KAAI;AAAA,IAE9DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,OAAO,SAAQ,OAAM;AAAA,mCAC3E,QAAA,EAAK,GAAE,oBAAmB,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,IAElBA,+BAAC,UAAK,GAAE,yBAAwB,QAAQ,eAAe,QAAQ,aAAY,MAAA,CAAM;AAAA,EAAA,GACnF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAMsB,gBAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBrB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,2BAA0B,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAC7EA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,OAAA,CAAQ;AAAA,IAC3DA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,QAAO,QAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,EAAA,GACrE;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,eAAe;AAAA,QACrB,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,+BAAC,UAAK,GAAE,cAAa,QAAQ,eAAe,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACvE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,MAAK,YAAW,QAAO,MAAM,OAAO,UAAA,KAEhE;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,iBAAgB,QAAQ,eAAe,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,IAAG,KAAI,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,QAAQ,eAAe,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACrF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAK,GAAE,wBAAuB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAC1EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO,UAAA,MAAA,CAE5F;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnuBO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IACzCA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC1CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAE1CA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAC1DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAC1DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAE1DA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC1CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAE3CA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,IAAG,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAC1EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,IAAG,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,mCACzE,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAC1FA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,IAAG,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,mCAE1E,QAAA,EAAK,GAAE,0BAAyB,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAClE;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAEjFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,mCAElE,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,OAAM;AAAA,IAEpDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,IAAG,IAAA,CAAI;AAAA,EAAA,GAC9E;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,uBAAsB,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,MAAA,CAAM;AAAA,mCACzF,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,KAE7E;AAAA,IAEAA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,KAE9E;AAAA,mCAEC,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,OAAM;AAAA,IAE3DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAEnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI,iBAAgB,MAAA,CAAM;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAOO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,0BAAyB,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEhEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACnFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACrF;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,+BAA8B,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,IACnFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,IACrDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAEPA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACrEA,2BAAAA,IAAC,UAAK,GAAE,qCAAoC,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,IACzFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,IAEtDA,2BAAAA,IAAC,UAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI,SAAQ,MAAA,CAAM;AAAA,EAAA,GAClE;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,IAEvDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,IAEvEA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC7CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC7CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC7CA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEzDA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC7CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAE5CA,2BAAAA,IAAC,QAAA,EAAK,GAAE,eAAc,QAAQ,eAAe,OAAO,aAAY,KAAI,iBAAgB,MAAA,CAAM;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,qBAAqB;AAAA,EAChC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IACzCA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IACzCA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,IAE1DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACrEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACrEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACrF;AAAA,EAEF,EAAE,aAAa,qBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACvEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IACvFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEzEA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IACzCA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC1CA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAC1DA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,EAAA,GAC7C;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,cAAa,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IAEnEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACxEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IAExEA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9D;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAOO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC3FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,mCAE3F,QAAA,EAAK,GAAE,kBAAiB,QAAQ,OAAO,aAAY,KAAI;AAAA,IAExDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,iBAAgB,MAAM,MAAA,CAAO;AAAA,EAAA,GACvC;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAC1DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,YAAW,QAAO,MAAK,QAAO,UAAA,KAAA,CAE/D;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,qBAAqB;AAAA,EAChC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAE1DA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,qBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAElEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,OAAM;AAAA,IAC1FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAE1DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,mCAEpE,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,IAExDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,KAAI;AAAA,mCAExD,QAAA,EAAK,GAAE,kBAAiB,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACvD;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAOO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAElFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,yBAAyB;AAAA,EACpC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAElEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,yBAAwB,QAAQ,eAAe,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IAE1FA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACpF;AAAA,EAEF,EAAE,aAAa,yBAAA;AACjB;AAGO,MAAM,qBAAqB;AAAA,EAChC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,WAAU,QAAQ,OAAO,aAAY,KAAI;AAAA,IACjDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,mCACvD,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI;AAAA,IAClDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,mCACzD,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI;AAAA,IAClDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,qBAAA;AACjB;AAGO,MAAM,sBAAsB;AAAA,EACjC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACpEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,MAAK,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACpEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,MAAK,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAEpEA,2BAAAA,IAAC,UAAK,GAAE,mCAAkC,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GACzF;AAAA,EAEF,EAAE,aAAa,sBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,mCAE3C,QAAA,EAAK,GAAE,WAAU,QAAQ,OAAO,aAAY,KAAI;AAAA,IACjDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,MAAM,OAAO;AAAA,IAEtCA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9D;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACjFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACnFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAEnFA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,EAAA,GAC/C;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChuBO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,MAAK,IAAG,KAAI,IAAG,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IACpFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEvDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,YAAW,QAAQ,YAAY,WAAW,SAAS,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACpF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACvF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,0CAAyC,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAC1F,QAAA,EAAK,GAAE,2CAA0C,MAAM,OAAO,SAAQ,OAAM;AAAA,IAC7EA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACxE;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACxDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACzE;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAOO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,+BAAC,UAAK,GAAE,YAAW,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IACjEA,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,MAAK,IAAG,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACnF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEvDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,QAAQ;AAAA,QACvC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IACzFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAET,QAAA,EAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEjEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,SAAS;AAAA,EACpB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,SAAA;AACjB;AAOO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,MAAK;AAAA,QACL,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,MAAK;AAAA,QACL,eAAc;AAAA,QACd,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,qBAAoB,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI,SAAQ,MAAA,CAAM;AAAA,IACrFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAK,GAAE,yBAAwB,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,KAAI,IAAG,KAAI,IAAG,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAClEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,+BAAC,UAAK,GAAE,+BAA8B,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GAClF;AAAA,EAEF,EAAE,aAAa,uBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtnBO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAET,QAAA,EAAK,GAAE,gBAAe,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEtDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,QAAO,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,MAAA,CAAO;AAAA,EAAA,GACjF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEb,QAAA,EAAK,GAAE,gCAA+B,QAAQ,OAAO,aAAY,OAAM;AAAA,IACxEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEb,QAAA,EAAK,GAAE,uBAAsB,QAAQ,OAAO,aAAY,OAAM;AAAA,IAC/DA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC7CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,EAAA,GAC/C;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACjFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,MAAK,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACrF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAIDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,MAAK,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,mCACnF,QAAA,EAAK,GAAE,oCAAmC,QAAQ,OAAO,aAAY,KAAI;AAAA,IAC1EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACjFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACrF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,MAAK,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEpFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACjFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACnFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACpF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAOO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IAC7DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,EAAA,GAC/D;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS;AAAA,QACvC,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS;AAAA,QACvC,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAIDA,+BAAC,UAAK,GAAE,YAAW,QAAQ,eAAe,OAAO,aAAY,OAAM;AAAA,mCAClE,QAAA,EAAK,GAAE,kBAAiB,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACvD;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAE1DA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,+BAAC,UAAK,GAAE,kBAAiB,QAAQ,eAAe,OAAO,aAAY,OAAM;AAAA,IACzEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,IACxDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,mCAExD,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IAC7DA,2BAAAA,IAAC,UAAK,GAAE,qBAAoB,MAAK,QAAO,QAAO,QAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC1E;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,mCACzD,QAAA,EAAK,GAAE,cAAa,QAAO,QAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACrD;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,IACxEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,IACvEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,IACvEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,IAC1EA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GAC1E;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAOO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEzEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,cAAa,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IAC1EA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,EAAA,GAC7C;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO;AAAA,IAE1EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAMgB,cAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBf,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,qBAAoB,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC1F;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAMY,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBX,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI,SAAQ,MAAA,CAAM;AAAA,IAEhEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACxDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA,IAAC,UAAK,GAAE,cAAa,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IAE1EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,qBAAoB,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC1F;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IACzFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,iBAAgB,MAAM,eAAe,OAAO;AAAA,IACpDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,MAAM,OAAO,SAAQ,OAAM;AAAA,mCAClE,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,OAAM;AAAA,IACpDA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IAEtEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACtE;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,mCAE3D,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,OAAM;AAAA,IACpDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,MAAM,OAAO;AAAA,IAEtCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAET,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACpD;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM;AAAA,QACN,SAAQ;AAAA,QACR,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM;AAAA,QACN,SAAQ;AAAA,QACR,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3zBO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,kCAAiC,MAAM,eAAe,OAAO;AAAA,mCAEpE,QAAA,EAAK,GAAE,WAAU,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACrD;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IACxFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAEzFA,2BAAAA,IAAC,UAAK,GAAE,sBAAqB,QAAQ,OAAO,aAAY,OAAM,eAAc,QAAA,CAAQ;AAAA,IAEpFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,OAAO;AAAA,IAC5DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,MAAA,CAAO;AAAA,EAAA,GAC/D;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,+BAAC,aAAQ,QAAO,kBAAiB,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,yBAAwB,MAAM,OAAO,SAAQ,OAAM;AAAA,IAC3DA,+BAAC,UAAK,GAAE,yBAAwB,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCACzE,QAAA,EAAK,GAAE,mBAAkB,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACvD;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,MAAK,IAAG,KAAI,IAAG,OAAM,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACpFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC3FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAOO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,WAAW,0BAA0B,eAAe;AAAA,QACtE,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,MAAA,CAAO;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,WAAW,0BAA0B,eAAe;AAAA,QACtE,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,MAAA,CAAO;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,eAAc,MAAM,OAAO,SAAQ,OAAM;AAAA,IAEjDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,WAAW,0BAA0B,eAAe;AAAA,QACtE,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,gBAAe,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACpD;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEvDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,cAAa,QAAQ,YAAY,WAAW,QAAQ,QAAQ,aAAY,MAAA,CAAM;AAAA,EAAA,GACxF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,+BAAC,UAAK,GAAE,gBAAe,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACjEA,+BAAC,UAAK,GAAE,qBAAoB,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACxE;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IAC7DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,UAAS,KAAI,MAAK,QAAO,YAAW,QAAO,UAAA,IAAA,CAE9D;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,uBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,8BAA6B,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IAClFA,2BAAAA,IAAC,UAAK,GAAE,gCAA+B,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IACpFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,8BAA6B,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IAClFA,2BAAAA,IAAC,UAAK,GAAE,gCAA+B,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACtF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAGhBA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAC1DA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAOO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,0BAA0B,eAAe;AAAA,QACtE,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,uBAAA;AACjB;AAGO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAIDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,mCAC5D,QAAA,EAAK,GAAE,kBAAiB,QAAO,QAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAMuB,YAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBtB,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,gBAAe,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,EAAA,GACpE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAC1EA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,QAAO,QAAO,aAAY,KAAI,SAAQ,MAAA,CAAM;AAAA,IAErEA,2BAAAA,IAAC,UAAK,GAAE,gBAAe,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GACtE;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC1FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC1FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEvDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACl4BO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,UAAA,CAAW;AAAA,IAChFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,UAAA,CAAW;AAAA,IACjFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,UAAA,CAAW;AAAA,EAAA,GACnF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAEhBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAOO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAGPA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,UAAS,KAAI,MAAM,OAAO,YAAW,QAAO,UAAA,KAAA,CAE9D;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,sBAAsB;AAAA,EACjC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,+BAAC,UAAK,GAAE,YAAW,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IAEjEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,iBAAgB,QAAQ,eAAe,WAAW,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GAC1F;AAAA,EAEF,EAAE,aAAa,sBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACpEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,mCAE7D,QAAA,EAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,OAAM;AAAA,IAEnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,OAAO,YAAW,QAAO,UAAA,MAAA,CAE/D;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,sBAAsB;AAAA,EACjC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,0BAAyB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAE5EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,cAAa,QAAQ,eAAe,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IACzFA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAE3CA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,sBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,WAAW,SAAQ,MAAA,CAAM;AAAA,EAAA,GACxF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,+BAAC,UAAK,GAAE,WAAU,QAAQ,eAAe,WAAW,aAAY,KAAI;AAAA,IAEpEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IACzFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,WAAW,SAAQ,OAAM;AAAA,IAEvFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,OAAM;AAAA,IACzFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,uBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,qBAAqB;AAAA,EAChC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAGPA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,QAAQ,eAAe,WAAW,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,EAAA,GACzF;AAAA,EAEF,EAAE,aAAa,qBAAA;AACjB;AAOO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC1FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC7F;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GACvF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAK,GAAE,oCAAmC,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAEtFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IAEtEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,QAAQ,eAAe,WAAW,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,EAAA,GACzF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,qBAAqB;AAAA,EAChC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IACzFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAEzFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,qBAAA;AACjB;AAOO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,mCACxE,QAAA,EAAK,GAAE,2BAA0B,MAAM,eAAe,WAAW;AAAA,IAElEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,OAAO,UAAA,MAAA,CAE7C;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAEPA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IACxEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IACzEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,EAAA,GAC3E;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,uBAAsB,QAAQ,OAAO,aAAY,OAAM,eAAc,QAAA,CAAQ;AAAA,IAErFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IACxFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,cAAa,QAAQ,eAAe,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,EAAA,GAC3F;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IACzFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAE1FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,MAAK,IAAG,KAAI,IAAG,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IAClFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAE5DA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,EAAA,GAC9C;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,EAAA,GACtD;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GACvF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACx1BO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IAC7DA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACpEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,mCAE7D,QAAA,EAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACrE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAET,QAAA,EAAK,GAAE,sBAAqB,MAAM,eAAe,OAAO;AAAA,IAEzDA,2BAAAA,IAAC,UAAK,GAAE,eAAc,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,oDAAmD,MAAM,eAAe,WAAW;AAAA,IAE3FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACrD,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAExFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,KAAA,CAE9E;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,uBAAsB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IACzEA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IAE9EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAM,eAAe,OAAO,UAAA,KAAA,CAE7D;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzDA,+BAAC,UAAK,GAAE,sCAAqC,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACzF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,OAAM,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,IAC7CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,QAAO,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,IAC9CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,QAAO,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,EAAA,GAChD;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAOO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,+BAAC,UAAK,GAAE,iBAAgB,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACpE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAK,GAAE,oBAAmB,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IAEtEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC1FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,mCAEzF,QAAA,EAAK,GAAE,sBAAqB,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IACzEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IAC1EA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,OAAM;AAAA,IACzFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAOO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACjFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACrE;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAET,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI;AAAA,IAClDA,2BAAAA,IAAC,UAAK,GAAE,gBAAe,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IAElEA,+BAAC,UAAK,GAAE,6BAA4B,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GAChF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IACzFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAEzFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAOO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,eAAe;AAAA,QACrB,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACpD;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,mBAAkB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IACrEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,mBAAkB,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,IAAA,CAAI;AAAA,IACpFA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,EAAA,GAC7C;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,KAAI,IAAG,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAC1EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,MAAK,QAAO,KAAI,IAAG,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,mCAC1E,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,MAAK,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAE1FA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,UAAS,KAAI,MAAK,QAAO,UAAA,IAAA,CAE3C;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAK,QAAO,UAAA,IAAA,CAE5C;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAK,QAAO,UAAA,IAAA,CAE5C;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAOO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEb,QAAA,EAAK,GAAE,cAAa,QAAQ,OAAO,aAAY,OAAM;AAAA,IAEtDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,OAAM;AAAA,IACzFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,8BAA6B,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,mCAE/E,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACzFA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GAC9C;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,IAAG,KAAI,MAAK,WAAU,SAAQ,OAAM;AAAA,IAE5EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,IAAG,KAAI,MAAK,WAAU,SAAQ,OAAM;AAAA,IAE7EA,2BAAAA,IAAC,UAAK,GAAE,kCAAiC,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,IACtFA,2BAAAA,IAAC,UAAK,GAAE,iCAAgC,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GACvF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,WAAW;AAAA,IAEhFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,OAE7E;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAK,QAAO,UAAA,MAAA,CAE7C;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,WAAU,QAAQ,OAAO,aAAY,KAAI;AAAA,IACjDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IAC3EA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAK,UAAA,CAAU;AAAA,EAAA,GACjD;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IACzCA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC1CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC1CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IAE1DA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5uBO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAK,GAAE,sBAAqB,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,IAExEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,qBAAoB,QAAQ,eAAe,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GAC1F;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,WAAW,0BAA0B,eAAe;AAAA,QACtE,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAOO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,+BAAC,UAAK,GAAE,4BAA2B,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAC7EA,2BAAAA,IAAC,UAAK,GAAE,+BAA8B,QAAQ,OAAO,aAAY,KAAI,SAAQ,MAAA,CAAM;AAAA,EAAA,GACrF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,MAAA,CAAO;AAAA,EAAA,GAC/E;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,iBAAgB,MAAM,OAAO;AAAA,IACrCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAK,GAAE,uCAAsC,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,EAAA,GAC3F;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,0BAAyB,QAAQ,OAAO,aAAY,OAAM;AAAA,IAClEA,+BAAC,UAAK,GAAE,WAAU,QAAQ,eAAe,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACpE;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAOO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,+BAAC,UAAK,GAAE,gBAAe,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACnE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBA,2BAAAA,IAAAE,WAAAA,UAAA,EAEE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,YAAY,aAAa,SAAS;AAAA,MACxC,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,SAAQ;AAAA,IAAA;AAAA,EAAA,GAEZ;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAOO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,iCAAgC,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACzE;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,gCAA+B,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IACpFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,kCAAiC,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GACxF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,oCAAmC,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAEtFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,yBAAwB,QAAQ,eAAe,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,UAAK,GAAE,gCAA+B,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IAEpFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,uBAAsB,QAAQ,OAAO,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAClEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAEnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAK,QAAO,UAAA,KAAA,CAE5C;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAK,QAAO,UAAA,KAAA,CAE7C;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAK,QAAO,UAAA,KAAA,CAE7C;AAAA,mCAEC,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACtE;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA,IAAC,UAAK,GAAE,cAAa,QAAQ,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IAE1EA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,eAAe,OAAO,UAAA,IAAA,CAE5D;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEzEA,+BAAC,UAAK,GAAE,iBAAgB,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IAEtEA,2BAAAA,IAAC,UAAK,GAAE,kBAAiB,QAAO,WAAU,aAAY,OAAM,MAAK,OAAA,CAAO;AAAA,EAAA,GAC1E;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAGPA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,OAAO,UAAA,MAAA,CAE7C;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAOO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAElEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,OAAM;AAAA,IAC1FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,mCAElE,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,+BAAC,UAAK,GAAE,wCAAuC,QAAQ,OAAO,aAAY,OAAM;AAAA,IAEhFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAET,QAAA,EAAK,GAAE,oBAAmB,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACzD;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IAClEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAClFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IACnFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,IACnEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACtE;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrzBO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAIDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,OAE7E;AAAA,mCAEC,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,OAAM;AAAA,IACpDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAiB,MAAM,OAAO;AAAA,IAEtCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,QAAA,CAE9E;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCACxF,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCACxF,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAE1FA,2BAAAA,IAAC,UAAK,GAAE,wCAAuC,QAAQ,OAAO,aAAY,KAAI,MAAK,OAAA,CAAO;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAOO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACpEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACpEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,mCAEpE,QAAA,EAAK,GAAE,kBAAiB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,OAAM,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACtEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,OAAM,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACtEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,OAAM,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACvEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,OAAM,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACvEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,OAAM,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACvEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,OAAM,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACzE;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,0BAA0B;AAAA,QACzD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvB,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCACxF,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCACxF,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAE1FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACP,GACF;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,6BAA4B,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,mCAE9E,QAAA,EAAK,GAAE,8BAA6B,QAAQ,OAAO,aAAY,OAAM;AAAA,IAEtEA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,IAExDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,OAAO,SAAQ,OAAM;AAAA,mCAEzE,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAOO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,uCAAsC,MAAM,OAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAK,GAAE,sBAAqB,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IACxEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,uBAAsB,MAAK,QAAO,QAAQ,eAAe,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC1F;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBA,2BAAAA,IAAAE,WAAAA,UAAA,EACE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,MACL,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,gBAAe;AAAA,IAAA;AAAA,EAAA,GAEnB;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,kBAAiB,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACvD;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,IACrDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,IACrDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,MAAM,eAAe,MAAA,CAAO;AAAA,IACrEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACvE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAOO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO,UAAA,UAAA,CAE5F;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,MAAK,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACpFA,2BAAAA,IAAC,UAAK,GAAE,oBAAmB,QAAQ,OAAO,aAAY,KAAI,iBAAgB,MAAA,CAAM;AAAA,IAEhFA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC1DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,EAAA,GAC/C;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO,UAAA,SAE5F;AAAA,IAEAA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,EAAA,GAC9C;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,IACzEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,eAAc,QAAQ,eAAe,OAAO,aAAY,KAAI,eAAc,QAAA,CAAQ;AAAA,IAE1FA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,OAAO,UAAA,KAAA,CAE7C;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAElFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,0BAA0B;AAAA,QACzD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC1CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,MAAA,CAAO;AAAA,mCAEzC,QAAA,EAAK,GAAE,kCAAiC,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC5E;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAOO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO;AAAA,IAC3EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,WAAW;AAAA,IAC/EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,MAAA,CAE5E;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,sBAAsB;AAAA,EACjC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC3FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC3FA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO;AAAA,IAC5FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,sBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzwBO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,0BAA0B,eAAe;AAAA,QACxE,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,QAAO,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,MAAA,CAEhF;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,+BAA8B,QAAQ,OAAO,aAAY,KAAI;AAAA,IACrEA,2BAAAA,IAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC3CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,MAAA,CAAO;AAAA,mCAE3C,QAAA,EAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,KAAI;AAAA,IACjEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,OAAM,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,IACvDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,QAAO,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,IACxDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,QAAO,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,EAAA,GAC1D;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAGjBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACF;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,wBAAwB;AAAA,EACnC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IAC5EA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IAC3EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,oCAAmC,QAAQ,OAAO,aAAY,OAAM,SAAQ,MAAA,CAAM;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,wBAAA;AACjB;AAOO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,YAAY,WAAW,SAAS,MAAA,CAAO;AAAA,IAE3EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACpEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACrEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GACvE;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,gCAA+B,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACxE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGjB,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCACxF,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCACxF,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAEzF,QAAA,EAAK,GAAE,oDAAmD,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC5F;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,wBAAuB,MAAM,eAAe,OAAO;AAAA,IAE3DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IAE3EA,+BAAC,UAAK,GAAE,YAAW,QAAQ,eAAe,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACnE;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,IAElBA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO;AAAA,IAE5EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,OAAM;AAAA,mCAC1D,QAAA,EAAK,GAAE,cAAa,QAAO,QAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACrD;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAOO,MAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO;AAAA,mCAC5E,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAC1F,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAE3F,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,mBAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACvD,GACF;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,IAC3EA,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,MAAK,IAAG,KAAI,IAAG,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,mCACjF,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI;AAAA,IAElDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACxDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,IACzDA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC5D;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAK,GAAE,gCAA+B,MAAK,QAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,IAElFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,IAGhBA,+BAAC,UAAK,GAAE,iCAAgC,QAAQ,eAAe,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GACxF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAOO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,OAE7E;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,WAAU,QAAQ,YAAY,WAAW,SAAS,OAAO,aAAY,IAAA,CAAI;AAAA,IAEjFA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,eAAe,OAAO,UAAA,OAE7F;AAAA,IACAA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,KAAI,iBAAgB,MAAA,CAAM;AAAA,EAAA,GAC1E;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,0CAAyC,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAClF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,OAAO,SAAQ,MAAA,CAAM;AAAA,IACzDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,wBAAwB;AAAA,EACnC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,MAAM,YAAY,WAAW,SAAS,OAAO,UAAA,KAE9E;AAAA,mCAEC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,KAAI,IAAG,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,OAAM;AAAA,mCAE3F,QAAA,EAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,OAAM;AAAA,mCAElE,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,wBAAA;AACjB;AAOO,MAAM,sBAAsB;AAAA,EACjC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAK,GAAE,wBAAuB,MAAM,OAAO,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,sBAAA;AACjB;AAGO,MAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,+BAAC,UAAK,GAAE,kBAAiB,QAAQ,eAAe,OAAO,aAAY,KAAI;AAAA,IAEvEA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,oBAAA;AACjB;AAGO,MAAM,sBAAsB;AAAA,EACjC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,iBAAgB,QAAQ,OAAO,aAAY,OAAM;AAAA,IACzDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,KAAI,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,sBAAA;AACjB;AAGO,MAAM,qBAAqB;AAAA,EAChC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,KAAI;AAAA,mCAExE,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEzDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,qBAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC59BO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAGjBA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,eAAe,OAAO,UAAA,MAAA,CAE5D;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBA,2BAAAA,IAAAE,WAAAA,UAAA,EAEE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,MACL,QAAQ;AAAA,MACR,aAAY;AAAA,IAAA;AAAA,EAAA,GAEhB;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZA,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,KAAI,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACvF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,UAAS,KAAI,YAAW,QAAO,MAAM,eAAe,WAAW,UAAA,KAAA,CAEnF;AAAA,EAAA,GACF;AAAA,EAEF,EAAE,aAAa,kBAAA;AACjB;AAOO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,8CAA6C,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACxF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBA,2BAAAA,IAAAE,WAAAA,UAAA,EAEE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,YAAY,aAAa,SAAS;AAAA,MACxC,QAAQ;AAAA,MACR,aAAY;AAAA,IAAA;AAAA,EAAA,GAEhB;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,gBAAe;AAAA,QACf,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,+BAAC,UAAK,GAAE,mBAAkB,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACtE;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,+BAAC,UAAK,GAAE,iBAAgB,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GACpE;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,mBAAkB,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC3D;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEb,QAAA,EAAK,GAAE,UAAS,QAAQ,OAAO,aAAY,KAAI;AAAA,IAEhDA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEb,QAAA,EAAK,GAAE,qBAAoB,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC7D;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAEb,QAAA,EAAK,GAAE,qCAAoC,QAAQ,OAAO,aAAY,IAAA,CAAI;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAOO,MAAM,UAAU;AAAA,EACrB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,UAAS;AAAA,QACT,YAAW;AAAA,QACX,MAAM,YAAY,WAAW,SAAS,eAAe;AAAA,QACtD,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACF;AAAA,EAEF,EAAE,aAAa,UAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACF;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,WAAW;AAAA,EACtB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,QACZ,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBA,2BAAAA,IAAC,UAAK,GAAE,aAAY,QAAQ,OAAO,aAAY,OAAM,eAAc,QAAA,CAAQ;AAAA,EAAA,GAC7E;AAAA,EAEF,EAAE,aAAa,WAAA;AACjB;AAGO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,WAAA,EAAQ,IAAG,MAAK,IAAG,KAAI,IAAG,KAAI,IAAG,KAAI,MAAM,eAAe,OAAO,SAAQ,MAAA,CAAM;AAAA,EAAA,GAClF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAOO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,eAAe;AAAA,QACrB,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS;AAAA,QACxC,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,EAAA,GAChE;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,wBAAwB;AAAA,EACnC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,2BAA0B,MAAK,QAAO,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,IAE/EA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,wBAAA;AACjB;AAOO,MAAM,aAAa;AAAA,EACxB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAAA,EAEF,EAAE,aAAa,aAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,IAC5DA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9D;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,+BAAC,UAAK,GAAE,iBAAgB,QAAQ,eAAe,WAAW,aAAY,MAAA,CAAM;AAAA,EAAA,GAC9E;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAOO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGb,QAAA,EAAK,GAAE,uBAAsB,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACjE;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,iBAAiB;AAAA,EAC5B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,UAAS,KAAI,MAAM,OAAO,SAAQ,OAAM,UAAA,KAE1D;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,OAAO,SAAQ,OAAM,UAAA,KAE3D;AAAA,IACAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,UAAS,KAAI,MAAM,OAAO,SAAQ,OAAM,UAAA,KAE3D;AAAA,IAEAA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,mCAE7D,QAAA,EAAK,GAAE,2BAA0B,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACrE;AAAA,EAEF,EAAE,aAAa,iBAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,MAAM,MAAA,CAAO;AAAA,IACrDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,MAAM,eAAe,MAAA,CAAO;AAAA,IACpEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,MAAM,MAAA,CAAO;AAAA,IACtDA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,MAAK,OAAM,KAAI,QAAO,MAAK,MAAM,eAAe,MAAA,CAAO;AAAA,IACtEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,MAAK,GAAE,KAAI,OAAM,KAAI,QAAO,MAAK,MAAM,MAAA,CAAO;AAAA,mCAErD,QAAA,EAAK,GAAE,YAAW,QAAQ,OAAO,aAAY,MAAA,CAAM;AAAA,EAAA,GACtD;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;AAGO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EACE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,QACZ,eAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACF;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAOO,MAAM,cAAc;AAAA,EACzB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,SAAS,eAAe;AAAA,QACvD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGdA,2BAAAA,IAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,MAAM,YAAY,WAAW,SAAS,eAAe,MAAA,CAAO;AAAA,EAAA,GAC9F;AAAA,EAEF,EAAE,aAAa,cAAA;AACjB;AAGO,MAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,GAAE;AAAA,QACF,OAAM;AAAA,QACN,QAAO;AAAA,QACP,IAAG;AAAA,QACH,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,mCAGT,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,mCAC1F,QAAA,EAAK,GAAE,KAAI,GAAE,MAAK,OAAM,KAAI,QAAO,KAAI,IAAG,OAAM,MAAM,eAAe,OAAO,SAAQ,OAAM;AAAA,IAC3FA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQ,YAAY,WAAW,0BAA0B;AAAA,QACzD,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,uBAAA;AACjB;AAGO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBA,2BAAAA,IAAAE,WAAAA,UAAA,EAEE,UAAAF,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAM,YAAY,aAAa,SAAS;AAAA,MACxC,QAAQ;AAAA,MACR,aAAY;AAAA,MACZ,SAAQ;AAAA,IAAA;AAAA,EAAA,GAEZ;AAAA,EAEF,EAAE,aAAa,gBAAA;AACjB;AAGO,MAAM,YAAY;AAAA,EACvB,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,IAAG;AAAA,QACH,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS;AAAA,QACxC,QAAQ;AAAA,QACR,aAAY;AAAA,QACZ,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGVA,2BAAAA,IAAC,UAAA,EAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,MAAM,eAAe,UAAA,CAAW;AAAA,IAC5DA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,IAC5CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,IAC7CA,2BAAAA,IAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,UAAA,CAAU;AAAA,EAAA,GAC/C;AAAA,EAEF,EAAE,aAAa,YAAA;AACjB;AAGO,MAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,OAAO,aAAa,QAAA,MACrBC,gCAAAC,WAAAA,UAAA,EAEE,UAAA;AAAA,IAAAF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAM,YAAY,aAAa,SAAS,eAAe;AAAA,QACvD,QAAQ,eAAe;AAAA,QACvB,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEdA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAAA,EAEF,EAAE,aAAa,eAAA;AACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5lBO,MAAM,gBAAgB;AACtB,MAAM,aAAa;AACnB,MAAM,sBAAsB;AAC5B,MAAM,mBAAmB;AAGzB,MAAM,gBAAgB;AACtB,MAAM,YAAY;AAClB,MAAM,WAAW;AACjB,MAAM,kBAAkB;AACxB,MAAM,cAAc;AACpB,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,mBAAmB;AACzB,MAAM,kBAAkB;AACxB,MAAM,oBAAoB;AAC1B,MAAM,aAAa;AAEnB,MAAM,eAAe;AAAA,EAC1B,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA;AAAA,EAEH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|