
    |~g0                     j   d dl m Z d dlmZ d dlmZ dZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSi dR edS      dT edU      dV edW      dX edY      dZ ed[      d\ ed]      d^ ed_      d` eda      db edc      dd ede      df edg      dh edi      dj edk      dl edm      dn edo      dp edq      dr eds      i dt edu      dv edw      dx edy      dz ed{      d| ed}      d~ ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d	 ed      d
 ed      d ed      d ed      i d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      d ed      i d ed      d ed      d  ed      d! ed      d" ed      d# ed      d$ ed      d% ed      d& ed      d' ed      d( ed      d) ed      d* ed      d+ ed      d, ed      d- ed      d. ed      i d/ ed      d0 ed      d1 ed      d2 ed      d3 ed      d4 ed      d5 ed      d6 ed      d ed      d7 ed      d8 ed      d9 ed      d: ed      d; ed      d ed      d ed      d ed      i d< ed«      d= edë      d edū      d edǫ      d edɫ      d> edʫ      d? ed˫      d@ ed̫      dA edͫ      dB edΫ      dH edϫ      dI edЫ      dJ edѫ      dK edҫ      dL edӫ      dM edԫ      dN edի      i dO ed֫      d edث      d edګ      d edܫ      d edޫ      d ed      d ed      d ed      d ed      d ed      d ed      d ed      dP ed      d ed      d ed      d ed      d ed      i d ed      d ed      d ed      d ed      d ed      d  ed      d ed      d ed      d ed      d ed	      d
 ed      d ed      d ed      d ed      d ed      d ed      d ed      i dQ ed      d ed      d ed      d ed      d ed       d! ed"      d# ed$      d% ed&      d' ed(      d) ed*      d+ ed,      d- ed.      d/ ed0      d1 ed2      d3 ed4      d5 ed6      d7 ed8       ed9       ed:       ed;       ed<       ed=       ed>       ed?       ed@       edA       edB       edC      dDZTd ZUdRZVdTZWdVZXdXZYdZZZd\Z[d^Z\d`Z]dbZ^ddZ_dEZ`dfZadFZbdGZcdHZddIZedJZfdJZgdKZhdLZidMZjdNZkdOZldPZmdKZndLZodMZpdNZqdOZrdPZsdQZtdRZudSZvdTZwdUZxdVZydWZzdXZ{dYZ|dZ}dRZ~dTZdVZdXZdZZd\Zd`ZdbZddZdfZdhZdjZdlZdnZdpZdrZdtZdvZdxZdzZd|Zd~ZdZdZdZdZdZdZd!Zd#Zd%Zd'Zd)Zd+Zd-Zd/Zd1Zd3Zd5Zd7ZdZZd[Zd\Zd]Zd^Zd_Zd`ZdaZdbZdcZddZ G de dfe      Zyg(h      )gettext)Optional)UUIDi   i  i  i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i2  i3  i4  i5  i6  i:  i;  i   i  i  i  i  i  i  i   i  i  i  i  i  i   i  i  i   i  i  i!     SDP   UDP   RFCOMM   TCP   zTCS-BIN   zTCS-AT   ATT   OBEX	   IP
   FTP   HTTP   WSP   BNEP   z	UPnP/ESDP   HIDP   zHardcopy Control Channel   zHardcopy Data Channel   zHardcopy Notification   AVCTP   AVDTP   CMTP   zUDI_C-Plane   z(Multi-Channel Adaptation Protocol (MCAP)      L2CAP$ServiceDiscoveryServerServiceClassID#BrowseGroupDescriptorServiceClassIDzPublic Browse GroupzSerial PortzLAN Access Using PPPzDialup Networking (DUN)z	IrMC SynczOBEX Object PushzOBEX File TransferzIrMC Sync CommandHeadsetzCordless TelephonyzAudio Sourcez
Audio SinkzRemote Control TargetzAdvanced AudiozRemote ControlzVideo ConferencingIntercomFaxzHeadset Audio GatewayWAPz
WAP ClientPANUzNetwork Access PointzGroup NetworkzDirectPrinting (BPP)zReferencePrinting (BPP)zImaging (BIP)zImagingResponder (BIP)zImagingAutomaticArchive (BIP)zImagingReferencedObjects (BIP)	HandsfreezHandsfree Audio Gatewayz+DirectPrintingReferenceObjectsService (BPP)zReflectedUI (BPP)zBasic Printing (BPP)zPrinting Status (BPP)z$Human Interface Device Service (HID)zHardcopyCableReplacement (HCR)zHCR_Print (HCR)zHCR_Scan (HCR)zCommon ISDN Access (CIP)zVideoConferencingGW (VCP)zUDI-MTzUDI-TAzAudio/VideozSIM Access (SAP)zPhonebook Access (PBAP) - PCEzPhonebook Access (PBAP) - PSEzPhonebook Access (PBAP)i1  zMessage Access ServerzMessage Notification ServerzMessage Access Profile (MAP)GNSSzGNSS Serveri7  z
3D Displayi8  z
3D Glassesi9  z3D Synchronization (3DSP)z)Multi-Profile Specification (MPS) Profilez)Multi-Profile Specification (MPS) Servicei<  z.Calendar, Task, and Notes (CTN) Access Servicei=  z4Calendar, Task, and Notes (CTN) Notification Servicei>  z'Calendar, Task, and Notes (CTN) ProfilezPnP InformationzGeneric NetworkingzGeneric FileTransferzGeneric AudiozGeneric TelephonyzVideo Sourcez
Video SinkzVideo DistributionHDPz
HDP SourcezHDP SinkzGeneric AccesszGeneric Attributei  zImmediate Alerti  z	Link Lossi  zTx Poweri  zCurrent Time Servicei  zReference Time Update Servicei  zNext DST Change Servicei  Glucosei	  zHealth Thermometeri
  zDevice Informationi  z
Heart Ratei  zPhone Alert Status ServicezBattery Servicei  zBlood Pressurei  zAlert Notification Servicei  zHuman Interface Devicei  zScan Parametersi  zRunning Speed and Cadencei  zAutomation IOi  zCycling Speed and Cadencei  zCycling Poweri  zLocation and Navigationi  zEnvironmental Sensingi  zBody Compositioni  z	User Datai  zWeight Scalei  zBond Managementi  zContinuous Glucose Monitoringi   zInternet Protocol Supporti!  zIndoor Positioningi"  zPulse Oximeteri#  z
HTTP Proxyi$  zTransport Discoveryi%  zObject Transfer
AppleAgenti (  zPrimary Servicei(  zSecondary Servicei(  Includei(  zCharacteristic Declarationi *  zDevice Namei*  
Appearancei*  zPeripheral Privacy Flagi*  zReconnection Addressi*  z*Peripheral Preferred Connection Parametersi*  zService Changedi#*  z	System IDi$*  zModel Number Stringi%*  zSerial Number Stringi&*  zFirmware Revision Stringi'*  zHardware Revision Stringi(*  zSoftware Revision StringzManufacturer Name StringzPnP IDz"Characteristic Extended PropertieszCharacteristic User Descriptionz#Client Characteristic Configurationz#Server Characteristic Configurationz"Characteristic Presentation FormatzCharacteristic Aggregate FormatzValid RangezExternal Report ReferencezReport Reference))*  P*   )  )  )  )  )  )  )  )  )        i  i  i  i  i   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   c                   l     e Zd Zdef fdZedee   fd       Zedefd       Z	ede
fd       Z xZS )ServiceUUIDuuidc                 $    t         |   |       y )N)super__init__)selfrL   	__class__s     -/usr/lib/python3/dist-packages/blueman/Sdp.pyrO   zServiceUUID.__init__h  s        returnc                 @    | j                   r| j                  dz	  dz  S y )N`   i  )reservedintrP   s    rR   
short_uuidzServiceUUID.short_uuidk  s    ==88r>F**rS   c                     | j                   r	 t        | j                      S | j                  dk(  rt        d      S t        d      S # t        $ r t        d      cY S w xY w)NUnknownr   zAudio and input profilesProprietary)rZ   
uuid_namesKeyError_rX   rY   s    rR   namezServiceUUID.namer  s\    ??$!$//22 XX]/00]##  $|#$s   A AAc                 r    | j                   t        d      j                   z  t        d      j                   k(  S )Nz$FFFF0000-0000-FFFF-FFFF-FFFFFFFFFFFFz$00000000-0000-1000-8000-00805F9B34FB)rX   r   rY   s    rR   rW   zServiceUUID.reserved~  s3    xx$EFJJJ78<<= 	=rS   )__name__
__module____qualname__strrO   propertyr   rX   rZ   ra   boolrW   __classcell__)rQ   s   @rR   rK   rK   g  sd    S  HSM   	$c 	$ 	$ =$ = =rS   rK   N)r   r`   typingr   rL   r   SDP_SERVER_SVCLASS_IDBROWSE_GRP_DESC_SVCLASS_IDPUBLIC_BROWSE_GROUPSERIAL_PORT_SVCLASS_IDLAN_ACCESS_SVCLASS_IDDIALUP_NET_SVCLASS_IDIRMC_SYNC_SVCLASS_IDOBEX_OBJPUSH_SVCLASS_IDOBEX_FILETRANS_SVCLASS_IDIRMC_SYNC_CMD_SVCLASS_IDHEADSET_SVCLASS_IDCORDLESS_TELEPHONY_SVCLASS_IDAUDIO_SOURCE_SVCLASS_IDAUDIO_SINK_SVCLASS_IDAV_REMOTE_TARGET_SVCLASS_IDADVANCED_AUDIO_SVCLASS_IDAV_REMOTE_SVCLASS_IDAV_REMOTE_CONTROLLER_SVCLASS_IDINTERCOM_SVCLASS_IDFAX_SVCLASS_IDHEADSET_AGW_SVCLASS_IDWAP_SVCLASS_IDWAP_CLIENT_SVCLASS_IDPANU_SVCLASS_IDNAP_SVCLASS_IDGN_SVCLASS_IDDIRECT_PRINTING_SVCLASS_IDREFERENCE_PRINTING_SVCLASS_IDIMAGING_SVCLASS_IDIMAGING_RESPONDER_SVCLASS_IDIMAGING_ARCHIVE_SVCLASS_IDIMAGING_REFOBJS_SVCLASS_IDHANDSFREE_SVCLASS_IDHANDSFREE_AGW_SVCLASS_IDDIRECT_PRT_REFOBJS_SVCLASS_IDREFLECTED_UI_SVCLASS_IDBASIC_PRINTING_SVCLASS_IDPRINTING_STATUS_SVCLASS_IDHID_SVCLASS_IDHCR_SVCLASS_IDHCR_PRINT_SVCLASS_IDHCR_SCAN_SVCLASS_IDCIP_SVCLASS_IDVIDEO_CONF_GW_SVCLASS_IDUDI_MT_SVCLASS_IDUDI_TA_SVCLASS_IDAV_SVCLASS_IDSAP_SVCLASS_IDPBAP_PCE_SVCLASS_IDPBAP_PSE_SVCLASS_IDPBAP_SVCLASS_IDMAP_MSE_SVCLASS_IDMAP_MCE_SVCLASS_IDMAP_SVCLASS_IDGNSS_SVCLASS_IDGNSS_SERVER_SVCLASS_IDMPS_SC_SVCLASS_IDMPS_SVCLASS_IDPNP_INFO_SVCLASS_IDGENERIC_NETWORKING_SVCLASS_IDGENERIC_FILETRANS_SVCLASS_IDGENERIC_AUDIO_SVCLASS_IDGENERIC_TELEPHONY_SVCLASS_IDUPNP_SVCLASS_IDUPNP_IP_SVCLASS_IDUPNP_PAN_SVCLASS_IDUPNP_LAP_SVCLASS_IDUPNP_L2CAP_SVCLASS_IDVIDEO_SOURCE_SVCLASS_IDVIDEO_SINK_SVCLASS_IDVIDEO_DISTRIBUTION_SVCLASS_IDHDP_SVCLASS_IDHDP_SOURCE_SVCLASS_IDHDP_SINK_SVCLASS_IDGENERIC_ACCESS_SVCLASS_IDGENERIC_ATTRIB_SVCLASS_IDBATTERY_SERVICE_SVCLASS_IDAPPLE_AGENT_SVCLASS_IDr^   SDP_ATTR_RECORD_HANDLESDP_ATTR_SVCLASS_ID_LISTSDP_ATTR_RECORD_STATESDP_ATTR_SERVICE_IDSDP_ATTR_PROTO_DESC_LISTSDP_ATTR_BROWSE_GRP_LISTSDP_ATTR_LANG_BASE_ATTR_ID_LISTSDP_ATTR_SVCINFO_TTLSDP_ATTR_SERVICE_AVAILABILITYSDP_ATTR_PFILE_DESC_LISTSDP_ATTR_DOC_URLSDP_ATTR_CLNT_EXEC_URLSDP_ATTR_ICON_URLSDP_ATTR_ADD_PROTO_DESC_LISTSDP_ATTR_SUPPORTED_REPOSITORIESSDP_ATTR_MAS_INSTANCE_ID SDP_ATTR_SUPPORTED_MESSAGE_TYPES SDP_ATTR_PBAP_SUPPORTED_FEATURESSDP_ATTR_MAP_SUPPORTED_FEATURESSDP_ATTR_SPECIFICATION_IDSDP_ATTR_VENDOR_IDSDP_ATTR_PRODUCT_IDSDP_ATTR_VERSIONSDP_ATTR_PRIMARY_RECORDSDP_ATTR_VENDOR_ID_SOURCE"SDP_ATTR_HID_DEVICE_RELEASE_NUMBERSDP_ATTR_HID_PARSER_VERSIONSDP_ATTR_HID_DEVICE_SUBCLASSSDP_ATTR_HID_COUNTRY_CODESDP_ATTR_HID_VIRTUAL_CABLESDP_ATTR_HID_RECONNECT_INITIATESDP_ATTR_HID_DESCRIPTOR_LISTSDP_ATTR_HID_LANG_ID_BASE_LISTSDP_ATTR_HID_SDP_DISABLESDP_ATTR_HID_BATTERY_POWERSDP_ATTR_HID_REMOTE_WAKEUPSDP_ATTR_HID_PROFILE_VERSION SDP_ATTR_HID_SUPERVISION_TIMEOUT!SDP_ATTR_HID_NORMALLY_CONNECTABLESDP_ATTR_HID_BOOT_DEVICESDP_PRIMARY_LANG_BASESDP_UUIDUDP_UUIDRFCOMM_UUIDTCP_UUIDTCS_BIN_UUIDTCS_AT_UUID	OBEX_UUIDIP_UUIDFTP_UUID	HTTP_UUIDWSP_UUID	BNEP_UUID	UPNP_UUID	HIDP_UUIDHCRP_CTRL_UUIDHCRP_DATA_UUIDHCRP_NOTE_UUID
AVCTP_UUID
AVDTP_UUID	CMTP_UUIDUDI_UUIDMCAP_CTRL_UUIDMCAP_DATA_UUID
L2CAP_UUIDGATT_PRIM_SVC_UUIDGATT_SND_SVC_UUIDGATT_INCLUDE_UUIDGATT_CHARAC_UUIDGATT_CHARAC_DEVICE_NAMEGATT_CHARAC_APPEARANCE GATT_CHARAC_PERIPHERAL_PRIV_FLAG GATT_CHARAC_RECONNECTION_ADDRESS GATT_CHARAC_PERIPHERAL_PREF_CONNGATT_CHARAC_SERVICE_CHANGEDGATT_CHARAC_SYSTEM_IDGATT_CHARAC_MODEL_NUMBER_STRING GATT_CHARAC_SERIAL_NUMBER_STRING$GATT_CHARAC_FIRMWARE_REVISION_STRING$GATT_CHARAC_HARDWARE_REVISION_STRING$GATT_CHARAC_SOFTWARE_REVISION_STRING$GATT_CHARAC_MANUFACTURER_NAME_STRINGGATT_CHARAC_PNP_IDGATT_CHARAC_EXT_PROPER_UUIDGATT_CHARAC_USER_DESC_UUIDGATT_CLIENT_CHARAC_CFG_UUIDGATT_SERVER_CHARAC_CFG_UUIDGATT_CHARAC_FMT_UUIDGATT_CHARAC_AGREG_FMT_UUIDGATT_CHARAC_VALID_RANGE_UUIDGATT_EXTERNAL_REPORT_REFERENCEGATT_REPORT_REFERENCErK    rS   rR   <module>r     sI      
  #        " !   &    $ "  "(    #  &  % # #  !  &   " #   !           & % ! %         &   " " #  e
AeHe
AeHe AhKe AeH	e
 AiLe AhKe AeHe AfIe AdGe AeHe AfIe AeHe AfIe AkNe AfIe  A()!e" A%&#e$ A%&%e& AgJ'e( AgJ)e* AfI+e, Am-e. A89/e0 A891e2 AgJ3e4 A455e6 A347e8 A#$9e: Am;e< A$%=e> A'(?e@ AkNAeB A !CeD A"#EeF A!"GeH AiLIeJ A"#KeL AnMeN AlOOeP A%&QeR ASeT AUeV A"#WeX AjMYeZ AeH[e\ A%&]e^ AeH_e` AlOaeb AfIced A$%eef Aogeh A$%iej A'(kel Aomen A&'oep A-.qer A./set AkNuev A'(wex A;<yez A!"{e| A$%}e~ A%&e@ A45AeB A./CeD A EeF AGeH A()IeJ A)*KeL AhKMeN AhKOeP AmQeR A !SeT A-.UeV A-.WeX A'(YeZ AiL[e\ A%&]e^ A+,_e` A,-aeb AfIced Ameef AlOgeh AlOiej A)*kel A9:men A9:oep A>?qer ADEset A78uev A wex A"#yez A$%{e| Ao}e~ A!"e@ AnAeB AlOCeD A"#EeF AeHGeH AlOIeJ AjMKeL AMeN A!"OeP A QeR AkNSeT AjMUeV A$%WeX A-.YeZ A'([e\ AiL]e^ A"#_e` A"#aeb AlOced A*+eef A geh Aiej A*+kel A&'men A oep A)*qer Aoset A)*uev Aowex A'(yez A%&{e| A !}e~ AkNe@ AnAeB A CeD A-.EeF A)*GeH A"#IeJ AKeL AlOMeN A#$OeP A QeR AlOSeT A UeV A!"WeX AiLYeZ A*+[e\ Am]e^ AlO_e` A'(aeb A$%ced A:;eef A geh AkNiej A#$kel A$%men A()oep A()qer A()set ()hK23/0343423/0m)* !Ie
N   !   ! ! "(   & !    % "( ! #)  #)  "( "      " %+ "$ % " # "( % !' ! # # % #)  $* !!  	
				

	
      !  #)  #)  #)  $  "( #)  '- $'- $'- $'- $  % # $ $  # % !'  =$ =rS   