zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
U
£ý°dJ©ãƒ@s®UdZddlZddlmZmZddlmZmZmZm    Z    m
Z
m Z m Z m Z ddlmZmZddlmZdZeed    <d
Zeed <d Zeed <dZeed<ddddddddddddddddddddddddddddddddddddddddddddddddddddœ3Zeee    e eeeffed<dZe eeefed<ddgZeeed<ddgZeeed<eeed œd!d"„Zeeeed#œd$d%„Z Gd&d'„d'eƒZ!Gd(d)„d)e!ƒZ"Gd*d+„d+e!ƒZ#Gd,d-„d-e"ƒZ$Gd.d/„d/eƒZ%Gd0d1„d1e!e%d2Z&Gd3d4„d4e"ƒZ'Gd5d6„d6e"ƒZ(Gd7d8„d8eƒZ)Gd9d:„d:e!e)d2Z*Gd;d<„d<e!ƒZ+Gd=d>„d>e!ƒZ,Gd?d@„d@e!ƒZ-dAdBdCdDdEdFdGdHdIdJg
Z.eeedK<dLdMdNdOdPdQdRdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdyœ.Z/eeefedz<e/Z0eeefed{<d|d}d~dd€dd‚dƒd„d…d†d‡dˆd‰dŠd‹dŒddŽddd‘d’d“d”d•d–d—d˜d™dšd›dœddždŸd d¡d¢d£d¤d¥d¦d§d¨d©dªd«d¬d­d®d¯d°d±d²d³d´dµd¶d·d¸d¹dºd»d¼d½d¾d¿dÀdÁdÂdÃdÄdÅdÆdÇdÈdÉdÊdËdÌdÍdÎdÏdÐdÑdÒdÓdÔdÕdÖd×dØdÙdÚdÛdÜdÝdÞdßdàdádâdãdädådædçdèdédêdëdìdídîdïdðdñdòdódôdõdöd÷dødùdúdûdüdýdþœ‚Z1eeefedÿ<ddddddœZ2eeefed<e/e0e1e2dœZ3eeeeeffed<e/ 4¡e0 4¡e1 4¡e2 4¡dœZ5eee efed    <dS(
z+Various MySQL constants and character sets.éN)ÚABCÚABCMeta)ÚAnyÚDictÚListÚOptionalÚSequenceÚTupleÚUnionÚ
ValuesViewé)ÚMYSQL_CHARACTER_SETSÚMYSQL_CHARACTER_SETS_57)ÚProgrammingErroriÿÿÿÚMAX_PACKET_LENGTHé ÚNET_BUFFER_LENGTHéÚMAX_MYSQL_TABLE_COLUMNSéÚPARAMETER_COUNT_AVAILABLEÚz    127.0.0.1iê TÚutf8mb4F)3ZdatabaseÚuserÚpasswordZ    password1Z    password2Z    password3ÚhostÚportZ unix_socketZ use_unicodeÚcharsetÚ    collationZconverter_classZconverter_str_fallbackZ
autocommitZ    time_zoneZsql_modeZ get_warningsZraise_on_warningsZconnection_timeoutZ client_flagsÚcompressZbufferedÚrawZssl_caZssl_certZssl_keyZssl_verify_certZssl_verify_identityZ
ssl_cipherZtls_ciphersuitesZ ssl_disabledZ tls_versionsÚpasswdÚdbÚconnect_timeoutZdsnZ
force_ipv6Z auth_pluginZallow_local_infileZallow_local_infile_in_pathZconsume_resultsZ
conn_attrsZdns_srvZuse_pureZkrb_service_principalZoci_config_fileZoci_config_profileZ fido_callbackZkerberos_auth_modeZ init_commandÚDEFAULT_CONFIGURATION)Z    pool_nameZ    pool_sizeZpool_reset_sessionÚ CNX_POOL_ARGSúTLSv1.2úTLSv1.3Ú TLS_VERSIONSÚTLSv1úTLSv1.1ÚDEPRECATED_TLS_VERSIONS)ÚflagÚflagsÚreturncCs||@dkrdSdS)z.Checks if the flag is set
 
    Returns booleanrTF©)r,r-r/r/úPd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\mysql/connector/constants.pyÚ flag_is_setjs r1)ÚnameÚnew_nameÚvaluer.cCs tjd|›d|›dtd|S)aRaise a deprecation warning and advise a new option name.
 
    Args:
        name (str): The name of the option.
        new_name (str): The new option name.
        value (int): The value of the option.
 
    Returns:
        int: The value of the option.
    z The option 'z' has been deprecated, use 'z
' instead.©Úcategory)ÚwarningsÚwarnÚDeprecationWarning)r2r3r4r/r/r0Ú_obsolete_optionss
þr:c@s˜eZdZUdZdZeed<iZeee    e
effed<e ee edœdd„ƒZ e e
ee ee    eeffdœd    d
„ƒZe eeeefd œd d „ƒZdS)Ú
_ConstantszBase class for constants.rÚprefixÚdesc©r2r.c    Cs0z|j|dWSttfk
r*YdSXdS)z!Get description of given constantr N)r=Ú
IndexErrorÚKeyError©Úclsr2r/r/r0Úget_desc‹sz_Constants.get_desc©Úsetidr.cCs,|j ¡D]\}}|d|kr
|Sq
dS)z$Get information about given constantrN)r=Úitems)rBrEr2Úinfor/r/r0Úget_info“s 
z_Constants.get_info©r.c
CsRg}zdd„|j ¡Dƒ}Wn0ttfk
rL}zd|›}W5d}~XYnX|S)z)get full information about given constantcSs"g|]\}}|›d|d›‘qS)z : r r/)Ú.0ÚkÚvr/r/r0Ú
<listcomp> sz,_Constants.get_full_info.<locals>.<listcomp>z(No information found in constant class. N)r=rFÚAttributeErrorr?)rBÚresÚerrr/r/r0Ú get_full_info›s z_Constants.get_full_infoN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__r<ÚstrÚ__annotations__r=rr    ÚintÚ classmethodrrCr
rHrrQr/r/r/r0r;…s
 &r;c@s(eZdZdZeeeedœdd„ƒZdS)Ú_Flagsz'Base class for classes describing flags)r4r.cCs2g}|j ¡D]\}}||d@r| |¡q|S)z@Get the name of all bits set
 
        Returns a list of strings.r)r=rFÚappend)rBr4rOr2rGr/r/r0Ú get_bit_infoªs
  z_Flags.get_bit_infoN)    rRrSrTrUrYrXrrVr\r/r/r/r0rZ§srZc@seZdZUdZdZeed<dZeed<dZ    eed<dZ
eed    <d
Z eed <d Z eed <dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d2Zeed3<d4Z eed5<d6Z!eed7<d8Z"eed9<d:Z#eed;<d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXœZ$e%ee&eeffedY<e'e(edZœd[d\„ƒZ)e'e(edZœd]d^„ƒZ*e'e(edZœd_d`„ƒZ+e'e(edZœdadb„ƒZ,dcS)dÚ    FieldTypezMySQL Field TypesZ FIELD_TYPE_r<rÚDECIMALr ÚTINYéÚSHORTéÚLONGéÚFLOATéÚDOUBLEéÚNULLéÚ    TIMESTAMPrÚLONGLONGé    ÚINT24é
ÚDATEé ÚTIMEé ÚDATETIMEé ÚYEARéÚNEWDATEéÚVARCHARéÚBITéõÚJSONéöÚ
NEWDECIMALé÷ÚENUMéøÚSETéùÚ    TINY_BLOBéúÚ MEDIUM_BLOBéûÚ    LONG_BLOBéüÚBLOBéýÚ
VAR_STRINGéþÚSTRINGéÿÚGEOMETRY)rr^)r r_)r`ra)rbrc)rdre)rfrg)rhri)rjrk)rrl)rmrn)rorp)rqrr)rsrt)rurv)rwrx)ryrz)r{r|)r}r~)rr€)rr‚)rƒr„)r…r†)r‡rˆ)r‰rŠ)r‹rŒ)rrŽ)rr)r‘r’)r^r_rarcrergrirkrlrnrprrrtrvrxrzr|r~r€r‚r„r†rˆrŠrŒrŽrr’r=rIcCs|j|j|j|jgS)z Get the list of all string types)rzr‚rŽr©rBr/r/r0Úget_string_typesös
üzFieldType.get_string_typescCs|j|j|j|jgS)z Get the list of all binary types)r†rˆrŠrŒr“r/r/r0Úget_binary_typess
üzFieldType.get_binary_typesc Cs0|j|j|j|j|j|j|j|j|j|j    |j
g S)z Get the list of all number types) r^r€r_rarcrergrlrnr|rvr“r/r/r0Úget_number_types
sõzFieldType.get_number_typescCs |j|jgS)z#Get the list of all timestamp types)rtrkr“r/r/r0Úget_timestamp_typessþzFieldType.get_timestamp_typesN)-rRrSrTrUr<rVrWr^rXr_rarcrergrirkrlrnrprrrtrvrxrzr|r~r€r‚r„r†rˆrŠrŒrŽrr’r=rr    rYrr”r•r–r—r/r/r/r0r]¶s†
                             ä        r]c@s~eZdZUdZdZeed<dZeed<dZ    eed<dZ
eed    <d
Z eed <d Z eed <dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d Zeed$<d%Zeed&<d'Zeed(<d)Zeed*<d+Zeed,<d-Zeed.<d/Zeed0<d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHœZe ee!eeffedI<dJS)KÚ    FieldFlagz_MySQL Field Flags
 
    Field flags as found in MySQL sources mysql-src/include/mysql_com.h
    rÚ_prefixr ÚNOT_NULLr`ÚPRI_KEYrdÚ
UNIQUE_KEYrÚ MULTIPLE_KEYr{rŒé ÚUNSIGNEDé@ÚZEROFILLé€ÚBINARYér‚éÚAUTO_INCREMENTérkér„rÚNO_DEFAULT_VALUErÚ ON_UPDATE_NOWé@ÚNUMé€ÚPART_KEYÚGROUPéÚUNIQUEéÚBINCMPéÚGET_FIXED_FIELDSéÚFIELD_IN_PART_FUNCéÚFIELD_IN_ADD_INDEXé ÚFIELD_IS_RENAMED)r zField can't be NULL)r`zField is part of a primary key)rdzField is part of a unique key)rzField is part of a key)r{zField is a blob)ržzField is unsigned)r zField is zerofill)r¢zField is binary  )r¤zfield is an enum)r¥zfield is a autoincrement field)r§zField is a timestamp)r¨zfield is a set)rz Field doesn't have default value)rzField is set to NOW on UPDATE)r«zField is num (for clients))r­zIntern; Part of some key)r«zIntern: Group field)r°úIntern: Used by sql_yacc)r²r¼)r´zUsed to get fields in item tree)r¶zField part of partition func)r¸zIntern: Field used in ADD INDEX)rºzIntern: Field is being renamed)ršr›rœrrŒrŸr¡r£r‚r¦rkr„r©rªr¬r®r¯r±r³rµr·r¹r»r=N)"rRrSrTrUr™rVrWršrXr›rœrrŒrŸr¡r£r‚r¦rkr„r©rªr¬r®r¯r±r³rµr·r¹r»r=rr    r/r/r/r0r˜$sb
                        ér˜cs(eZdZdZeedœ‡fdd„ Z‡ZS)Ú ServerCmdMetazClientFlag Metaclass.r>cs.d}||kr"tjd|›dtdtƒ |¡S)N)Ú
FIELD_LISTÚREFRESHÚSHUTDOWNÚ PROCESS_INFOÚ PROCESS_KILLzThe option 'ServerCmd.z8' is deprecated and will be removed in a future release.r5)r7r8r9ÚsuperÚ__getattribute__)rBr2Zdeprecated_options©Ú    __class__r/r0rÄds
ýzServerCmdMeta.__getattribute__)rRrSrTrUrVrrÄÚ __classcell__r/r/rÅr0r½asr½c!@süeZdZUdZdZeed<dZeed<dZ    eed<dZ
eed    <d
Z eed <d Z eed <dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d2Zeed3<d4Z eed5<d6Z!eed7<d8Z"eed9<d:Z#eed;<d<Z$eed=<d>Z%eed?<d@Z&eedA<dBZ'eedC<dDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddœ Z(e)ee*eeffede<dfS)gÚ    ServerCmdzMySQL Server CommandsZCOM_r™rÚSLEEPr ÚQUITr`ÚINIT_DBrbÚQUERYrdr¾rfÚ    CREATE_DBrhÚDROP_DBrjr¿rrÀrmÚ
STATISTICSrorÁrqÚCONNECTrsrÂruÚDEBUGrwÚPINGryrrr{ÚDELAYED_INSERTéÚ CHANGE_USERéÚ BINLOG_DUMPéÚ
TABLE_DUMPéÚ CONNECT_OUTéÚREGISTER_REPLICAéÚ STMT_PREPAREéÚ STMT_EXECUTEéÚSTMT_SEND_LONG_DATAéÚ
STMT_CLOSEéÚ
STMT_RESETéÚ
SET_OPTIONéÚ
STMT_FETCHéÚDAEMONéÚBINLOG_DUMP_GTIDéÚRESET_CONNECTION)rrÉ)r rÊ)r`rË)rbrÌ)rdr¾)rfrÍ)rhrÎ)rjr¿)rrÀ)rmrÏ)rorÁ)rqrÐ)rsrÂ)rurÑ)rwrÒ)ryrr)r{rÓ)rÔrÕ)rÖr×)rØrÙ)rÚrÛ)rÜrÝ)rÞrß)ràrá)rârã)rärå)rærç)rèré)rêrë)rìrí)rîrï)rðrñ) rÉrÊrËrÌr¾rÍrÎr¿rÀrÏrÁrÐrÂrÑrÒrrrÓrÕr×rÙrÛrÝrßrárãrårçrérërírïrñr=N)+rRrSrTrUr™rVrWrÉrXrÊrËrÌr¾rÍrÎr¿rÀrÏrÁrÐrÂrÑrÒrrrÓrÕr×rÙrÛrÝrßrárãrårçrérërírïrñr=rr    r/r/r/r0rÈus†
                                 àrÈ)Ú    metaclassc@seZdZUdZdZeed<dZeed<dZeed<dZ    eed    <d
Z
eed <d Z eed <dZ eed<dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d Zeed!<d"Zeed#<d$Zeed%<d&Zeed'<d(Zeed)<d*Zeed+<d,Zeed-<d.Zeed/<d0Zeed1<d0Zeed2<d3Zeed4<d5Z eed6<d7Z!eed8<d9Z"eed:<d;Z#eed<<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdTdUdVdWdXdYœZ$e%e&e'ee&ffedZ<eee    eeeeeeg    Z(e)eed[<e*ed\œd]d^„ƒZ+d_S)`Ú
ClientFlagzgMySQL Client Flags
 
    Client options as found in the MySQL sources mysql-src/include/mysql_com.h
    r Ú LONG_PASSWDr`Ú
FOUND_ROWSrdÚ    LONG_FLAGrÚCONNECT_WITH_DBr{Ú    NO_SCHEMAržÚCOMPRESSr ÚODBCr¢Ú LOCAL_FILESr¤Ú IGNORE_SPACEr¥Ú PROTOCOL_41r§Ú INTERACTIVEr¨ÚSSLrÚIGNORE_SIGPIPErÚ TRANSACTIONSr«ÚRESERVEDr­ÚSECURE_CONNECTIONr°ÚMULTI_STATEMENTSr²Ú MULTI_RESULTSr´ÚPS_MULTI_RESULTSr¶Ú PLUGIN_AUTHr¸Ú CONNECT_ARGSrºÚPLUGIN_AUTH_LENENC_CLIENT_DATAé@ÚCAN_HANDLE_EXPIRED_PASSWORDSé€Ú SESION_TRACKÚ SESSION_TRACKéÚ DEPRECATE_EOFéÚCLIENT_QUERY_ATTRIBUTESé@ÚSSL_VERIFY_SERVER_CERTìÚREMEMBER_OPTIONSiÚMULTI_FACTOR_AUTHENTICATION)r zNew more secure passwords)r`zFound instead of affected rows)rdzGet all column flags)rzOne can specify db on connect)r{z!Don't allow database.table.column)ržzCan use compression protocol)r z ODBC client)r¢zCan use LOAD DATA LOCAL)r¤zIgnore spaces before '')r¥zNew 4.1 protocol)r§zThis is an interactive client)r¨zSwitch to SSL after handshake)rzIGNORE sigpipes)rzClient knows about transactions)r«zOld flag for 4.1 protocol)r­zNew 4.1 authentication)r°z!Enable/disable multi-stmt support)r²zEnable/disable multi-results)r´zMulti-results in PS-protocol)r¶z%Client supports plugin authentication)r¸z%Client supports connection attributes)rºzAEnable authentication response packet to be larger than 255 bytes)r
zADon't close the connection for a connection with expired password)r z3Capable of handling server state change information)rz!Client no longer needs EOF packet)rz/Support optional extension for query parameters)rr)rr)rôrõrör÷rørùrúrûrürýrþrÿrrrrrrrrrr    r r rrrrrr=ÚdefaultrIcCsd}|jD] }||O}q
|S)zbGet the default client options set
 
        Returns a flag with all the default client options setr)r)rBr-Úoptionr/r/r0Ú get_defaults
 
zClientFlag.get_defaultN),rRrSrTrUrôrXrWrõrör÷rørùrúrûrürýrþrÿrrrrrrrrrr    r r rrrrrrr=rrVr    rrrYrr/r/r/r0ró¾s’
                              Ô0÷ róc@seZdZUdZdZeed<dZeed<dZ    eed<dZ
eed    <d
Z eed <d Z eed <dZ eed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<d d!d"d#d$d%d&d'd(d)d*d+d,d-d.œZeeeeeffed/<d0S)1Ú
ServerFlagzeMySQL Server Flags
 
    Server flags as found in the MySQL sources mysql-src/include/mysql_com.h
    ZSERVER_r™r ÚSTATUS_IN_TRANSr`ÚSTATUS_AUTOCOMMITrÚMORE_RESULTS_EXISTSr{ÚQUERY_NO_GOOD_INDEX_USEDržÚQUERY_NO_INDEX_USEDr ÚSTATUS_CURSOR_EXISTSr¢ÚSTATUS_LAST_ROW_SENTr¤ÚSTATUS_DB_DROPPEDr¥ÚSTATUS_NO_BACKSLASH_ESCAPESr§ÚSERVER_STATUS_METADATA_CHANGEDr¨ÚSERVER_QUERY_WAS_SLOWrÚSERVER_PS_OUT_PARAMSrÚSERVER_STATUS_IN_TRANS_READONLYr«ÚSERVER_SESSION_STATE_CHANGED)r zTransaction has started)r`zServer in auto_commit mode)rzMulti query - next query exists)r{r)ržr)r zESet when server opened a read-only non-scrollable cursor for a query.)r¢z(Set when a read-only cursor is exhausted)r¤zA database was dropped)r¥r)r§z‚Set if after a prepared statement reprepare we discovered that the new statement returns a different number of result set columns.)r¨r)rz5To mark ResultSet containing output parameter values.)rz>Set if multi-statement transaction is a read-only transaction.)r«zVSession state has changed on the server because of the execution of the last statement)ZSERVER_STATUS_IN_TRANSZSERVER_STATUS_AUTOCOMMITZSERVER_MORE_RESULTS_EXISTSZSERVER_QUERY_NO_GOOD_INDEX_USEDZSERVER_QUERY_NO_INDEX_USEDZSERVER_STATUS_CURSOR_EXISTSZSERVER_STATUS_LAST_ROW_SENTZSERVER_STATUS_DB_DROPPEDZ"SERVER_STATUS_NO_BACKSLASH_ESCAPESr%r&r'r(r)r=N)rRrSrTrUr™rVrWrrXrrrr r!r"r#r$r%r&r'r(r)r=rr    r/r/r/r0r)s>
               Ýrc@s"eZdZdZeedœdd„ƒZdS)ÚRefreshOptionMetazRefreshOption Metaclass.rIcCstddtjƒS)zzReturn the deprecated alias of RefreshOption.REPLICA.
 
        Raises a warning about this attribute deprecation.
        zRefreshOption.SLAVEzRefreshOption.REPLICA)r:Ú RefreshOptionÚREPLICA)Úselfr/r/r0ÚSLAVEns
ýzRefreshOptionMeta.SLAVEN)rRrSrTrUÚpropertyrXr.r/r/r/r0r*ksr*c    @s eZdZUdZdZeed<dZeed<dZ    eed<dZ
eed    <d
Z eed <d Z eed <dZ eed<dZeed<dddddddddœZeeeeeffed<dS)r+zbMySQL Refresh command options.
 
    Options used when sending the COM_REFRESH server command.
    ZREFRESH_r™r ÚGRANTr`ÚLOGrdÚTABLESrÚHOSTr{ÚSTATUSržÚTHREADSr r,)r zRefresh grant tables)r`zStart on new log file)rdzclose all tables)rzFlush host cache)r{zFlush status variables)ržzFlush thread cache)r z,Reset source info and restart replica thread)r z'Deprecated option; use REPLICA instead.)r0r1r2r3r4r5r,r.r=N)rRrSrTrUr™rVrWr0rXr1r2r3r4r5r,r=rr    r/r/r/r0r+{s$
        ør+c    @sÌeZdZUdZdZeed<dZeed<dZ    eed<dZ
eed    <d
Z eed <d Z eed <dZ eed<dZeed<dZeed<edfe    dfe
dfe dfe dfe dfedfedfdœZeeeeeffed<dS)Ú ShutdownTypezVMySQL Shutdown types
 
    Shutdown types used by the COM_SHUTDOWN server command.
    rr™rÚSHUTDOWN_DEFAULTr ÚSHUTDOWN_WAIT_CONNECTIONSr`ÚSHUTDOWN_WAIT_TRANSACTIONSrÚSHUTDOWN_WAIT_UPDATESr{ÚSHUTDOWN_WAIT_ALL_BUFFERSrÔÚSHUTDOWN_WAIT_CRITICAL_BUFFERSrÚ
KILL_QUERYr‘ÚKILL_CONNECTIONz%defaults to SHUTDOWN_WAIT_ALL_BUFFERSz'wait for existing connections to finishz!wait for existing trans to finishz#wait for existing updates to finishz-flush InnoDB and other storage engine buffersz@don't flush InnoDB buffers, flush other storage engines' buffersz(no description))r7r8r9r:r;r<r=r>r=N)rRrSrTrUr™rVrWr7rXr8r9r:r;r<r=r>r=rr    r/r/r/r0r6–s>
         þþþþþþær6c@seZdZUdZeZeeee    e    e
fe d<dZ ee dfe d<dZee dfe d<eee dfdd    œd
d „ƒZee ee    e    fd œd d„ƒZee e    dœdd„ƒZeee e    fee    e    e fdœdd„ƒZedeee e    fee    ee e    e    fdœdd„ƒZeee    dfdœdd„ƒZdS)Ú CharacterSetaLMySQL supported character sets and collations
 
    List of character sets with their collations supported by MySQL. This
    maps to the character set we get from the server within the handshake
    packet.
 
    The list is hardcode so we avoid a database query when getting the
    name of the used character set or collation.
    r=)rfrj.Ú mysql_version)r rurêéTéWéXÚslash_charsetsN)Úversionr.cCs"|dd…|_|jdkrt|_dS)zSet the MySQL major version and change the charset mapping if is 5.7.
 
        Args:
            version (tuple): MySQL version tuple.
        Nr`©rr)r@r r=)rBrEr/r/r0Úset_mysql_versionØs
zCharacterSet.set_mysql_versionrDcCs@z|j|dd…WStk
r:td|›dƒd‚YnXdS)aRetrieves character set information as tuple using an ID
 
        Retrieves character set and collation information based on the
        given MySQL ID.
 
        Raises ProgrammingError when character set is not supported.
 
        Returns a tuple.
        rr`úCharacter set 'ú ' unsupportedN)r=r?r©rBrEr/r/r0rHãs zCharacterSet.get_infor>cCs| |¡\}}|›d|›S)z¼Retrieves character set information as string using an ID
 
        Retrieves character set and collation information based on the
        given MySQL ID.
 
        Returns a tuple.
        ú/)rH)rBr2rrr/r/r0rCós    zCharacterSet.get_desc)rr.c
CsÂt|tƒrbz|j|}|d|d|fWSttfk
r`}ztd|›dƒ|‚W5d}~XYnXt|jƒD]@\}}|dkr~ql|d|krl|ddkrl|d|d|fSqltd|›dƒ‚dS)    z¸Retrieves the default collation for given character set
 
        Raises ProgrammingError when character set is not supported.
 
        Returns list (collation, charset, index)
        r rzCharacter set ID 'rINr`TrH)Ú
isinstancerXr=r?r@rÚ    enumerate)rBrrGrPÚcidr/r/r0Úget_default_collationÿs 
 
 
ÿþz"CharacterSet.get_default_collation)rrr.c
Cs€d}t|tƒrbz|j|}||d|dfWStk
r`}ztd|›dƒ|‚W5d}~XYnX|dkrx|jdkrxd}|dk    r¨|dkr¨| |¡}|d    |d|dfS|dkr |dk    r t|jƒD]4\}}|dkrØqÆ||dkrÆ||d|dfSqÆtd
|›d ƒ‚t|jƒD]J\}}|dkr,q|d|kr|d|kr||d|dfSq| |¡}td
|›d ƒ‚dS) aEGet character set information using charset name and/or collation
 
        Retrieves character set and collation information given character
        set name and/or a collation name.
        If charset is an integer, it will look up the character set based
        on the MySQL's ID.
        For example:
            get_charset_info('utf8',None)
            get_charset_info(collation='utf8_general_ci')
            get_charset_info(47)
 
        Raises ProgrammingError when character set is not supported.
 
        Returns a tuple with (id, characterset name, collation)
        Nrr zCharacter set ID z unknown)Úutf8zutf-8rFrr`z Collation 'z    ' unknown)rLrXr=r?rr@rOrM)rBrrrGrPrNÚ_r/r/r0Úget_charset_infos4
 
$
 
 
zCharacterSet.get_charset_inforIcCs6g}|jD]"}|r
|d|kr
| |d¡q
t|ƒS)z^Retrieves a list with names of all supproted character sets
 
        Returns a tuple.
        r)r=r[Útuple)rBrOrGr/r/r0Ú get_supportedGs
 
zCharacterSet.get_supported)NN)rRrSrTrUrr=rrr    rVÚboolrWr@rXrDrYrGrHrCr
rOrRrTr/r/r/r0r?Äs2
 þÿ
 $ÿ þ.r?c@sèeZdZUdZdZeed<dZeed<dZeed<dZ    eed<dZ
eed<dZ eed<d    Z eed    <d
Z eed
<d Zeed <d Zeed <d Zeed <dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZeed<dZ eed<dZ!eed<dZ"eed<d Z#eed <d!Z$eed!<d"Z%eed"<d#Z&eed#<e'ee(ed$œd%d&„ƒZ)e'e*e(ed'œd(d)„ƒZ+e'e,ed*fd+œd,d-„ƒZ-d.S)/ÚSQLModezúMySQL SQL Modes
 
    The numeric values of SQL Modes are not interesting, only the names
    are used when setting the SQL_MODE system variable using the MySQL
    SET command.
 
    See http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html
    ZMODE_r™Ú REAL_AS_FLOATÚPIPES_AS_CONCATÚ ANSI_QUOTESrüÚNOT_USEDÚONLY_FULL_GROUP_BYÚNO_UNSIGNED_SUBTRACTIONÚNO_DIR_IN_CREATEÚ
POSTGRESQLÚORACLEÚMSSQLÚDB2ÚMAXDBÚNO_KEY_OPTIONSÚNO_TABLE_OPTIONSÚNO_FIELD_OPTIONSÚMYSQL323ÚMYSQL40ÚANSIÚNO_AUTO_VALUE_ON_ZEROÚNO_BACKSLASH_ESCAPESÚSTRICT_TRANS_TABLESÚSTRICT_ALL_TABLESÚNO_ZERO_IN_DATEÚ NO_ZERO_DATEÚ INVALID_DATESÚERROR_FOR_DIVISION_BY_ZEROÚ TRADITIONALÚNO_AUTO_CREATE_USERÚHIGH_NOT_PRECEDENCEÚNO_ENGINE_SUBSTITUTIONÚPAD_CHAR_TO_FULL_LENGTHr>cCst‚dS©N©ÚNotImplementedErrorrAr/r/r0rC€szSQLMode.get_descrDcCst‚dSrvrwrJr/r/r0rH„szSQLMode.get_info.rIcCsFg}t|ƒ ¡D](}| d¡stt||ƒdƒs| |¡qtt|ƒƒS)zËReturns a sequence of all available SQL Modes
 
        This class method returns a tuple containing all SQL Mode names. The
        names will be alphabetically sorted.
 
        Returns a tuple.
        rQÚ__call__)ÚvarsÚkeysÚ
startswithÚhasattrÚgetattrr[rSÚsorted)rBrOÚkeyr/r/r0rQˆs
     zSQLMode.get_full_infoN).rRrSrTrUr™rVrWrWrXrYrürZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurYrrCrXrHr    rQr/r/r/r0rVTsP
                                     rVZ_pidÚ    _platformZ _source_hostZ _client_nameZ_client_licenseZ_client_versionÚ_osZ_connector_nameZ_connector_licenseZ_connector_versionÚ CONN_ATTRS_DNzNULL-MD5zNULL-SHAzRC4-MD5zRC4-SHAz IDEA-CBC-SHAz DES-CBC3-SHAzNot implemented.zDHE-DSS-DES-CBC3-SHAzDHE-RSA-DES-CBC3-SHAz ADH-RC4-MD5zADH-DES-CBC3-SHAz
AES128-SHAz
AES256-SHAzDH-DSS-AES128-SHAzDH-DSS-AES256-SHAzDH-RSA-AES128-SHAzDH-RSA-AES256-SHAzDHE-DSS-AES128-SHAzDHE-DSS-AES256-SHAzDHE-RSA-AES128-SHAzDHE-RSA-AES256-SHAzADH-AES128-SHAzADH-AES256-SHAzCAMELLIA128-SHAzCAMELLIA256-SHAzDH-DSS-CAMELLIA128-SHAzDH-DSS-CAMELLIA256-SHAzDH-RSA-CAMELLIA128-SHAzDH-RSA-CAMELLIA256-SHAzDHE-DSS-CAMELLIA128-SHAzDHE-DSS-CAMELLIA256-SHAzDHE-RSA-CAMELLIA128-SHAzDHE-RSA-CAMELLIA256-SHAzADH-CAMELLIA128-SHAzADH-CAMELLIA256-SHAzSEED-SHAzDH-DSS-SEED-SHAzDH-RSA-SEED-SHAzDHE-DSS-SEED-SHAzDHE-RSA-SEED-SHAz ADH-SEED-SHAzGOST94-GOST89-GOST89zGOST2001-GOST89-GOST89zGOST94-NULL-GOST94zGOST2001-NULL-GOST94).ZTLS_RSA_WITH_NULL_MD5ZTLS_RSA_WITH_NULL_SHAZTLS_RSA_WITH_RC4_128_MD5ZTLS_RSA_WITH_RC4_128_SHAZTLS_RSA_WITH_IDEA_CBC_SHAZTLS_RSA_WITH_3DES_EDE_CBC_SHAZ TLS_DH_DSS_WITH_3DES_EDE_CBC_SHAZ TLS_DH_RSA_WITH_3DES_EDE_CBC_SHAZ!TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHAZ!TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHAZTLS_DH_anon_WITH_RC4_128_MD5Z!TLS_DH_anon_WITH_3DES_EDE_CBC_SHAZTLS_RSA_WITH_AES_128_CBC_SHAZTLS_RSA_WITH_AES_256_CBC_SHAZTLS_DH_DSS_WITH_AES_128_CBC_SHAZTLS_DH_DSS_WITH_AES_256_CBC_SHAZTLS_DH_RSA_WITH_AES_128_CBC_SHAZTLS_DH_RSA_WITH_AES_256_CBC_SHAZ TLS_DHE_DSS_WITH_AES_128_CBC_SHAZ TLS_DHE_DSS_WITH_AES_256_CBC_SHAZ TLS_DHE_RSA_WITH_AES_128_CBC_SHAZ TLS_DHE_RSA_WITH_AES_256_CBC_SHAZ TLS_DH_anon_WITH_AES_128_CBC_SHAZ TLS_DH_anon_WITH_AES_256_CBC_SHAZ!TLS_RSA_WITH_CAMELLIA_128_CBC_SHAZ!TLS_RSA_WITH_CAMELLIA_256_CBC_SHAZ$TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHAZ$TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHAZ$TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHAZ$TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHAZ%TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHAZ%TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHAZ%TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHAZ%TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHAZ%TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHAZ%TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHAZTLS_RSA_WITH_SEED_CBC_SHAZTLS_DH_DSS_WITH_SEED_CBC_SHAZTLS_DH_RSA_WITH_SEED_CBC_SHAZTLS_DHE_DSS_WITH_SEED_CBC_SHAZTLS_DHE_RSA_WITH_SEED_CBC_SHAZTLS_DH_anon_WITH_SEED_CBC_SHAZ#TLS_GOSTR341094_WITH_28147_CNT_IMITZ#TLS_GOSTR341001_WITH_28147_CNT_IMITZ#TLS_GOSTR341094_WITH_NULL_GOSTR3411Z#TLS_GOSTR341001_WITH_NULL_GOSTR3411ÚTLSV1_CIPHER_SUITESÚTLSV1_1_CIPHER_SUITESz NULL-SHA256z AES128-SHA256z AES256-SHA256zAES128-GCM-SHA256zAES256-GCM-SHA384zDH-RSA-AES128-SHA256zDH-RSA-AES256-SHA256zDH-RSA-AES128-GCM-SHA256zDH-RSA-AES256-GCM-SHA384zDH-DSS-AES128-SHA256zDH-DSS-AES256-SHA256zDH-DSS-AES128-GCM-SHA256zDH-DSS-AES256-GCM-SHA384zDHE-RSA-AES128-SHA256zDHE-RSA-AES256-SHA256zDHE-RSA-AES128-GCM-SHA256zDHE-RSA-AES256-GCM-SHA384zDHE-DSS-AES128-SHA256zDHE-DSS-AES256-SHA256zDHE-DSS-AES128-GCM-SHA256zDHE-DSS-AES256-GCM-SHA384zECDHE-RSA-AES128-SHA256zECDHE-RSA-AES256-SHA384zECDHE-RSA-AES128-GCM-SHA256zECDHE-RSA-AES256-GCM-SHA384zECDHE-ECDSA-AES128-SHA256zECDHE-ECDSA-AES256-SHA384zECDHE-ECDSA-AES128-GCM-SHA256zECDHE-ECDSA-AES256-GCM-SHA384zADH-AES128-SHA256zADH-AES256-SHA256zADH-AES128-GCM-SHA256zADH-AES256-GCM-SHA384z
AES128-CCMz
AES256-CCMzDHE-RSA-AES128-CCMzDHE-RSA-AES256-CCMz AES128-CCM8z AES256-CCM8zDHE-RSA-AES128-CCM8zDHE-RSA-AES256-CCM8zECDHE-ECDSA-AES128-CCMzECDHE-ECDSA-AES256-CCMzECDHE-ECDSA-AES128-CCM8zECDHE-ECDSA-AES256-CCM8zARIA128-GCM-SHA256zARIA256-GCM-SHA384zDHE-RSA-ARIA128-GCM-SHA256zDHE-RSA-ARIA256-GCM-SHA384zDHE-DSS-ARIA128-GCM-SHA256zDHE-DSS-ARIA256-GCM-SHA384zECDHE-ECDSA-ARIA128-GCM-SHA256zECDHE-ECDSA-ARIA256-GCM-SHA384zECDHE-ARIA128-GCM-SHA256zECDHE-ARIA256-GCM-SHA384zPSK-ARIA128-GCM-SHA256zPSK-ARIA256-GCM-SHA384zDHE-PSK-ARIA128-GCM-SHA256zDHE-PSK-ARIA256-GCM-SHA384zRSA-PSK-ARIA128-GCM-SHA256zRSA-PSK-ARIA256-GCM-SHA384zECDHE-ECDSA-CAMELLIA128-SHA256zECDHE-ECDSA-CAMELLIA256-SHA384zECDHE-RSA-CAMELLIA128-SHA256zECDHE-RSA-CAMELLIA256-SHA384z PSK-NULL-SHAzDHE-PSK-NULL-SHAzRSA-PSK-NULL-SHAz PSK-RC4-SHAzPSK-3DES-EDE-CBC-SHAzPSK-AES128-CBC-SHAzPSK-AES256-CBC-SHAzDHE-PSK-RC4-SHAzDHE-PSK-3DES-EDE-CBC-SHAzDHE-PSK-AES128-CBC-SHAzDHE-PSK-AES256-CBC-SHAzRSA-PSK-RC4-SHAzRSA-PSK-3DES-EDE-CBC-SHAzRSA-PSK-AES128-CBC-SHAzRSA-PSK-AES256-CBC-SHAzPSK-AES128-GCM-SHA256zPSK-AES256-GCM-SHA384zDHE-PSK-AES128-GCM-SHA256zDHE-PSK-AES256-GCM-SHA384zRSA-PSK-AES128-GCM-SHA256zRSA-PSK-AES256-GCM-SHA384zPSK-AES128-CBC-SHA256zPSK-AES256-CBC-SHA384zPSK-NULL-SHA256zPSK-NULL-SHA384zDHE-PSK-AES128-CBC-SHA256zDHE-PSK-AES256-CBC-SHA384zDHE-PSK-NULL-SHA256zDHE-PSK-NULL-SHA384zRSA-PSK-AES128-CBC-SHA256zRSA-PSK-AES256-CBC-SHA384zRSA-PSK-NULL-SHA256zRSA-PSK-NULL-SHA384zECDHE-PSK-RC4-SHAzECDHE-PSK-3DES-EDE-CBC-SHAzECDHE-PSK-AES128-CBC-SHAzECDHE-PSK-AES256-CBC-SHAzECDHE-PSK-AES128-CBC-SHA256zECDHE-PSK-AES256-CBC-SHA384zECDHE-PSK-NULL-SHAzECDHE-PSK-NULL-SHA256zECDHE-PSK-NULL-SHA384zPSK-CAMELLIA128-SHA256zPSK-CAMELLIA256-SHA384zDHE-PSK-CAMELLIA128-SHA256zDHE-PSK-CAMELLIA256-SHA384zRSA-PSK-CAMELLIA128-SHA256zRSA-PSK-CAMELLIA256-SHA384zECDHE-PSK-CAMELLIA128-SHA256zECDHE-PSK-CAMELLIA256-SHA384zPSK-AES128-CCMzPSK-AES256-CCMzDHE-PSK-AES128-CCMzDHE-PSK-AES256-CCMzPSK-AES128-CCM8zPSK-AES256-CCM8zDHE-PSK-AES128-CCM8zDHE-PSK-AES256-CCM8zECDHE-RSA-CHACHA20-POLY1305zECDHE-ECDSA-CHACHA20-POLY1305zDHE-RSA-CHACHA20-POLY1305zPSK-CHACHA20-POLY1305zECDHE-PSK-CHACHA20-POLY1305zDHE-PSK-CHACHA20-POLY1305zRSA-PSK-CHACHA20-POLY1305)‚ZTLS_RSA_WITH_NULL_SHA256ZTLS_RSA_WITH_AES_128_CBC_SHA256ZTLS_RSA_WITH_AES_256_CBC_SHA256ZTLS_RSA_WITH_AES_128_GCM_SHA256ZTLS_RSA_WITH_AES_256_GCM_SHA384Z"TLS_DH_RSA_WITH_AES_128_CBC_SHA256Z"TLS_DH_RSA_WITH_AES_256_CBC_SHA256Z"TLS_DH_RSA_WITH_AES_128_GCM_SHA256Z"TLS_DH_RSA_WITH_AES_256_GCM_SHA384Z"TLS_DH_DSS_WITH_AES_128_CBC_SHA256Z"TLS_DH_DSS_WITH_AES_256_CBC_SHA256Z"TLS_DH_DSS_WITH_AES_128_GCM_SHA256Z"TLS_DH_DSS_WITH_AES_256_GCM_SHA384Z#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256Z#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256Z#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256Z#TLS_DHE_RSA_WITH_AES_256_GCM_SHA384Z#TLS_DHE_DSS_WITH_AES_128_CBC_SHA256Z#TLS_DHE_DSS_WITH_AES_256_CBC_SHA256Z#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256Z#TLS_DHE_DSS_WITH_AES_256_GCM_SHA384Z%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256Z%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384Z%TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256Z%TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384Z'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256Z'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384Z'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256Z'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384Z#TLS_DH_anon_WITH_AES_128_CBC_SHA256Z#TLS_DH_anon_WITH_AES_256_CBC_SHA256Z#TLS_DH_anon_WITH_AES_128_GCM_SHA256Z#TLS_DH_anon_WITH_AES_256_GCM_SHA384ZRSA_WITH_AES_128_CCMZRSA_WITH_AES_256_CCMZDHE_RSA_WITH_AES_128_CCMZDHE_RSA_WITH_AES_256_CCMZRSA_WITH_AES_128_CCM_8ZRSA_WITH_AES_256_CCM_8ZDHE_RSA_WITH_AES_128_CCM_8ZDHE_RSA_WITH_AES_256_CCM_8ZECDHE_ECDSA_WITH_AES_128_CCMZECDHE_ECDSA_WITH_AES_256_CCMZECDHE_ECDSA_WITH_AES_128_CCM_8ZECDHE_ECDSA_WITH_AES_256_CCM_8Z TLS_RSA_WITH_ARIA_128_GCM_SHA256Z TLS_RSA_WITH_ARIA_256_GCM_SHA384Z$TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256Z$TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384Z$TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256Z$TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384Z(TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256Z(TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384Z&TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256Z&TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384Z TLS_PSK_WITH_ARIA_128_GCM_SHA256Z TLS_PSK_WITH_ARIA_256_GCM_SHA384Z$TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256Z$TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384Z$TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256Z$TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384Z,TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256Z,TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384Z*TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256Z*TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384ZPSK_WITH_NULL_SHAZDHE_PSK_WITH_NULL_SHAZRSA_PSK_WITH_NULL_SHAZPSK_WITH_RC4_128_SHAZPSK_WITH_3DES_EDE_CBC_SHAZPSK_WITH_AES_128_CBC_SHAZPSK_WITH_AES_256_CBC_SHAZDHE_PSK_WITH_RC4_128_SHAZDHE_PSK_WITH_3DES_EDE_CBC_SHAZDHE_PSK_WITH_AES_128_CBC_SHAZDHE_PSK_WITH_AES_256_CBC_SHAZRSA_PSK_WITH_RC4_128_SHAZRSA_PSK_WITH_3DES_EDE_CBC_SHAZRSA_PSK_WITH_AES_128_CBC_SHAZRSA_PSK_WITH_AES_256_CBC_SHAZPSK_WITH_AES_128_GCM_SHA256ZPSK_WITH_AES_256_GCM_SHA384ZDHE_PSK_WITH_AES_128_GCM_SHA256ZDHE_PSK_WITH_AES_256_GCM_SHA384ZRSA_PSK_WITH_AES_128_GCM_SHA256ZRSA_PSK_WITH_AES_256_GCM_SHA384ZPSK_WITH_AES_128_CBC_SHA256ZPSK_WITH_AES_256_CBC_SHA384ZPSK_WITH_NULL_SHA256ZPSK_WITH_NULL_SHA384ZDHE_PSK_WITH_AES_128_CBC_SHA256ZDHE_PSK_WITH_AES_256_CBC_SHA384ZDHE_PSK_WITH_NULL_SHA256ZDHE_PSK_WITH_NULL_SHA384ZRSA_PSK_WITH_AES_128_CBC_SHA256ZRSA_PSK_WITH_AES_256_CBC_SHA384ZRSA_PSK_WITH_NULL_SHA256ZRSA_PSK_WITH_NULL_SHA384ZECDHE_PSK_WITH_RC4_128_SHAZECDHE_PSK_WITH_3DES_EDE_CBC_SHAZECDHE_PSK_WITH_AES_128_CBC_SHAZECDHE_PSK_WITH_AES_256_CBC_SHAZ!ECDHE_PSK_WITH_AES_128_CBC_SHA256Z!ECDHE_PSK_WITH_AES_256_CBC_SHA384ZECDHE_PSK_WITH_NULL_SHAZECDHE_PSK_WITH_NULL_SHA256ZECDHE_PSK_WITH_NULL_SHA384Z PSK_WITH_CAMELLIA_128_CBC_SHA256Z PSK_WITH_CAMELLIA_256_CBC_SHA384Z$DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256Z$DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384Z$RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256Z$RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384Z&ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256Z&ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384ZPSK_WITH_AES_128_CCMZPSK_WITH_AES_256_CCMZDHE_PSK_WITH_AES_128_CCMZDHE_PSK_WITH_AES_256_CCMZPSK_WITH_AES_128_CCM_8ZPSK_WITH_AES_256_CCM_8ZDHE_PSK_WITH_AES_128_CCM_8ZDHE_PSK_WITH_AES_256_CCM_8Z+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256Z-TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256Z)TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256Z%TLS_PSK_WITH_CHACHA20_POLY1305_SHA256Z+TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256Z)TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256Z)TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256ÚTLSV1_2_CIPHER_SUITESÚTLS_AES_128_GCM_SHA256ÚTLS_AES_256_GCM_SHA384ÚTLS_CHACHA20_POLY1305_SHA256ÚTLS_AES_128_CCM_SHA256ÚTLS_AES_128_CCM_8_SHA256)r‡rˆr‰rŠr‹ÚTLSV1_3_CIPHER_SUITES)r)r*r&r'ÚTLS_CIPHER_SUITESÚOPENSSL_CS_NAMES)6rUr7ÚabcrrÚtypingrrrrrr    r
r Zcharsetsr rÚerrorsrrrXrWrrrr$rVrUr%r(r+r1r:r;rZr]r˜r½rÈrórr*r+r6r?rVrƒr„r…r†rŒrÚvaluesrŽr/r/r/r0Ú<module>s@(     Í$6    "n=IkB.EöÎ6€ú û    ü"ü