ELF>@@$!ohs?[8[8Dٵ_UHAWAVAUATSHAIIeH%(HEЃADLEDHMϾA HH=rMIvP1ASp9HHA9uy1AHTAWHIM IvPAHIvPAWHIvPMoAWHMfPMt(IvP)Mt8IvP9HHkHHAHHHA1H޺MtIvPHHDDeH%(H;EH[A\A]A^A_].AIHHAWHHMoAWHHAWHLAA/fA}#1H޺1@_UHAVSI11AA HH=r MtIvP1H޺1HH[A^].fffff.]qUHAVSHIeH%(HEfEEEFfEHM߾ AA HH=r MtIvP1H޺1HHeH%(H;EuH[A^].flUHAWAVAUATSHLXDIAAIeH%(HEI0EHEHEHEHEHEHEHEHEHEHDžxfDžnDhD HtIwPHHDeDAu*AAxA ƅxHy@HAAA AuPƅtDžp(HpLE1A IH=rUMIwPƅxA~oAAAHy@H%AT$pI$u x(MIwPAFswHy@HA tA uSHy@HHy@HMt5IwP6HHDRHy@HXHHHHH1LƅxHy@HDHxLDD  A tAuHnLL`ƅxELXML.HL9uxtHǾ/HHnH`nAIIMDA tAuhHLDHyH@fHLL`AMIwPAAL`A1A \A HyDnH \HLPHL`fHHAFL`Hyh C@uj@HDAAHy@HDHy@HLL`@HDAHy@HDHy@HDlHyDnH*HnLj HyDnH hEqHy@HHxLDDxQAFfDžpHpLAA IH=r#MtBIwPCAMt!IwPH1L2HHHHDEL 11A IH=r1M#IwPHDEyH`LxP!1LA H` Dƅp HpH߾E1A IH=rHHsPAD$pAHI$ wN9H HHHHILE1IHHDEHLDeH%(H;EDHĀ[A\A]A^A_].Ht#HsP$HHDEy:HOHA1LEEsfDžtDžpCs Cot Ht3HsP4H߾ 11A IH=r&HtmHsPnHHE1A|$pu9I$H3M@f3E u1LlHt*HsP+HHDE=HH1LAgAUHAWAVAUATSHH`AΉT$HIeH%(H$PHtIuPHHD$HLcHLM0 H|$HLL|$3@ ʀu-Aξ@LHMfIuPd@}AL.HL9ufHDŽ$HDŽ$HD$xHD$pHD$hHD$`HD$XHD$PxtHǾ/HtDL.L)HD$HpHt$LHt$HH)HPH9HDHA+H|$PLHD$HAH<HP@H)HH|$PLUHL$P@LHMHHLH|$HLLtMIuPHD$HL8LHMcM9M/L|$HIwHD$HLLSAHCD3tS IHHLÉMIuPIIH|$fILHHjHL$HyI:I`I6HD$HKDKHH\$01Ƀ|$LЉT$8؃L$<1D$(Ld$DLd$Ll$@,Ll$@LDHL$PLML$ADBD)L$tHD$0@DE1 HD$0DhDH|$P1D$PDt$QEHD$H)عHCL9H|$RLLAAA7Ll$@LDHL$PDD$(A IH=r Mt@IuPAD$I I9MMI)AHEIE#At}AMt?AHMVfALt$LL)ALCIfALs M9v}MAK |$|5H I9veAS fEbH I9vIMMAK HI9v0ASLLL HHH@g@H@UHAWAVSHIIeH%(HEE#HM߾E1A HH=r MtDIvPEHHtCux#u{prg@ffAYMt(IvP)HHFMtIvP HHHHH1H޺eH%(H;EuH[A^A_].ff.EAHIHID tuAAHLDUHAREt"Efw9@H].fw>@HM].EҾ@HARPH].EҾ@HMIARH].@]qUHAVSHIeH%(HEfEEH]HLHAA HH=r MtIvP1H޺1HHeH%(H;EuH[A^].%s: QCA Failed to allocate memory for file: %s %s: QCA TLV response size mismatch qca/rampatch_%08x.bin%s: QCA TLV with error stat 0x%x rtype 0x%x (0x%x) %s: QCA Downloading %s %s: QCA Failed to get version (%d) hmtnv%s: QCA Failed to download NVM (%d) %s: QCA Failed to disable soc logging(%d) %s: QCA Failed to run HCI_RESET (%d) %s: Sending QCA Patch config failed (%d) %s: QCA Wrong packet received %d %d qca/crnv%02x.bin%s: QCA TLV with error stat 0x%x rtype 0x%x %s: Reading QCA version information failed (%d) qca/%snullqca/crbtfw%02x.tlvb%s: Failed to read device address (%d) %s: QCA SOC Version :0x%08x qca/%s%02x%s.%s%02x%s: QCA controller version 0x%08x %s: Reading QCA board ID failed (%d) qca/%s%s.bin%s: QCA Patch Version:0x%08x qca/nvm_%08x.bin%s%s: QCA ROM Version :0x%08x %s: QCA Change address command failed (%d) qca/htnv%02x.bin%s: QCA setup on UART is completed qca/hmtbtfw%02x.tlv%s: QCA Reset failed (%d) %s: Reading QCA fw build info failed (%d) qca/crnv%02xu.binqca/msnv%02x.bin%s: QCA Change address cmd failed (%d) Unknown TLV type %d qca/htbtfw%02x.tlv%s: QCA read board ID with no header %s: QCA Product ID :0x%08x %s: QCA Failed to send TLV segment (%d) qca/%s%s.%s%02x%s: QCA Failed to download patch (%d) %s: QCA Wrong packet: %d %d .bin%s: QCA Version size mismatch len %d %s: QCA Patch config cmd size mismatch len %d %s: QCA preshutdown_cmd failed (%d) qca/apnv%02x.bin%s: QCA Failed to request file: %s (%d) hpnvqca/msbtfw%02x.tlvqca/apbtfw%02x.tlvqca/msbtfw%02x.mbnqca/%s%02x%s.binqca/hpbtfw%02x.tlvg%s: Device address length mismatch author=Ben Young Tae Kim description=Bluetooth support for Qualcomm Atheros familylicense=GPLname=btqcaintree=Yscmversion=g50eb8d5d443bdepends=bluetoothvermagic=6.12.18-android16-1-g50eb8d5d443b-ab13257114 SMP preempt mod_unload modversions retpoline=Y(qca_uart_setupqca_set_bdaddrqca_set_bdaddr_romeqca_send_pre_shutdown_cmdqca_read_soc_versionbtqcar F#__hci_cmd_sync_ev%ʽbt_info%ʽbt_errsk_skb_reason_dropFr__x86_return_thunkFr__stack_chk_failb8snprintfQbgmsleepstrrchrstrchrqQr__hci_cmd_sync kstrndup2hci_set_fw_info51kfree*S&request_firmware_strnlen<'sized_strscpyϕstrcmp8vmalloc_noproftmemcpyprelease_firmwareB{^__hci_cmd_send:MmemsetM__alloc_skb6skb_put?hci_recv_frame7vfree1v1__fortify_panicɠskb_pull_databaswap/Tԝmodule_layoutr F#%ʽ%ʽߺFrFr҄b8QbgqQr 251*S&_<'ϕ8tpB{^:MM6?̾71v1ɠȈ/Tԝ__hci_cmd_sync_evbt_infobt_errsk_skb_reason_drop__x86_return_thunk__stack_chk_failsnprintfmsleepstrrchrstrchr__hci_cmd_synckstrnduphci_set_fw_infokfreerequest_firmwarestrnlensized_strscpystrcmpvmalloc_noprofmemcpyrelease_firmware__hci_cmd_sendmemset__alloc_skbskb_puthci_recv_framevfree__fortify_panicskb_pull_databaswapmodule_layoutLinuxLinuxGNUrBPqF6|T_NGNUo@ 7A 7^ A 7#AI 7P 7WB` 7g 7*lB{ 7 7BC 7 7BD 7 7 7 A 7^ 7!A1 78 7=AI 7QA}CE@C 7 7BD@C 7 76BDE 7 7A 7L@ 7Q 7!% 7= 7-T 7[ 7VcBx 7T 7 7PB 7 7BC 7 IJJKmL 7 74 7@ 7Ig 7x 7I 7 7 7 7b! 7) IA 7f 7 7 7 7 7 IK @t 7 C 7 7 7 7 B M 7 B Cg @ N 7 O P 7 7 7' B7 70B Bo D 7 7 B 7 7 B C M* 71 7s6 Az C 7 76 B 7 7B B C ED 7X 7`AwQ 7IKPLjKRS 7%IT 7I) 70 78AHQnUVW 7 7BXfYV@+ 72 7:BI 7P 70UBf 7v 7{B 7 7jBC 7<B 7 7B WAZi[{[[\]D^E^^^^\@_ 7 7B 7 7B 7 7dB C,D1E_ 7f 74 7@ 7ID 7ID 7|ID 7I(Dta@C 7 7BDE%  (0E85g Android (12833971, +pgo, +bolt, +lto, +mlgo, based on r536225) clang version 19.0.1 (https://android.googlesource.com/toolchain/llvm-project b3a530ec6537146650e42be89f1089e9a3588460)%&'()0 M!  0  m * $&(n  "Vk $ ( ,<0P4|8<@DHLPTX\K`bdhlptx|Il(     J      f    & A     5 y     _v Oi $(,70G4m8<@DHeLPT9XT\z`dhlp t@xh|z[~ 0s:9M9 ;939$<(9,90=4989>9 9  P 2n 2:" l    8MW:3^ Fd$f!0, Q9 x   7|im eM Z   a}hrn0 @~ <v0(0! @DW.note.gnu.property.note.Linux.rela.text.comment__versions.rela.smp_locks__ksymtab_strings.codetag.alloc_tags.rela.return_sites.rela.call_sites.rela.cfi_sites__version_ext_names.rela__patchable_function_entries__version_ext_crcs.modinfo.rela__ksymtab_gpl__kcrctab_gpl.note.GNU-stack.llvm_addrsig.gnu.linkonce.this_module.note.gnu.build-id.shstrtab.strtab.symtab.rodata.rodata.__llvm_fs_discriminator__.BTF.rodata.str1.1sized_strscpymemcpy__hci_cmd_sync_evskb_putmemset____versions__start_alloc_tags__stop_alloc_tags____version_ext_names____version_ext_crcsbt_errstrchrstrrchr__kstrtabns_qca_set_bdaddr__cfi_qca_set_bdaddr__crc_qca_set_bdaddr__kstrtab_qca_set_bdaddr__ksymtab_qca_set_bdaddr__kstrtabns_qca_uart_setup__cfi_qca_uart_setup__crc_qca_uart_setup__kstrtab_qca_uart_setup__ksymtab_qca_uart_setupkstrndupsk_skb_reason_dropstrcmpmsleepbaswaphci_set_fw_infobt_info__kstrtabns_qca_read_soc_version__cfi_qca_read_soc_version__crc_qca_read_soc_version__kstrtab_qca_read_soc_version__ksymtab_qca_read_soc_versionstrnlen__stack_chk_fail__x86_return_thunksnprintfvmalloc_noprofrequest_firmwarerelease_firmwareqca_download_firmware__kstrtabns_qca_set_bdaddr_rome__cfi_qca_set_bdaddr_rome__crc_qca_set_bdaddr_rome__kstrtab_qca_set_bdaddr_rome__ksymtab_qca_set_bdaddr_romehci_recv_frame__this_modulevfreekfreeqca_get_nvm_name_by_board__hci_cmd_send__kstrtabns_qca_send_pre_shutdown_cmd__cfi_qca_send_pre_shutdown_cmd__crc_qca_send_pre_shutdown_cmd__kstrtab_qca_send_pre_shutdown_cmd__ksymtab_qca_send_pre_shutdown_cmdqca_read_fw_board_id__hci_cmd_sync__fortify_panic__alloc_skbskb_pull_data__llvm_fs_discriminator____UNIQUE_ID_retpoline429__UNIQUE_ID_intree429_note_19__UNIQUE_ID_license809__UNIQUE_ID_name428__UNIQUE_ID_vermagic428_note_18__UNIQUE_ID_description808__UNIQUE_ID_author807__UNIQUE_ID_depends431__UNIQUE_ID_scmversion4305v vv vI{(^{(x{({(;{(*2 14ɯ2{( v{( vH{( vx{( vK v{(2 v{( ` {(v {(4 p{(2 |(22|(0!|(25|(2I|(2\|(0f|(78t|(2|(6|(2|(4|(2 4|(4|(4|(2 |(40|(4@|(2P|(`X|(2`}(4p%}(46}(2E}(2X}(4l}(4}(2}(4}(4}(4}(4}(4}(4 ~(40~(4@:~(4PN~(4`e~(4pz~(4~(4~(4~(4~(4~(4~(4~(4~(4(2(2&(4 A(40S(4@e(4Pz(2`(2h(2p(2x2(4(4(2 (4(4$(42(4 @(20S(4@e(4Pz(2`(4p(4(4(4΀(4(4 (`(`4)(43(4"4?( L(4@_(4Pr(`(v ( ((( (@(`(((ʁ(Ӂ(܁( (@( ( (2(2@"(( .0 0( #<( $J(%](&p('( )( *(4+(0@+(0.7 00ς(03ڂ( @6( @7< @8(0@9(<(<(= (:@>(:> > (@@+(A6( AA(:@AI(:AQ(AZ(Bi(v@Bs(@M( `M(M(M(vN vNу(NgN(1N( vN(1O(v@O(P(Q*(Q6(RB(RH(SR(Sa(Ty(T(U(U(V(VĄ(WԄ(W(XDvXOj Y&Z(@ZZRvZa" y Az(!v@z(`Hz("vPz(2($("v02(2D(#vQ(2b(p((2(4(0(̅(@݅(7`((0( v(0 ( v"(02(D(@$vo8$v$vA$v@ղ$v &ve(vW(*v@@$v`(,vi(.vv@?2vt(,v(4v(6v@(:v( v-2 2 Ɇ(ۆ(((('(` 5v >@\`@7( vE(1X(_f( u(v@(1 ( (( (0 ‡(_8 LJ(3@ B(v ҇( 1 2 ((("((;0(8(@(H(O(a( (o(v( }(@(`(((((( ( }5v c, @ \>9GGWLG@Lj(Έ( @ֈ(0@fv(v@$v((()(>(T(l(vv vw(vv v:(v v v (12 2 %v v'v v:)v v+v v1-v v/v v0v1v v3v v5v v7v v28v&9v(124q 4(2((20;v 1v:=v( Љ( ډ(0? @( ((((()(5(A(M(Y(e( q( @v v6%>v=v}((((Š(֊((((('(<(X(u(((Ћ((( (( J( k( ( (̌(( ()(N(p(((ڍ((&(G(s(((֎(Ev( (2* 2cGv(. c Iv( JP ,( 8(2@Ne2HG(2Pb2X `U(p_(t Kvm(  z( ( @c`Mv(cA2Pv(Qv(Uv(\vz9( 1(1-341 (1!Ov@ʏ( Տ(1u1qb1[1dg 11܏(3(3 E10(@{( vPw[ RvSv((Vv(Yv(K3@m 1P1XTv(WvXv v132(Zv[v v13:I()N vK3@^vS(A*2{( v`v avg(T1u(|(6%(Av (Av@{( v`av1 ev((H2_2gv((2K vjv  55  m )N vbvƐ(>vډ(1ϐ( mv u(G\ Ɛ(>v' =vډ(1/3( ov )N v/R( qv )N v' v( sv )N v)( uv )N v{(0vC( wvR( wv )N vf(6%Ɛ(>v' =v o( zvINTERLEAVE_SCAN_NONEINTERLEAVE_SCAN_NO_FILTERINTERLEAVE_SCAN_ALLOWLISThci_devunset_handle_idabdaddrsetup_addrpublic_addrrandom_addradv_addr_typeshort_nameeirappearancemajor_classminor_classle_featuresle_accept_list_sizele_resolv_list_sizele_num_of_adv_setsle_statesmesh_ad_typesmesh_send_refcommandshci_verhci_revlmp_verlmp_subvervoice_settingnum_iacstored_max_keysstored_num_keysio_capabilityinq_tx_powererr_data_reportingpage_scan_intervalpage_scan_windowpage_scan_typele_adv_channel_maple_adv_min_intervalle_adv_max_intervalle_scan_typele_scan_intervalle_scan_windowle_scan_int_suspendle_scan_window_suspendle_scan_int_discoveryle_scan_window_discoveryle_scan_int_adv_monitorle_scan_window_adv_monitorle_scan_int_connectle_scan_window_connectle_conn_min_intervalle_conn_max_intervalle_conn_latencyle_supv_timeoutle_def_tx_lenle_def_tx_timele_max_tx_lenle_max_tx_timele_max_rx_lenle_max_rx_timele_max_key_sizele_min_key_sizediscov_interleaved_timeoutconn_info_min_ageconn_info_max_ageauth_payload_timeoutmin_enc_key_sizemax_enc_key_sizepairing_optsssp_debug_modeadvmon_allowlist_durationadvmon_no_filter_durationenable_advmon_interleave_scandevid_sourcedevid_vendordevid_productdevid_versiondef_page_scan_typedef_page_scan_intdef_page_scan_windowdef_inq_scan_typedef_inq_scan_intdef_inq_scan_windowdef_br_lstodef_page_timeoutdef_multi_adv_rotation_durationdef_le_autoconnect_timeoutmin_le_tx_powermax_le_tx_poweresco_typelink_policyidle_timeoutsniff_min_intervalsniff_max_intervalauto_accept_delaycmd_cntacl_cntsco_cntle_cntiso_cntacl_mtusco_mtule_mtuiso_mtuacl_pktssco_pktsle_pktsiso_pktsacl_last_txle_last_txle_tx_def_physle_rx_def_physreq_workqueueerror_resetcmd_sync_workcmd_sync_work_listcmd_sync_work_lockunregister_lockcmd_sync_cancel_workreenable_adv_workdiscov_timeoutdiscov_offservice_cachencmd_timerrx_workcmd_workle_scan_disablerx_qraw_qcmd_qsent_cmdrecv_eventreq_wait_qreq_statusreq_resultreq_skbreq_rspsmp_datasmp_bredr_datadiscoverydiscovery_pausedadvertising_old_stateadvertising_pausedsuspend_notifiersuspend_state_nextscanning_pausedwake_reasonwake_addrwake_addr_typeconn_hashmesh_pendingmgmt_pendingreject_listaccept_listuuidslink_keyslong_term_keysidentity_resolving_keysremote_oob_datale_accept_listle_resolv_listle_conn_paramspend_le_connspend_le_reportsblocked_keyslocal_codecsfw_infoconn_flagsadv_tx_poweradv_dataadv_data_lenscan_rsp_datascan_rsp_data_lenper_adv_dataper_adv_data_lenadv_instancesadv_instance_cntcur_adv_instanceadv_instance_timeoutadv_instance_expireadv_monitors_idradv_monitors_cntirkrpa_timeoutrpa_expiredrpamesh_send_doneinterleave_scan_stateinterleave_scanmonitored_devicesadvmon_pend_notifyhw_errorset_diagset_bdaddrset_quality_reportget_data_path_idget_codec_config_dataclassify_pkt_typebdaddr_tDISCOVERY_STOPPEDDISCOVERY_STARTINGDISCOVERY_FINDINGDISCOVERY_RESOLVINGDISCOVERY_STOPPINGdiscovery_statelast_adv_addrlast_adv_addr_typelast_adv_rssilast_adv_flagslast_adv_datalast_adv_data_lenreport_invalid_rssiresult_filteringlimitedrssiuuid_countname_resolve_timeoutBT_RUNNINGBT_SUSPEND_DISCONNECTBT_SUSPEND_CONFIGURE_WAKEhci_conn_hashacl_numsco_numiso_numle_numle_num_peripheralhci_dev_statserr_rxerr_txcmd_txevt_rxacl_txacl_rxsco_txsco_rxbyte_rxbyte_txhci_devcoredumpdump_qdump_rxdump_timeoutdmp_hdrdevcoredump_stateHCI_DEVCOREDUMP_IDLEHCI_DEVCOREDUMP_ACTIVEHCI_DEVCOREDUMP_DONEHCI_DEVCOREDUMP_ABORTHCI_DEVCOREDUMP_TIMEOUTcoredump_tdmp_hdr_tnotify_change_thci_conn_flags_tbt_codecdata_pathnum_capsqca_btsoc_versionpatch_verrom_verqca_btsoc_typeQCA_INVALIDQCA_AR3002QCA_ROMEQCA_WCN3988QCA_WCN3990QCA_WCN3998QCA_WCN3991QCA_QCA2066QCA_QCA6390QCA_WCN6750QCA_WCN6855QCA_WCN7850qca_tlv_dnld_modeQCA_SKIP_EVT_NONEQCA_SKIP_EVT_VSEQCA_SKIP_EVT_CCQCA_SKIP_EVT_VSE_CCqca_tlv_typeTLV_TYPE_PATCHTLV_TYPE_NVMELF_TYPE_PATCHHCI_QUIRK_RESET_ON_CLOSEHCI_QUIRK_RAW_DEVICEHCI_QUIRK_FIXUP_BUFFER_SIZEHCI_QUIRK_FIXUP_INQUIRY_MODEHCI_QUIRK_BROKEN_LOCAL_COMMANDSHCI_QUIRK_BROKEN_STORED_LINK_KEYHCI_QUIRK_EXTERNAL_CONFIGHCI_QUIRK_INVALID_BDADDRHCI_QUIRK_USE_BDADDR_PROPERTYHCI_QUIRK_BDADDR_PROPERTY_BROKENHCI_QUIRK_STRICT_DUPLICATE_FILTERHCI_QUIRK_SIMULTANEOUS_DISCOVERYHCI_QUIRK_NON_PERSISTENT_DIAGHCI_QUIRK_NON_PERSISTENT_SETUPHCI_QUIRK_WIDEBAND_SPEECH_SUPPORTEDHCI_QUIRK_BROKEN_LE_STATESHCI_QUIRK_BROKEN_ERR_DATA_REPORTINGHCI_QUIRK_NO_SUSPEND_NOTIFIERHCI_QUIRK_BROKEN_READ_TRANSMIT_POWERHCI_QUIRK_BROKEN_FILTER_CLEAR_ALLHCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONNHCI_QUIRK_BROKEN_EXT_SCANHCI_QUIRK_BROKEN_MWS_TRANSPORT_CONFIGHCI_QUIRK_BROKEN_LOCAL_EXT_FEATURES_PAGE_2HCI_QUIRK_BROKEN_SET_RPA_TIMEOUTHCI_QUIRK_BROKEN_EXT_CREATE_CONNHCI_QUIRK_BROKEN_WRITE_AUTH_PAYLOAD_TIMEOUTHCI_QUIRK_USE_MSFT_EXT_ADDRESS_FILTERHCI_QUIRK_BROKEN_LE_CODEDHCI_QUIRK_BROKEN_READ_ENC_KEY_SIZEHCI_QUIRK_FIXUP_LE_EXT_ADV_REPORT_PHYedl_event_hdrcresptlv_type_hdrtlv_type_patchdata_lengthformat_versiondownload_moderom_buildpatch_versiontlv_type_nvmreserve1reserve2tlv_seg_respl2caphcimgmtbt_skb_cbforce_activepkt_statusl2cap_ctrlsframereqseqtxseqpsml2cap_chanreq_completereq_complete_skbhci_ctrlhci_req_complete_thci_req_complete_skb_tmgmt_ctrlhci_rp_read_bd_addrqca_fw_configfwnameuser_baud_ratednld_modednld_typehci_event_hdrhci_ev_cmd_completencmdsoc_typeqca_download_firmwareqca_get_nvm_name_by_boardqca_read_fw_board_idqca_read_soc_versionqca_send_pre_shutdown_cmdqca_set_bdaddrqca_set_bdaddr_romebaudrateqca_uart_setup@<|@a% @h48 @J D?@`K 2f6!S" X"+0xK,Lo0LY"@PLx zm",u@L "@MX O2}$b@(Yh :%@@4@*2|2m30T 4$H4 ZyZ ":g dqekE10 *H 01 0  `He0  *H 1o0k0F0.1,0*U #Build time autogenerated kernel key` 1;_-<0  `He0  *H  S+F02>'4GpPi?'Z[t6"Jz 89eNf ފ܎0!=U#18=5%Rkg+N-1Z|}E:bq̌`S9SZkRax? V {\3l36%`д\ܛ^6rK($\hd x/8/$?E3&9c7 -9is@'Lp -gAJ9LlE >|l6DP}N %8s8. ށ;=Lu':CsH0<zw!`<0y6{KyybDT`-,KIN~ *ē+cd,0&}X2*#"F- [#laH&?M-({lIH6hNtg`:MdpeA==! I(~Module signature appended~