Commit graph

819 commits

Author SHA1 Message Date
DmFrPro
fef9d8991e
sdm710-common: Build health 2.0 impl and service
* Build healthd 2.0 HIDL

Unable to set property "ctl.interface_start" to "android.hardware.health@2.0::IHealth/default": error code: 0x20
05-26 19:22:15.101   511  2639 I hwservicemanager: Tried to start android.hardware.health@2.0::IHealth/default as a lazy service, but was unable to. Usually this happens when a service is not installed, but if the service is intended to be used as a lazy service, then it may be configured incorrectly.
2023-06-17 17:03:39 +03:00
Danny Lin
6b160423d6
sdm710-common: overlay: Set full gesture navigation as default
User can also change it in the gesture settings.

Change-Id: I8fca7b006e60f267ce04ac55eefb63af60be9c76
2023-06-17 17:03:39 +03:00
Ultra119
229b7a415d
sdm710-common: sepolicy: Give QCOM TEE directory access to tmpfs
08-28 01:02:14.567   893   909 D QSEECOMAPI: QSEECom_get_handle sb_length = 0x64000
08-28 01:02:14.568   893   909 D QSEECOMAPI: App is not loaded in QSEE
08-28 01:02:14.568   893   909 E QSEECOMAPI: Error::Cannot open the file /vendor/firmware_mnt/image/widevine.mdt errno = 2
08-28 01:02:14.568   893   909 E QSEECOMAPI: Error::Loading image failed with ret = -1
08-28 01:02:14.571   893   909 D QSEECOMAPI: QSEECom_get_handle sb_length = 0x64000
08-28 01:02:14.571   893   909 D QSEECOMAPI: App is not loaded in QSEE
08-28 01:02:14.595   893   909 D QSEECOMAPI: Loaded image: APP id = 24
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: ---------------Widevine OEMCrypto configuration-----------------
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: TA-HLOS interface                    :   QSEECOM
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: Crypto Engine SMMU Virtual Address   :   Yes
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: Measure elapsed time                 :   No
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: Inplace decryption for clear buffer  :   Yes
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: Frame Assembly                       :   Yes
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: Scratch buffer size                  :   4194304
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: Decrypt hash tests                   :   No
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: Secure buffer tests                  :   No
08-28 01:02:14.597   893   909 I QCOM-OEMCrypto: ----------------------------------------------------------------
08-28 01:02:14.598   624   633 D DrmLibTime: got the req here! ret=0
08-28 01:02:14.599   624   633 D DrmLibTime: command id, time_cmd_id = 770
08-28 01:02:14.599   624   633 D DrmLibTime: time_getutcsec starts!
08-28 01:02:14.599   624   633 D DrmLibTime: QSEE Time Listener: time_getutcsec
08-28 01:02:14.599   624   633 D DrmLibTime: QSEE Time Listener: get_utc_seconds
08-28 01:02:14.599   624   633 D DrmLibTime: QSEE Time Listener: time_get_modem_time
08-28 01:02:14.599   624   633 D DrmLibTime: QSEE Time Listener: Checking if ATS_MODEM is set or not.
08-28 01:02:14.599   624   633 D QC-time-services: Lib:time_genoff_operation: pargs->base = 13
08-28 01:02:14.599   624   633 D QC-time-services: Lib:time_genoff_operation: pargs->operation = 2
08-28 01:02:14.599   624   633 D QC-time-services: Lib:time_genoff_operation: pargs->ts_val = 0
08-28 01:02:14.599   624   633 D QC-time-services: Lib:time_genoff_operation: Send to server  passed!!
08-28 01:02:14.599   726  1000 D QC-time-services: Daemon: Connection accepted:time_genoff
08-28 01:02:14.599   726 25387 D QC-time-services: Daemon:Received base = 13, unit = 1, operation = 2,value = 0
08-28 01:02:14.599   726 25387 D QC-time-services: Daemon:genoff_opr: Base = 13, val = 0, operation = 2
08-28 01:02:14.599   726 25387 D QC-time-services: offset is: 1 for base: 13
08-28 01:02:14.599   624   633 E QC-time-services: Receive Passed == base = 13, unit = 1, operation = 2, result = 0
08-28 01:02:14.599   624   633 D DrmLibTime: QSEE Time Listener: ATS_MODEM is set. Try to retrieve it.
08-28 01:02:14.599   726  1000 E QC-time-services: Daemon: Time-services: Waiting to acceptconnection
08-28 01:02:14.599   726  1000 D QC-time-services: Daemon: Connection accepted:time_genoff
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:Received base = 13, unit = 1, operation = 1,value = 0
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:genoff_opr: Base = 13, val = 0, operation = 1
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon: genoff get for 13
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:Value read from QTimer mseconds = 25504420
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:Value read from RTC mseconds on boot = 14864938000
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:Value read from QTimer mseconds = 25504420
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:Value read from generic offset = 1646729299436
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:Delta read on boot mseconds = 14864929606
08-28 01:02:14.600   726 25388 D QC-time-services: Daemon:Final Time = 1661619733462
08-28 01:02:14.600   624   633 D DrmLibTime: QSEE Time Listener: Time GenOff - seconds: 1661619733
08-28 01:02:14.600   624   633 D DrmLibTime: time_getutcsec returns 0, sec = 1661619733; nsec = 0
08-28 01:02:14.600   624   633 D DrmLibTime: time_getutcsec finished!
08-28 01:02:14.600   624   633 D DrmLibTime: iotcl_continue_command finished! and return 0
08-28 01:02:14.600   624   633 D DrmLibTime: before calling ioctl to read the next time_cmd
08-28 01:02:14.601   726  1000 E QC-time-services: Daemon: Time-services: Waiting to acceptconnection
08-28 01:02:14.615   624   624 W qseecomd: type=1400 audit(0.0:880): avc: denied { read } for name="/" dev="tmpfs" ino=1039 scontext=u:r:tee:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir permissive=0
2023-06-17 17:03:39 +03:00
Pratyaksh Bharadwaj
db71a9eece
sdm710-common: uprev keymaster to 4.1
Signed-off-by: Pratyaksh Bharadwaj <pratyakshom.05@gmail.com>
2023-06-17 17:03:38 +03:00
snnbyyds
31c75a6fe0
sdm710-common: Use the new auto network selection UI
Signed-off-by: uotanstation <emm@emm.com>
2023-06-17 17:03:38 +03:00
Ultra119
81ef9dbdc4
Revert "sdm710-common: Nuke AVB from system"
This reverts commit 721db48fac4f308632bc2f1562ec091ddf1c0cca.
2023-06-17 17:03:38 +03:00
PainKiller3
38a646e5e7
sdm710-common: props: Disable vsync for CPU rendered Apps
* Choreographer VSync has some performance impact for CPU rendered apps
as the app has to wait for VSync to start a new frame draw. When the
frame draw time exceeds one VSync, this has a direct impact on the FPS.
debug.cpurend.vsync property controls the VSync for CPU rendered apps.

Disable VSync for CPU rendered app, by setting this property to false.
2023-06-17 17:03:37 +03:00
kdrag0n
d0bc1e5b8f
sdm710-common: overlay: Offload WM shell to another thread
Android 12 added this config to offload some window management to a
dedicated thread. Enable it to improve performance when the main System
UI thread is busy.

Change-Id: I9eef4cdbc26d0880f3a9aaf875d5e36ebd693238
2023-06-17 17:03:37 +03:00
Ultra119
c4791070de
sdm710-common: Build neuralnetworks@1.3 2023-06-17 17:03:37 +03:00
Adithya R
646fb33b38
sdm710-common: overlay: Disable alpha compositing in WM
* Completely eliminates occasional jank in few animations
2023-06-17 17:03:37 +03:00
Paul Keith
85a2538e24
sdm710-common: props: Enable QCRIL radio power saving
Change-Id: I339d0fbec60b554c6b7930162f5a917e052fc5a1
2023-06-17 17:03:36 +03:00
iamimmanuelraj
129f391107
sdm710-common: props: Fix cam interface on vilte calls
We use camera2api but this prop was making the ims based stuff to use camera1api which caused ded cam (black cam - receiver not able to see dialer)
This fixes it and now vilte calls work fully
Thanks to srindak unkil for halping me see this derp
2023-06-17 17:03:36 +03:00
Shibin George
58f57ad7fd
sdm710-common: Create a symlink to the msadp partition in vendor/etc
The msadp partition contents can now be loaded via request_firmware.
Without this change the msadp image was not picked up during modem
loading

[jmpfbmx]: It fixes:
ueventd : firmware: loading 'msadp' for '/devices/soc/4080000.qcom,mss/firmware/msadp'
ueventd : firmware: could not find firmware for msadp
ueventd : firmware: attempted /etc/firmware/msadp, open failed: No such file or directory
ueventd : firmware: attempted /odm/firmware/msadp, open failed: No such file or directory
ueventd : firmware: attempted /vendor/firmware/msadp, open failed: No such file or directory
ueventd : firmware: attempted /firmware/image/msadp, open failed: No such file or directory
ueventd : firmware: attempted /vendor/firmware_mnt/image/msadp, open failed: No such file or directory

Change-Id: I4d99b56e0e151169b44839c299156878474857cd
2023-06-17 17:03:36 +03:00
Pasha
93aa72e64a
sdm710-common: rootdir: Remove ssgtzd
Could not start service 'ssgtzd' as part of class 'late_start': Cannot find '/vendor/bin/ssgtzd': No such file or directory
2023-06-17 17:03:35 +03:00
Pasha
7e605bed68
sdm710-common: rootdir: Remove qcom-c_core-sh
Could not start service 'qcom-c_core-sh' as part of class 'core': Cannot find '/vendor/bin/init.qcom.class_core.sh': No such file or directory
2023-06-17 17:03:35 +03:00
Dhina17
885697f5c9
sdm710-common: rootdir: Remove vendor.sensors
- Our device doesn't have sscrpcd, so remove it from init.qcom.rc

fixes:
init: Could not start service 'vendor.sensors' as part of class 'early_hal': Cannot find '/vendor/bin/sscrpcd': No such file or directory

Change-Id: I54e93aaa5e76c168d515d626fb7f4f5e88d30f9f
2023-06-17 17:03:35 +03:00
dotkit
484f87b616
sdm710-common: props: Disable continuous transaction tracing
01-16 20:42:21.500 W/TransactionTracing(788): Could not find layer handle 0x7011020130
01-16 20:42:23.216 W/TransactionTracing(788): Could not find layer id -1

Change-Id: I453c9efe4b6e53e97c1891851c58f20dc71cb64e
Signed-off-by: dotkit <ewprjkt@proton.me>
2023-06-17 17:03:35 +03:00
Pasha
c49264e4f4
sdm710-common: props: move some props to product
[    2.759039] init: Do not have permissions to set 'audio.offload.disable' to 'true' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759060] init: Do not have permissions to set 'audio.sys.noisy.broadcast.delay' to '600' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759074] init: Do not have permissions to set 'audio.sys.offload.pstimeout.secs' to '3' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759137] init: Do not have permissions to set 'persist.audio.fluence.voicecomm' to 'true' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759207] init: Do not have permissions to set 'persist.audio.fluence.voicecall' to 'true' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759222] init: Do not have permissions to set 'persist.audio.fluence.voicerec' to 'false' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759235] init: Do not have permissions to set 'persist.audio.fluence.speaker' to 'true' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759289] init: Do not have permissions to set 'persist.vendor.bt.a2dp_offload_cap' to 'sbc-aptx-aptxhd-aac-ldac' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759309] init: Do not have permissions to set 'ro.qc.sdk.audio.ssr' to 'false' in property file '/vendor/build.prop': SELinux permission check failed
[    2.759323] init: Do not have permissions to set 'ro.qc.sdk.audio.fluencetype' to 'none' in property file '/vendor/build.prop': SELinux permission check failed
[    2.760215] init: Do not have permissions to set 'ro.iorapd.enable' to 'false' in property file '/vendor/build.prop': SELinux permission check failed
[    2.760229] init: Do not have permissions to set 'iorapd.perfetto.enable' to 'false' in property file '/vendor/build.prop': SELinux permission check failed
[    2.760241] init: Do not have permissions to set 'iorapd.readahead.enable' to 'false' in property file '/vendor/build.prop': SELinux permission check failed
[    2.760276] init: Do not have permissions to set 'persist.device_config.runtime_native_boot.iorap_readahead_enable' to 'false' in property file '/vendor/build.prop': SELinux permission check failed
2023-06-17 17:03:34 +03:00
Danny Lin
5db47d29dd
sdm710-common: Switch to Vulkan UI renderer
We tried doing this on Android 11 and later reverted it due to fd leaks
during prolonged video calls. However, the issue has been fixed on
Android 12, so let's enable it again for performance.

Nanhumly:
SystemUI Lag encountered in Android13 QPR1, probably related to OpenGLRenderer

E/OpenGLRenderer( 1556): Unable to match the desired swap behavior.
W/Parcel  ( 1556): Expecting binder but got null!
D/OpenGLRenderer( 2414): endAllActiveAnimators on 0x7adac3e100 (RippleDrawable) with handle 0x7a3803b540

So switch to Vulkan UI renderer for now, even though it has rendering problems in some interfaces.

Change-Id: I1cd2ca6931aad60f9c48d40aa0212b69c68edef8
Signed-off-by: Nishant Kumar <www.rajsonu13@gmail.com>
2023-06-17 17:03:34 +03:00
Ultra119
4e03644321
sdm710-common: overlay: Add flag that specifying whether VT should be available for carrier 2023-06-17 17:03:34 +03:00
snnbyyds
f9940cea9f
sdm710-common: Add statically linked parted
* Statically linked parted (https://forum.renegade-project.org/t/linux-android-aarch64-parted3-5-statically-linked-parted/2937/2)
* It may help you install Windows!
2023-06-17 17:03:34 +03:00
Ultra119
712c0269bb
sdm710-common: sepolicy: Fix up libperfmgr crash on logs
W/libperfmgr(798): Failed to write to node: /proc/sys/kernel/sched_boost with value: 0, fd: -1
2023-06-17 17:03:33 +03:00
Husker
99cac333d0
sdm710-common: props: Fix and remove unnecessary space below Gboard 2023-06-17 17:03:33 +03:00
srfarias
c57a990c78
sdm710-common: rootdir: Hide Magisk Better
* Some banking apps read the file /proc/net/unix to
find out whether things like Magisk are installed/running.

To prevent that, chmod it 440.
This file isn't needed by any other process when boot is finished.

I've tested this and banking apps that did not work before
and recognized Magisk being installed now don't recognize
that and work just fine.
2023-06-17 17:03:33 +03:00
victor10520
c302d25ba5
sdm710-common: Use old thermal config
*Works better
2023-06-17 17:03:32 +03:00
lzgmc
d99533a8c2
sdm710-common: Add Aperture to aux whitelist 2023-06-17 17:03:32 +03:00
LuK1337
0b24a4e7bd
sdm710-common: overlay: Configure aux camera for Aperture
Change-Id: I543f078dd4dba30e1b22737d5c22d591e3fb34e6
2023-06-17 17:03:32 +03:00
Edwin Moquete
d9a9601c93 sdm710-common: Remove unused persist.bluetooth.a2dp_offload.cap property
This prop has no effect as of T QPR1.

See: cf25e33147

Change-Id: Ic762812dd59429d344ccc55c01bf96b0ffd6dbab
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-28 01:58:52 +01:00
Edwin Moquete
69749103ae sdm710-common: Switch to legacy sepolicy_vndr
Change-Id: I13229c3057bf32c81b0fdace075f0791cb8ad380
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 22:53:22 +01:00
Chenyang Zhong
699b06ae9f sdm710-common: override pixel thermal HAL service with HAL interfaces
Google removed the HAL interfaces in Pixel thermal HAL service after
QPR1 [1]. As a result, the pixel thermal HAL on Xiaomi sdm845 devices
cannot be started correct at boot. Override it in sdm845-common, and
restore the interface definitions.

[1] be6336211e

Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 22:53:22 +01:00
Chenyang Zhong
bc37c35dc4 sdm710-common: drop unnecessary ims system blobs
Everything is fine on AOSP without them.

Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 22:53:22 +01:00
Chenyang Zhong
cf6045b932 sdm710-common: rectify an incorrect hash of wfdservice
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 22:53:22 +01:00
Chenyang Zhong
c9bccfc493 sdm710-common: add the missing vendor.qti.imsrtpservice@3.1
Otherwise, carrier video calling is broken.

Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 22:53:22 +01:00
OnlyTomInSecond
4ff3eae3b2 sdm710-common: Set block_binder_thread_on_incoming_calls prop
In order to fix incoming calls.

Change-Id: Id474622f3e08b88f1d099e3d6507fd1d84de4d88
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 20:18:49 +01:00
Michael Bestas
c5d290db1d sdm710-common: Move qti_whitelist.xml to /system_ext
- Also kang file from sdm845 tree

Change-Id: Id8617513cfd686b3f6888a89c1b1db196acfb476
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 20:17:49 +01:00
Aaron Kling
2c91884f8c sdm710-common: Remove references to a2dp module
APM would fail to parse the config anyway:

  E DevicesFactoryHAL: loadAudioInterface couldn't load audio hw module audio.a2dp (No such file or directory)
  W DevicesFactoryHalHidl: The specified device name is not recognized: "a2dp"
  E AudioFlinger: loadHwModule() error -22 loading module a2dp
  W APM_AudioPolicyManager: could not open HW module a2dp

Change-Id: Iaa1be881cfe8f8474cef0ba46e1b0a62b59e14be
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2023-01-27 20:09:25 +01:00
Bruno Martins
72b553259d sdm710-common: Revise and update audio feature flags and props
So to match what is shipped with stock because prebuilt a-HAL
and extensions are being used.

Change-Id: I74d5bd1de5ea87984ace38076cb5a0bd54736ca6
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:28:55 +01:00
Bruno Martins
822a2aaab1 sdm710-common: Drop custom APM flag along with no-op audio flags
Custom audio policy manager is hard disabled by CAF
for 2 years now. Remove as well the audio feature flags
that were used to configure it.

Change-Id: Idd34d1cbbdb735d6cf0de3b159c2670bf7ddd1e3
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:27:28 +01:00
Mohammed Mirza Mandayappurath Manzoor
e1b63048b3 sdm710-common: ueventd: Set permissions for KGSL sysfs node
Some KGSL sysfs nodes need to be access controlled. Set proper
permissions for the same.

Change-Id: Idc7e2447d02742074873901c6539f2c6d9d25862
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:25:50 +01:00
Bruno Martins
4226e5591c sdm710-common: overlay: Remove BT related configs
These have been migrated to sysprops in Android 13.

Change-Id: I34c1f6b882a61df6db95523997002512354d875e
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:25:10 +01:00
Alexander Koskovich
5c069d12de sdm710-common: Move Bluetooth power overlays to sysprops
* These were moved to sysprops in Android 13 [1] and while
   frameworks reads the values directly from power_profile.xml
   Bluetooth app reads from the properties.

 [1] 976d33062b%5E%21/#F0

Change-Id: I5bff67a15c537e8a47a19f30776fca6bf2c9fbe5
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:23:40 +01:00
Bruno Martins
548b1cdce4 sdm710-common: Migrate to AIDL ClearKey DRM HAL
Change-Id: Iad5cc1176978137c647069197b33f49fb4d98ab2
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:22:00 +01:00
LuK1337
688742ef3e sdm710-common: Pull appropriate USB props from vendor_product.mk
Change-Id: I93b25c5d0989c83d1c8d7b7946a083771febdddd
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:21:36 +01:00
Alexander Koskovich
ee78b6a959 sdm710-common: Move BT profiles props to vendor
* Makes it GSI compatible

Change-Id: I8f7caf241d508af59c16482e6185c42f23f8a460
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:19:12 +01:00
Woody Lin
c898c89e44 sdm710-common: Enable zygote critical window
Bug: 141948707
Change-Id: I5dc57312118b0f6d95fc9fe164363ec7e15f1b51
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:16:57 +01:00
Bruno Martins
c262a28e3f sdm710-common: Remove dead targets
Change-Id: I496e37e3d813a96ca3a0138dbc61cd1a90655244
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:15:53 +01:00
Michael Bestas
7c1c0cc57b sdm710-common: Remove bdroid_buildcfg.h
As of I3c7aed1bdb45db728d319f7d757400e44d232283 the Bluetooth stack
defaults to reasonable defaults that should work for all devices.

Change-Id: I056d63c4c8a2727e384172e964dc0000b6773504
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:14:56 +01:00
Georg Veichtlbauer
3c293f5f41 sdm710-common: Drop config_setColorTransformAccelerated
It's now enabled by default

Change-Id: I57f059c872fc2ad2fd15e788b1391eeebaff9bde
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:13:47 +01:00
Muhammed Siju
4118c7b51b sdm710-common: Disable advance network scan for legacy targets
- Set persist.vendor.radio.enableadvancedscan to false

Change-Id: Id01e7a545e89ff9ab9fb659aec1fbae527c40f71
CRs-Fixed: 2780132
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
2022-11-12 15:12:32 +01:00
Volodymyr Zhdanov
2caf49b8dd sdm710-common: power-libperfmgr: move dt2w mode on top of setMode switch
* fixed dt2w after reboot

Signed-off-by: SamarV-121 <samarvispute121@gmail.com>
2022-11-12 15:09:34 +01:00