aboutsummaryrefslogtreecommitdiffstats
path: root/assets
diff options
context:
space:
mode:
authorAnuj Solanki <anuj603362@gmail.com>2024-09-29 21:31:03 +0530
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2024-10-07 10:52:41 +0000
commitf870bbe3c49d421ff8ea561752b3b0a38ad04e96 (patch)
treee6607974a3ea6591f622a3ebe8010561b0a6ad26 /assets
parent29ae7d2d9e04bd8e3a7d37dcfa87a02dd1ab385f (diff)
Integrate voice assistant into flutter-ics-homescreen
- Implement voice-agent client to connect with agl-service-voiceagent for command execution, wake word detection. - ⁠Add a setting tile on the settings page for configuring voice assistant settings. - Add toggle buttons for wake word mode, online mode, overlay and speech-to-text model in the voice assistant settings. - Add a button on the homepage to start the voice assistant. - Update gRPC protos to retrieve online-mode status from the voice service. - Make online-mode tile conditional in voice-assistant settings, removing it from the UI if not enabled in the service. - Automatically hide the overlay 3 seconds after command execution. Bug-AGL: SPEC-5200 Change-Id: I4efaaf16ebc570b28816dc7203364efe2b658c2e Signed-off-by: Anuj Solanki <anuj603362@gmail.com>
Diffstat (limited to 'assets')
-rw-r--r--assets/VoiceAssistantActive.svg56
-rw-r--r--assets/VoiceAssistantBottomSheet.svg9
-rw-r--r--assets/VoiceAssistantBottomSheetBg.pngbin0 -> 46359 bytes
-rw-r--r--assets/VoiceAssistantEnabled.svg57
-rw-r--r--assets/VoiceAssistantPressed.svg33
-rw-r--r--assets/VoiceControlButton.svg62
6 files changed, 217 insertions, 0 deletions
diff --git a/assets/VoiceAssistantActive.svg b/assets/VoiceAssistantActive.svg
new file mode 100644
index 0000000..3589294
--- /dev/null
+++ b/assets/VoiceAssistantActive.svg
@@ -0,0 +1,56 @@
+<svg width="86" height="86" viewBox="0 0 86 86" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g filter="url(#filter0_d_1_1652)">
+<rect x="2" y="1" width="80" height="80" rx="40" fill="url(#paint0_linear_1_1652)" shape-rendering="crispEdges"/>
+<rect x="2" y="1" width="80" height="80" rx="40" fill="url(#paint1_linear_1_1652)" shape-rendering="crispEdges"/>
+<rect x="2.5" y="1.5" width="79" height="79" rx="39.5" stroke="url(#paint2_linear_1_1652)" shape-rendering="crispEdges"/>
+<g filter="url(#filter1_i_1_1652)">
+<rect x="10" y="9" width="64" height="64" rx="32" fill="url(#paint3_radial_1_1652)" fill-opacity="0.5"/>
+<rect x="10.5" y="9.5" width="63" height="63" rx="31.5" stroke="url(#paint4_linear_1_1652)"/>
+<path d="M34 30.3333C34 25.915 37.5817 22.3333 42 22.3333C46.4183 22.3333 50 25.915 50 30.3333V35.6666C50 40.0849 46.4183 43.6666 42 43.6666C37.5817 43.6666 34 40.0849 34 35.6666L34 30.3333Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M29.3703 34.5072C30.4953 34.5072 31.4073 35.423 31.4073 36.5527C31.4073 42.4271 36.1498 47.6666 41.9999 47.6666C47.85 47.6666 52.5925 42.4271 52.5925 36.5527C52.5925 35.423 53.5045 34.5072 54.6295 34.5072C55.7546 34.5072 56.6666 35.423 56.6666 36.5527C56.6666 43.9923 51.8026 50.671 44.6666 51.6666V57C44.6666 58.3333 43.3333 59.6666 41.9999 59.6666C40.6666 59.6666 39.3333 58.3333 39.3333 57V51.6666C32.1972 50.671 27.3333 43.9923 27.3333 36.5527C27.3333 35.423 28.2453 34.5072 29.3703 34.5072Z" fill="white"/>
+</g>
+</g>
+<defs>
+<filter id="filter0_d_1_1652" x="0" y="0" width="86" height="86" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="1" dy="2"/>
+<feGaussianBlur stdDeviation="1.5"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_1652"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_1652" result="shape"/>
+</filter>
+<filter id="filter1_i_1_1652" x="10" y="9" width="65" height="66" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="1" dy="2"/>
+<feGaussianBlur stdDeviation="8"/>
+<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
+<feBlend mode="normal" in2="shape" result="effect1_innerShadow_1_1652"/>
+</filter>
+<linearGradient id="paint0_linear_1_1652" x1="2" y1="41" x2="82" y2="41" gradientUnits="userSpaceOnUse">
+<stop offset="0.0001" stop-color="#1C7692"/>
+<stop offset="1" stop-color="#1A727E"/>
+</linearGradient>
+<linearGradient id="paint1_linear_1_1652" x1="2" y1="54.3334" x2="82.0274" y2="54.1669" gradientUnits="userSpaceOnUse">
+<stop stop-color="#2998FF"/>
+<stop offset="1" stop-color="#29CCFF" stop-opacity="0.7"/>
+</linearGradient>
+<linearGradient id="paint2_linear_1_1652" x1="2" y1="1" x2="96.7074" y2="26.6089" gradientUnits="userSpaceOnUse">
+<stop stop-color="#C1D8FF"/>
+<stop offset="1" stop-color="#C1D8FF" stop-opacity="0.25"/>
+</linearGradient>
+<radialGradient id="paint3_radial_1_1652" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(42 41) rotate(90) scale(32)">
+<stop stop-color="#0C1039"/>
+<stop offset="1"/>
+<stop offset="1"/>
+</radialGradient>
+<linearGradient id="paint4_linear_1_1652" x1="10" y1="9" x2="85.7659" y2="29.4871" gradientUnits="userSpaceOnUse">
+<stop stop-color="#C1D8FF"/>
+<stop offset="1" stop-color="#C1D8FF" stop-opacity="0.25"/>
+</linearGradient>
+</defs>
+</svg>
diff --git a/assets/VoiceAssistantBottomSheet.svg b/assets/VoiceAssistantBottomSheet.svg
new file mode 100644
index 0000000..cde9fbc
--- /dev/null
+++ b/assets/VoiceAssistantBottomSheet.svg
@@ -0,0 +1,9 @@
+<svg width="774" height="224" viewBox="0 0 774 224" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect width="774" height="224" fill="url(#paint0_linear_7_673)"/>
+<defs>
+<linearGradient id="paint0_linear_7_673" x1="387" y1="0" x2="387" y2="224" gradientUnits="userSpaceOnUse">
+<stop stop-color="#0C1039" stop-opacity="0"/>
+<stop offset="0.5" stop-opacity="0.95"/>
+</linearGradient>
+</defs>
+</svg>
diff --git a/assets/VoiceAssistantBottomSheetBg.png b/assets/VoiceAssistantBottomSheetBg.png
new file mode 100644
index 0000000..059864a
--- /dev/null
+++ b/assets/VoiceAssistantBottomSheetBg.png
Binary files differ
diff --git a/assets/VoiceAssistantEnabled.svg b/assets/VoiceAssistantEnabled.svg
new file mode 100644
index 0000000..6b5a83d
--- /dev/null
+++ b/assets/VoiceAssistantEnabled.svg
@@ -0,0 +1,57 @@
+<svg width="86" height="86" viewBox="0 0 86 86" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g filter="url(#filter0_d_1_1648)">
+<rect x="2" y="1" width="80" height="80" rx="40" fill="url(#paint0_linear_1_1648)" shape-rendering="crispEdges"/>
+<rect x="2" y="1" width="80" height="80" rx="40" fill="url(#paint1_linear_1_1648)" fill-opacity="0.15" shape-rendering="crispEdges"/>
+<rect x="2.5" y="1.5" width="79" height="79" rx="39.5" stroke="url(#paint2_linear_1_1648)" shape-rendering="crispEdges"/>
+<g filter="url(#filter1_d_1_1648)">
+<path d="M34 30.3333C34 25.915 37.5817 22.3333 42 22.3333C46.4183 22.3333 50 25.915 50 30.3333V35.6666C50 40.0849 46.4183 43.6666 42 43.6666C37.5817 43.6666 34 40.0849 34 35.6666L34 30.3333Z" fill="white"/>
+</g>
+<g filter="url(#filter2_d_1_1648)">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M29.3703 34.5072C30.4953 34.5072 31.4073 35.423 31.4073 36.5527C31.4073 42.4271 36.1498 47.6666 41.9999 47.6666C47.85 47.6666 52.5925 42.4271 52.5925 36.5527C52.5925 35.423 53.5045 34.5072 54.6295 34.5072C55.7546 34.5072 56.6666 35.423 56.6666 36.5527C56.6666 43.9923 51.8026 50.671 44.6666 51.6666V57C44.6666 58.3333 43.3333 59.6666 41.9999 59.6666C40.6666 59.6666 39.3333 58.3333 39.3333 57V51.6666C32.1972 50.671 27.3333 43.9923 27.3333 36.5527C27.3333 35.423 28.2453 34.5072 29.3703 34.5072Z" fill="white"/>
+</g>
+</g>
+<defs>
+<filter id="filter0_d_1_1648" x="0" y="0" width="86" height="86" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="1" dy="2"/>
+<feGaussianBlur stdDeviation="1.5"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_1648"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_1648" result="shape"/>
+</filter>
+<filter id="filter1_d_1_1648" x="32" y="21.3333" width="22" height="27.3333" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="1" dy="2"/>
+<feGaussianBlur stdDeviation="1.5"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_1648"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_1648" result="shape"/>
+</filter>
+<filter id="filter2_d_1_1648" x="25.3333" y="33.5072" width="35.3333" height="31.1594" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="1" dy="2"/>
+<feGaussianBlur stdDeviation="1.5"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1_1648"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1_1648" result="shape"/>
+</filter>
+<linearGradient id="paint0_linear_1_1648" x1="2" y1="41" x2="82" y2="41" gradientUnits="userSpaceOnUse">
+<stop stop-color="#009DCE"/>
+<stop offset="1" stop-color="#005D7A"/>
+</linearGradient>
+<linearGradient id="paint1_linear_1_1648" x1="2" y1="54.3334" x2="82.0274" y2="54.1669" gradientUnits="userSpaceOnUse">
+<stop stop-color="#2962FF"/>
+<stop offset="1" stop-color="#2962FF" stop-opacity="0.5"/>
+</linearGradient>
+<linearGradient id="paint2_linear_1_1648" x1="2" y1="1" x2="96.7074" y2="26.6089" gradientUnits="userSpaceOnUse">
+<stop stop-color="#29CCFF"/>
+<stop offset="1" stop-color="#29F2FF" stop-opacity="0.2"/>
+</linearGradient>
+</defs>
+</svg>
diff --git a/assets/VoiceAssistantPressed.svg b/assets/VoiceAssistantPressed.svg
new file mode 100644
index 0000000..7ac4e33
--- /dev/null
+++ b/assets/VoiceAssistantPressed.svg
@@ -0,0 +1,33 @@
+<svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g filter="url(#filter0_i_1_1650)">
+<rect width="80" height="80" rx="40" fill="url(#paint0_linear_1_1650)"/>
+<rect width="80" height="80" rx="40" fill="url(#paint1_linear_1_1650)" fill-opacity="0.5"/>
+<rect x="0.5" y="0.5" width="79" height="79" rx="39.5" stroke="url(#paint2_linear_1_1650)"/>
+<path d="M32 29.3333C32 24.915 35.5817 21.3333 40 21.3333C44.4183 21.3333 48 24.915 48 29.3333V34.6666C48 39.0849 44.4183 42.6666 40 42.6666C35.5817 42.6666 32 39.0849 32 34.6666L32 29.3333Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M27.3703 33.5072C28.4953 33.5072 29.4073 34.423 29.4073 35.5527C29.4073 41.4271 34.1498 46.6666 39.9999 46.6666C45.85 46.6666 50.5925 41.4271 50.5925 35.5527C50.5925 34.423 51.5045 33.5072 52.6295 33.5072C53.7546 33.5072 54.6666 34.423 54.6666 35.5527C54.6666 42.9923 49.8026 49.671 42.6666 50.6666V56C42.6666 57.3333 41.3333 58.6666 39.9999 58.6666C38.6666 58.6666 37.3333 57.3333 37.3333 56V50.6666C30.1972 49.671 25.3333 42.9923 25.3333 35.5527C25.3333 34.423 26.2453 33.5072 27.3703 33.5072Z" fill="white"/>
+</g>
+<defs>
+<filter id="filter0_i_1_1650" x="0" y="0" width="81" height="82" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="1" dy="2"/>
+<feGaussianBlur stdDeviation="8"/>
+<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
+<feBlend mode="normal" in2="shape" result="effect1_innerShadow_1_1650"/>
+</filter>
+<linearGradient id="paint0_linear_1_1650" x1="40" y1="0" x2="40" y2="80" gradientUnits="userSpaceOnUse">
+<stop stop-color="#1A5A7E"/>
+<stop offset="1" stop-color="#1C7692"/>
+</linearGradient>
+<linearGradient id="paint1_linear_1_1650" x1="0" y1="0" x2="95.9119" y2="31.4055" gradientUnits="userSpaceOnUse">
+<stop stop-color="#2962FF" stop-opacity="0.5"/>
+<stop offset="1" stop-color="#2962FF"/>
+</linearGradient>
+<linearGradient id="paint2_linear_1_1650" x1="0" y1="0" x2="94.7074" y2="25.6089" gradientUnits="userSpaceOnUse">
+<stop stop-color="#C1D8FF" stop-opacity="0.2"/>
+<stop offset="1" stop-color="#C1D8FF"/>
+</linearGradient>
+</defs>
+</svg>
diff --git a/assets/VoiceControlButton.svg b/assets/VoiceControlButton.svg
new file mode 100644
index 0000000..bbd2757
--- /dev/null
+++ b/assets/VoiceControlButton.svg
@@ -0,0 +1,62 @@
+<svg width="183" height="184" viewBox="0 0 183 184" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g filter="url(#filter0_dd_7_3273)">
+<rect x="14" y="13" width="160" height="160" rx="80" fill="url(#paint0_linear_7_3273)" shape-rendering="crispEdges"/>
+<rect x="14" y="13" width="160" height="160" rx="80" fill="url(#paint1_linear_7_3273)" shape-rendering="crispEdges"/>
+<rect x="14.5" y="13.5" width="159" height="159" rx="79.5" stroke="url(#paint2_linear_7_3273)" shape-rendering="crispEdges"/>
+<g filter="url(#filter1_i_7_3273)">
+<rect x="30" y="29" width="128" height="128" rx="64" fill="url(#paint3_radial_7_3273)" fill-opacity="0.5"/>
+<rect x="30.5" y="29.5" width="127" height="127" rx="63.5" stroke="url(#paint4_linear_7_3273)"/>
+<path d="M78 71.6667C78 62.8301 85.1634 55.6667 94 55.6667C102.837 55.6667 110 62.8301 110 71.6667V82.3334C110 91.1699 102.837 98.3334 94 98.3334C85.1634 98.3334 78 91.1699 78 82.3334L78 71.6667Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M68.7408 80.0145C70.9909 80.0145 72.8149 81.8461 72.8149 84.1055C72.8149 95.8542 82.2998 106.333 94.0001 106.333C105.7 106.333 115.185 95.8542 115.185 84.1055C115.185 81.8461 117.009 80.0145 119.259 80.0145C121.509 80.0145 123.333 81.8461 123.333 84.1055C123.333 98.9848 113.605 112.342 99.3334 114.333V125C99.3334 127.667 96.6667 130.333 94.0001 130.333C91.3334 130.333 88.6667 127.667 88.6667 125V114.333C74.3947 112.342 64.6667 98.9848 64.6667 84.1055C64.6667 81.8461 66.4908 80.0145 68.7408 80.0145Z" fill="white"/>
+</g>
+</g>
+<defs>
+<filter id="filter0_dd_7_3273" x="0" y="0" width="182.3" height="183.3" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="3" dy="5"/>
+<feGaussianBlur stdDeviation="2.65"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0.05 0 0 0 0 0.772 0 0 0 0 1 0 0 0 0.5 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_7_3273"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="-8" dy="-7"/>
+<feGaussianBlur stdDeviation="3"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0.56 0 0 0 0 0 0 0 0 0 1 0 0 0 0.7 0"/>
+<feBlend mode="normal" in2="effect1_dropShadow_7_3273" result="effect2_dropShadow_7_3273"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_7_3273" result="shape"/>
+</filter>
+<filter id="filter1_i_7_3273" x="30" y="29" width="129" height="130" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dx="1" dy="2"/>
+<feGaussianBlur stdDeviation="8"/>
+<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
+<feBlend mode="normal" in2="shape" result="effect1_innerShadow_7_3273"/>
+</filter>
+<linearGradient id="paint0_linear_7_3273" x1="14" y1="93.0001" x2="174" y2="93.0001" gradientUnits="userSpaceOnUse">
+<stop offset="0.0001" stop-color="#1C7692"/>
+<stop offset="1" stop-color="#1A727E"/>
+</linearGradient>
+<linearGradient id="paint1_linear_7_3273" x1="14" y1="119.667" x2="174.055" y2="119.334" gradientUnits="userSpaceOnUse">
+<stop stop-color="#2998FF"/>
+<stop offset="1" stop-color="#29CCFF" stop-opacity="0.7"/>
+</linearGradient>
+<linearGradient id="paint2_linear_7_3273" x1="14" y1="13" x2="203.415" y2="64.2177" gradientUnits="userSpaceOnUse">
+<stop stop-color="#C1D8FF"/>
+<stop offset="1" stop-color="#C1D8FF" stop-opacity="0.25"/>
+</linearGradient>
+<radialGradient id="paint3_radial_7_3273" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(94 93) rotate(90) scale(64)">
+<stop stop-color="#0C1039"/>
+<stop offset="1"/>
+<stop offset="1"/>
+</radialGradient>
+<linearGradient id="paint4_linear_7_3273" x1="30" y1="29" x2="181.532" y2="69.9742" gradientUnits="userSpaceOnUse">
+<stop stop-color="#C1D8FF"/>
+<stop offset="1" stop-color="#C1D8FF" stop-opacity="0.25"/>
+</linearGradient>
+</defs>
+</svg>